数据库原理-第6章:关系数据理论问题的提出
Posted 可能自洽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库原理-第6章:关系数据理论问题的提出相关的知识,希望对你有一定的参考价值。
1.问题的提出
1.1 建立一个描述学校教务的数据库
(1)涉及的对象包括:
学生的学号(Sno)
所在系(Sdept)
系主任姓名(Mname)
课程号(Cno)
成绩(Grade)
单一的关系模式 : Student <U、F>
U ={ Sno, Sdept, Mname, Cno, Grade }
(2)我们已知,一个系有若干学生, 但一个学生只属于一个系;一个系只有一名主任;一个学生可以选修多门课程, 每门课程有若干学生选修;每个学生所学的每门课程都有一个成绩。
1.2 关系模式Student <U, F>中存在的问题:
(1)数据冗余太大
浪费大量的存储空间
例:每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。
(2)更新异常(Update Anomalies)
数据冗余 ,更新数据时,维护数据完整性代价大。
例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组。
(3)插入异常(Insertion Anomalies)
该插入的数据插入不进去
例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。
(4)删除异常(Deletion Anomalies)
不该删除的数据不得不删
例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了
1.3 解决之道:分解(基本原则: 一事一地)
如 student(Sno, Sdept, Dname, Cno, Grade),涉及到:学生、系、学生选课三件事
把这个单一模式分成3个关系模式:
S(Sno, Sdept)
SC(Sno, Cno, Grade)
DEPT(Sdept, Mname)
以上是关于数据库原理-第6章:关系数据理论问题的提出的主要内容,如果未能解决你的问题,请参考以下文章