有STUDENT(Number,Name,Dorm,RoomType,DormCost,Club,ClubCost,Sibling,Nickname)假設學生所付的住宿費是不同的,這取決於房子的類型,但同一個俱樂部的成員所付費用是相同的,假設一個學生可能有多個昵稱。
A.給出存在的多值依賴。
B.給出存在的函數依賴
C.將此表換成一張或多張 BCNF 和4NF的表,並指出它們的主關鍵字,候選關鍵字,外鍵及引用完整 性約束。
剛學數據庫,不會做,哪位朋友能給我點解題思路 。晚輩在此先謝過了!
經過半天的思考,我自己對這題給出了一個自己的答案 ,不知是否合理,還請大家多多指導!
A.Name ->->Sibling,Name->->Nickname
B .(Number,Name)->(Dorm,RoomType,DormCost,Club,ClubCost,Sibling,NickName)
(Dorm,RoomType)->DormCost
Club->ClubCost
C.Student ( Number , Name , Dorm , Club )
Dorm ( * Dorm * ,RoomType,DormCost)
Club ( * Club * ,ClubCost)
Nickname( * Name * ,Sibling,Nickname)
字體為斜體的是外鍵,加粗的為本表關鍵字,
創建引用 完整性約束
Dorm.Dorm必須存在於Student.Dorm之中
Club.Club必須存在於Student.Club之中
Nickname.Name必須存在於Student.Name之中。