
第三題:
公部門 辦事處 同仁
有 配屬
名稱 事項
掌控
業務
名稱
編號
參與
1 N 1 N
M
N
1
N
編號
姓名
地址
職等
性別
生日
開始日期
名稱
某公部門計畫開發一套資料庫應用系統,依據其需求而有以上之實體關係圖,今假設資
料的處理量將極為龐大、且以查詢為主要需求,因此考慮將資料儲存於文件式(document)的
NoSQL 資料庫,並有下列查詢需求:
(一)透過公部門,查詢其所有的辦事處、以及每個辦事處配屬的同仁資料。
(二)透過業務,查詢參與的同仁、以及同仁所屬的辦事處資料。
請依據以上實體關係圖以及查詢需求,設計出此文件式 NoSQL 資料庫的資料儲存模式
(Data Schema)。【 25 分】
第四題:
下表中是一 SQL 資料庫中的一個資料表,名稱是 BranchSales,此表中除了 SalesID 欄
位是字串格式外,其餘欄位都是整數格式。
(一)上表中如果要查出哪一個 SalesID,他的 Achievement 大於 130000 且Budget
大於 150000 者,請寫出 SQL 查詢語句。【4分】
(二)上表中我們想要更改 SalesID=’000040’的Salary=5000,請寫出 SQL 的語句。
【4分】
(三)如果要從上表中求出 Achievement 欄位的平均值,請寫出 SQL 查詢語句。【4分】
(四)如果要加入一筆新的資料如下: SalesID =’000060’、Achievement=140000、
Budget=170000、Salary=5700,請寫出 SQL 語句。【4分】
(五)下列以 VB 程式,利用 OleDb 來連接至 Microsoft Access 的BranchSales 來執行
第1小題的程式片段,程式一開始利用 OLEDB.4.0 來建立連接,假設其中的
queryString 就是第 1小題的字串,請完成方塊中的程式片段。(註:方塊中的程
式片段中會將 OleDbConnection 連接至開啟,並且宣告一個 Data Reader 去讀
取資料庫中的資料,然後將 Data Reader 所讀取到的資料,一行行的印出,最後
關掉 Data Reader。)【9分】
⋯⋯
Public Class Program
Public Shared Sub Main()
Dim connectionString As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& "c:DataBranchSales.mdb;User Id=admin;Password=;"
Dim queryString As String = _
"SELECT ⋯⋯⋯⋯"
Dim paramValue As Integer = 5
Using connection As New OleDbConnection(connectionString)
Dim command As New OleDbCommand(queryString, connection)
command.Parameters.AddWithValue("@pricePoint", paramValue)
Try
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Console.ReadLine()
End Using
End Sub