羅德興老師的教學歷程檔案 - 112-2 資料庫管理系統 (DBMS) - 正規化 (NF) 練習 |
|
|
正規化 (NF) 練習正規化 (NF) 練習(Sources: https://www.mis.nsysu.edu.tw/db-book/pro_ch8.html ) Ex. 1 假設你有一個名為Transaction 的關聯綱目如下,用來記載讀者買書的交易: Transaction (isbn, title, publisherId, publisherName, readerId, name, dateTime, unitPrice, number) 函數相依如下: isbn → {title, publisherId} publisherId → {publisherName} readerId → name {isbn, readerId, dateTime} → {unitPrice, number} A.請問主鍵為何? B. 請分解成滿足2NF 的關聯綱目 (但不是3NF)。 C. 請分解成滿足3NF 的關聯綱目。 (Sol:) A.isbn + readerId + dateTime B.
C.
Ex. 2 考慮一關聯綱目 R (A, B, C, D, E, F),假設有以下的函數相依: {A, B}→{C, F} B → D C → E F → A A. 列出可由以上函數相依所推導出的所有函數相依。 B. 請列出R 的所有可能關聯鍵。 *C. 請將R 分解成滿足BCNF 的關聯綱目。請問這樣的分解是否為保留函數相依的分解?若否,有哪些函數相依是無法藉由檢查個別關聯來確定? (Sol:) A. B. C. Ex. 3 假設你有一關聯綱目T(A1, A2, A3, A4),並且A4 → A2。於是你有以下三種方式來處理: 1. 僅保留T (A1, A2, A3, A4) 2. 分解成T1 (A1, A4, A3),T2(A4, A2) 3. 分解成T1 (A1, A2, A3),T2(A4, A2) 請討論每一種方式對於以下每一個函數相依的檢查是否可以藉由檢查個別關聯綱目的關聯鍵限制來達成: A. {A1, A2} → A3 B. {A1, A2} → A4 C. A4 → A2 D. {A1, A4} → A2 E. {A1, A4} → A3 此外,也請討論每一種方式是否可能會產生虛假序列值和是否滿足BCNF。 (Sol:)
Ex. 4 假設你有下列的關聯綱目 R,用來記錄大學課程的資料: R (CourseNo, OfferingDeptNo, OfferingDeptName, Semester, Year, RoomNo,Address, BuildingName, RoomSize, InstructorId) 並有下列的函數相依: CourseNo → OfferingDeptNo OfferingDeptNo → OfferingDeptName {CourseNo, Semester, Year} → {RoomNo, Address, InstructorId} {RoomNo, Address}→ {BuildingName, RoomSize} BuildingName → Address A. 哪些屬性合成關聯鍵? B. 請將R 分解成滿足2NF 的關聯綱目 (但不是3NF)。 C. 請將R 分解成滿足3NF 的關聯綱目 (但不是BCNF)。 *D. 請將R 分解成滿足BCNF 的關聯綱目。 (Sol:) Ex. 5 假設你有下列的關聯綱目 B,用來記載大學圖書館的書籍資料:B (callNumber, seqNum, author, title, publisherName, publisherAddress, publisherPhone, storeBranch) 並有下列函數相依: callNumber → {title, publisherName} publisherName → {publisherAddress, publisherPhone} {callNumber, seqNum} → storeBranch callNumber author /* 多值相依 */ A. 哪些屬性合成關聯鍵? B. 請將B 分解成滿足2NF 的關聯綱目 (但不是3NF)。 C. 請將B 分解成滿足3NF 的關聯綱目 (但不是4NF)。 D. 請將B 分解成滿足4NF 的關聯綱目。 (Sol:) A.{callNumber, seqNum, author} B. C. D. Ex. 6 ( 98年三等關務人員考試 資料庫應用 ) 三、R (A, B, C, D) 為一個關聯式資料庫的表格,包含 A、B、C、D 四個屬性,其中 {A, B} 與 {A, C} 為該表格的兩個候選鍵 (Candidate Key)。另外,該表格有四個功能相依 (Functional Dependency):{A, B} → {D}、{A, C} → {D}、{B}→ {C}、{C} → {B}。 (一)表格 R 屬於第幾正規型式 (Normal Form)?(10分) (二)請將表格 R 做正規化 (Normalization),寫出每一個正規化後的表格的綱要 (Schema),包括表格名稱、屬性、主鍵、以及外來鍵 (如果有的話)。(10分)
|
|
中華科技大學數位化學習歷程 - 意見反應 |