109 一般警察特考三等 警察資訊管理人員 資料庫應用 考古題詳解
第 一 題30 分
繪出下列資料項結合關係的組合結構圖:學號(Student#)、學生姓名(Student–Name)、學生電話號碼(Telephone#)、課號(Course#)、課程名稱(Course–Name)、教師姓名(Instructor–Name)、教師辦公室號碼(Instructor–Office#)、系所單位(Units)。並說明各資料錄的主鍵或組合鍵為何?
登入後即可作答並保存紀錄。
核心觀念
本題考查資料項(data item)如何組成資料錄(record),以及資料錄的主鍵或組合鍵如何判定。組合結構圖由下而上表示「資料項 → 資料錄 → 檔案」的階層;同一資料項也可能出現在不同資料錄中。
主鍵(primary key)是能唯一識別資料錄的資料項或資料項組合。若單一資料項不足以唯一識別資料錄,則以多個資料項組成組合鍵(composite key)。
解題方法
依題目所列資料項,先按描述對象分組,再判斷各組記錄的識別方式:
- 學生資料:學號、學生姓名、學生電話號碼。學號用來識別學生,因此以學號作為主鍵。
- 課程資料:課號、課程名稱、教師姓名、教師辦公室號碼、系所單位。課號用來識別課程,因此以課號作為主鍵。
- 選課資料:學號與課號共同描述一筆「某學生修習某課程」的關係。同一學生可修多門課,同一課程也可有多位學生,因此兩者合組為主鍵。
組合結構圖
第 二 題30 分
樹狀(Tree)資料結構,除樹根外,各節點只有一條進來的路,但卻可以分出零條或多條路徑,而二元順序樹是指該樹左指標所指元素的鍵值都比節點本身元素的鍵值小,右指標所指元素的鍵值都比節點本身元素的鍵值大,請依序將下列數列插入以建立二元順序樹,並將該樹繪出。
數列:、、、、、、、、、、
登入後即可作答並保存紀錄。
核心觀念
本題考二元搜尋樹(Binary Search Tree, BST)的逐筆插入與繪圖。依題目定義,對每個節點而言:
- 左子樹的鍵值都小於該節點。
- 右子樹的鍵值都大於該節點。
- 依序插入時,每個新鍵值都從根節點開始比較,較小就往左、較大就往右,直到找到空位置後插入。
解題方法
依題目數列順序插入,逐一記錄比較路徑:
- 插入 :作為根節點。
- 插入 :,放在 的右側。
- 插入 :,往右;,放在 的右側。
- 插入 :,往右;,放在 的左側。
- 插入 :依序與 比較皆較大,放在 的右側。
- 插入 :,往右;,往左;,放在 的右側。
- 插入 :,往右;,往左;,往右;,放在 的左側。
- 插入 :,往右;,放在 的左側。
第 三 題20 分
資料錄內常用的結構分別為位置式、關連式、索引式、標記式與固定帶溢位式等五種,請問何種方式最適合固定長度欄位的資料錄?在每欄的前面加上識別符號的是那種方式?使用分界符號(delimiter)指出每欄結尾的是那種方式?將每欄結尾記錄於資料錄開頭索引目錄的是那種方式?
登入後即可作答並保存紀錄。
核心觀念
本題考查資料錄(record)中各欄位的組織方式,判斷依據是欄位長度是否固定,以及欄位邊界如何表示。題目列出的五種方式,各有不同的欄位定位原則:
- 位置式(positional):欄位依固定位置排列;已知欄位長度後,即可按位移找到欄位。
- 關連式(relational):在欄位前加上識別符號,標明欄位名稱或種類。
- 標記式(tagged):以標記或識別符號指出欄位的身分。
- 分界符號式(delimiter):以分界符號標出欄位結尾。
- 索引式(indexed):將欄位結尾位置記在資料錄開頭的索引目錄中。
- 固定帶溢位式(fixed field with overflow):以固定欄位為基本配置,遇到超出預留空間的資料時另以溢位區處理。
解題方法
依題目描述的「定位線索」直接對應資料錄結構:
第 四 題20 分
假設關聯式資料表 ,其資料間功能相依為:
請問如何切割可維持無損連結(lossless join)?
登入後即可作答並保存紀錄。
核心觀念
本題考查關聯式資料庫的無損分解。將關係 分解成數個子關係後,若以自然連結重組,恰能還原原關係,不會產生額外的虛假資料列,即稱為無損分解。
題目給定:
由 可知 是 的候選鍵。又因 ,可將 交由 決定,不必與 放在同一個子關係中。
二元分解 為 的無損判定條件是:共同屬性必須能函數決定其中一個子關係的全部屬性,也就是
解題方法
依照函數相依 ,分解為:
兩個子關係的共同屬性為: