
第三題:   
 
公部門 辦事處 同仁
有 配屬
名稱 事項
掌控
業務
名稱
編號
參與
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