对以下的关系模式, 分别写出:(1)码 ,主属性,非主属性?(2)函数依赖?(3)属于第几范式?为什么?(4)有什么问题?(5)如何分解?分解后能否达到几范式? 原问题是否解决?ps(函数依赖的方法:

1.先找出码,再写出码函数依赖:码-〉其他属性

2.再写出其他非码的函数依赖

)1 SCG(Sno, Sname, Sage, Cno, Grade)  (1)码:(SNO,CNO) 主属性: SNO,CNO    非主属性:SNAME,SAGE,GRADE(2)函数依赖:(SNO,CNO)-〉SNAME,(SNO,CNO)-〉SAGE,(SNO,CNO)-〉GRADE                    SNO-〉SNAME,SNO-〉SAGE(3)属于第几范式,为什么?存在非主属性sname部分函数依赖于码,是1范式(4)有什么问题? 问题⒈ 数据冗余大 每一个学生的姓名年龄重复出现 浪费大量的存储空间 问题⒉ 修改困难 例:某学生要修改姓名或年龄,系统必须修改多次 问题3.插入异常 假设某学生(新生)还未选课,因课号是主属性,按实体完整性约束,该学生的信息无法插入 ----该插入的不能插入 问题4.删除异常 假定某个学生本来只选修了一门课。现在因身体不适,他连这门程也不选修了,要删除该选课。此操作将导致该学生信息也被删除 -----不该删的删了 (5)如何分解?分解后能否达到几范式? 原问题是否解决?S(SNO,SNAME,SAGE)SC(SNO,CNO,GRADE)达到2NF,原问题解决学生Sname,Sage不重复存储Sname,Sage的修改只改一次学生未选课,也能插入到S表 一个学生选课全删除,学生信息还存在 2 SP(SNO, SNAME,SCITY, PNO, PNAME, QTY)     供应商号,供应商名,供应商城市,零件号,零件名,数量(1)码:(SNO,PNO) 主属性:SNO,PNO 非主属性:SNAME,SCITY,PNAME,QTY(2)函数依赖:(SNO,PNO)->SNAME,(SNO,PNO)->SCITY,(SNO,PNO)->PNAME,(SNO,PNO)->QTY,

SNO->SNAME,SNO->SCITY,PNO->PNAME(3)属于第几范式,为什么?存在非主属性SNAME部分函数依赖于码,是1范式(4)有什么问题?数据冗余,修改困难,插入异常,删除异常(5)如何分解?分解后能否达到几范式? 原问题是否解决?S(SNO,SNAME,SCITY)P(PNO,PNAME)SP(SNO,PNO,QTY)达到2NF,原问题解决1 SL(SNO,SNAME,SDEPT,SLOC) 学号, 姓名, 系名, 系住处 ,一个系的学生住处相同 (1)码: SNO 主属性:SNO 非主属性:SNAME,SDEPT,SLOC  (2)函数依赖: Sno→Sdept Sno→Sname Sno→Sloc Sdept→Sloc (3)属于第几范式,为什么?存在非主属性SLOC传递函数依赖于码,是2范式 (4)有什么问题? 数据冗余度大:每个系的学生都住在同一个地方,关于系的住处的信息却要重复存储与该系学生人数相同的次数。 修改困难:当学校调整学生住处时,比如信息系的学生全部迁到另一个地方住,由于每个系住处的信息重复存储,修改时必须同时更新该系所有学生的Sloc 插入异常:如果某个系刚成立,目前暂时没有在校学生,无法把系住处的信息存入数据库。 删除异常:如果某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系住处的信息也删除了。 (5)如何分解?分解后能否达到几范式? 原问题是否解决? SD(Sno, Sname, Sdept) DL(Sdept, Sloc)  原问题解决 存储系住处信息不再冗余 修改系住处容易 新系成立可以插入 删除一个系的所有学生,系的信息仍然存在2职工(职工编号,姓名,基本工资,职务,职务工资 )    职工编号不重复,每种职务有固定的职务工资 (1)码: 职工编号 主属性:职工编号  非主属性: 姓名,基本工资,职务,职务工资 (2)函数依赖:  职工编号->姓名, 职工编号->基本工资, 职工编号->职务, 职工编号->职务工资 职务->职务工资 (3)属于第几范式,为什么?

存在非主属<职务工资>性传递函数依赖于码,是2范式  (4)有什么问题?  职务工资数据冗余,每个职务的工资会多次出现。 修改职务工资困难,想要修改相应职务的工资需要修改多次。 插入异常,如果有一个新职务,但没有职工获得这个职务,该职务便无法插入。 删除异常,删除一个职务的所有职工会删除这个职务的信息。 (5)如何分解?分解后能否达到几范式? 原问题是否解决? 职工(职工编号,姓名,基本工资,职务 )  职务(职务,职务工资 )  原问题解决 3销售发票(发票号,商品号,商品名,数量,销售单价,日期)    发票号不重复,每个商品号有一个商品名[10分] (1)码: 发票号 主属性: 发票号 非主属性:商品号,商品名,数量,销售单价,日期   (2)函数依赖: 发票号->商品号,发票号->商品名,发票号->数量,发票号->销售单价,发票号->日期   商品号->商品名 (3)属于第几范式,为什么?

存在非主属<商品名>性传递函数依赖于码,是2范式   (4)有什么问题?   商品名数据冗余,每个商品的商品名会多次出现。

修改商品名困难,要修改商品名要修改多次。

如有新商品,但没有卖出去开不出发票,商品名便无法插入。

删除一个商品名的所有发票会删除这个商品的信息 (5)如何分解?分解后能否达到几范式? 原问题是否解决?   销售发票(发票号,商品号,数量,销售单价,日期)  商品(商品号,商品名)  原问题解决  1 关系模式 STC(S,T,C)            S学生,T教师,C课程。(1)每一位教师仅教一门课,每门课有若干个教师教

(2)某个学生选定一门课后,就对应一个确定的教师(不能重复选同一门课)

(3)某个学生选定一个教师后,就对应一门确定的课程   (1)码:(S,C),(S,T) 主属性:S,C,T,非主属性:无  (2)函数依赖? T->C,(S,C)->T ,(S,T)->C  (3)属于第几范式?为什么?  函数依赖T->C左边不含有码,存在主属性对码的部分函数依赖,达不到BCNF, 但又不存在非主属性对码传递依赖和部分函数依赖,是3范式 (4)有什么问题? 数据仍有许多冗余。教师上课的信息与学生选此课的人数一样多。 更新异常:某教师上课的信息要修改,要改多行。 插入异常:当某门课本学期不开,自然就没有学生选修。没有学生选修,教师上该课程的信息就无法插入到数据库中。 删除异常:当学生修完某课程,则把此学生记录删除的同时,也删除了教师开该课程的信息。 (5)如何分解?分解后能否达到几范式? 原问题是否解决?  ST(S,T)  TC(T,C)  达到BCNF,问题解决    

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。