7.1 关系模式设计中常见问题
“关系模式设计中常见问题”所涉及的考题的分值在本章中所占比重为7%,属于非重点考查对象,由命题走势图7-2可知,本节所涉及考题的分值趋向平稳。

7.1.1 考点1:关系模式设计中的常见问题
数据库设计是数据库应用领域中研究的主要课题。数据库设计过程中关键的问题就是如何把现实世界表达成适合于它们的关系模式,这是数据库的逻辑设计的问题。关系模式的设计除了遵循关系模型本身的规定外,主要凭设计者的经验直观地选择和确定实体集、属性及实体集之间的关系。关系模式的设计好坏严重影响了数据库系统的性能和效率。那么如何来评价关系模式的优劣,下面通过一个具体的关系来考察关系模式在使用中存在的问题。本章节内容来自希赛网IT教育研发中心的计算机等级考试用书 《计算机等级考试考点分析、题解与模拟——三级数据库技术》。
假设有教师关系模式:T(TNAME,ADDRESS,CNO,CNAME)
其中,TNAME——教师姓名,ADDRESS——教师地址,CNO——任教课程编号,CNAME——作者课程名。一个教师可以教多门课,一个教师教一门课则对应到关系中的一个元组。
关系模式T在使用过程中可能出现以下问题。
1.数据冗余
数据库中不必要的重复存储就是数据冗余。如果一个教师教几门课程,那么这个教师的地址就要重复几次存储。本章节内容来自希赛网IT教育研发中心的计算机等级考试用书《计算机等级考试考点分析、题解与模拟——三级数据库技术》。购书请到希赛网第一书店。
2.更新异常
更新异常也称修改异常,由于数据的重复存储,会给更新带来很多麻烦。可能会导致数据不一致,这将直接影响系统的质量。购书请到希赛网第一书店。如果某个教师教5门课,在关系中就会有5个对应的元组。如果这位老师的地址发生变化,这5个元组中的地址都要改变。若有1个元组没有更改,就会造成不一致现象。
3.插入异常
插入元组时出现不能插入的一些不合理现象。如果一个教师刚调来,尚未分派教学任务,那么就无法将教师的姓名和地址存储到关系中去。
4.删除异常
不该删除的数据被删除。如果要取消某个教师的教学任务,在删除该教师教学任务的同时,把该教师及他的地址信息也删除了,这是一种不合适的现象。
由于关系模式存在上述问题,因此这是一个“不好”的关系模式。购书请到希赛网第一书店。一个“好”的关系模式应当不会发生更新异常、插入异常和删除异常,有尽可能少的冗余。那么如何设计一个“好”的关系模式,从1971年起E.F.Codd提出了规范化理论。
规范化理论最初是针对关系模式的设计问题提出的,它不但对于关系模型数据设计,而且对于其他模型数据库的设计也都有重要的意义。
规范化理论主要包括三个方面的内容:函数依赖、范式和关系模式分解。其中函数依赖起核心作用,是模式分解的基础,而范式则是模式分的标准。
本章节内容来自希赛网IT教育研发中心的计算机等级考试用书 《计算机等级考试考点分析、题解与模拟——三级数据库技术》。(购书请见 : http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032475)
例7.1.1 下列哪一条不是由于关系模式设计不当所引起的问题?[2006年4月 选择题第51题]( )
A.数据冗余 B.插入异常 C.删除异常 D.丢失修改
【答案】D