多表数据存储原理与范式应用教程.pptx

第十章多表连接查询

组合查询将数据存储在多表的原因01范式02连接查询03目录contents高级连接查询0405

01数据存储在多表的原因

数据存储在多表的原因为什么不用一个表存储数据,非要使用多个表呢,下面通过例子介绍其原因。假设有如下结构的关系。当一名学生考完某课后,其信息就会在student表中以一条记录的形式存储。下面列出student关系所存在的问题。(1)数据冗余。某个学生可能考了多门课程,有多个成绩,所以该生的“学号”、“姓名”、“性别”和“来源地”就会有多次重复,请参考表10.1所示。(2)更新异常。由于数据冗余,如果要更改“张三”的来源地为“福建省”时,必须要更改多条记录,一旦遗忘了更改某条记录,“张三”就会有两个不同的来源地。(3)插入异常。如果某学生没有考任何考试,则无法将这名学生的学号、姓名、性别、来源地等信息插入到表内。因为,student中学号和课号组成了一个码,码值的一部分为空的记录,是不能被插入到表中的。(4)删除异常。如果一名学生的考试成绩全部作废,需要删除,则其正常信息也会随之被删除。这样就丢掉了一部分有用的信息。由于上述原因,数据就被放到了不同的多个表中。多表连接学号姓名性别来源地课号课名考试成绩0001张三男广东省001邓小平理论860001张三男广东省002心理学850001张三男广东省003教育学900001张三男

文档评论(0)

1亿VIP精品文档

相关文档