问题描述
- 数据库表的多值依赖和函数依赖
-
有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之中。
时间: 2024-12-21 12:00:59