- 2
- 0
- 约 33页
- 2017-07-16 发布于四川
- 举报
3.2关系的规范化 设计一个的关系数据库,首先要定义一组关系,这组关系定义的好,系统的性能就好,定义的差,系统的性能就差。一般的设计原则是: 数据的冗余度尽量低。 不出现插入、删除等操作异常; 能尽量如实反映现实世界的实际情况,而且又易懂。 这就要求研究关系模式中各属性之间的依赖关系,及其对关系模式性能的影响,探讨关系模式应满足什么样的约束,这就是关系规范化的目的。 学生选课存在的问题: (1)如果一个系刚成立还没有学生,或学生还没有安排课程,则无法将这个系的信息存入数据库,称为插入异常; (2)如果一个系的学生全都毕业了,需要删除学生及学生选课信息,但同时也将该系的信息删除了,这称为删除异常; (3)该关系中有一个学生选课,相关系的信息就要存储一次,冗余太大,容易造成系及系的负责人信息的不一致,造成数据冗余和修改复杂。 同样课程信息的操作也存在着插入异常、删除异常和数据冗余。 上述问题出现的原因 上述问题的出现是因为在学生关系的属性之间存在着数据依赖。 该关系的关键字是SNO(学号)+CNO(课程号) 属性dept(系)和mn(系主任)仅与SNO(学号)有关,而与cno(课程号)无关,即DEPT(系)和MN(系主任)仅函数依赖于属性SNO。 课程名(cname)只与课程号(CNO)有关,与学号(SNO)无
原创力文档

文档评论(0)