- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库第六章-杜伟章
数据库原理与设计 数据库原理与设计 数据库原理与设计 本章概要 1、知识回顾:前面已经学习了关系数据库、关系模型的基本概念以及关系数据库的标准语言。 2、问题的提出:面对一个现实问题,如何选择一个比较好的关系模式的集合,每个关系又应该由哪些属性组成。这属于数据库设计的问题,确切地讲是数据库逻辑设计的问题。 3、解决问题的手段:关系数据库规范化理论,这是数据库逻辑设计的理论依据。 要掌握的知识点: 要求了解规范化理论的研究动机及其在数据库设计中的作用, 掌握函数依赖的有关概念, 第一范式、第二范式、第三范式、BC范式的定义, 重点掌握并能够灵活运用关系模式规范化的方法和关系模式分解的方法,这也是本章的难点。 要点 关系规范化理论研究背景 数据依赖 规范化(Normalization)理论 1NF、2NF、3NF、BCNF、4NF等范式 关系模式规范化的必要性及方法 6.1 问题的提出 问题提出: 针对一个具体问题,如何设计一个好的关系数据库模式? 即应该包括多少关系模式,而每一个关系模式又应该包括哪些属性,这些工作决定了整个系统运行的效率,也是系统成败的关键所在,所以必须在关系数据库的规范化理论的指导下逐步完成。确切地讲是数据库逻辑设计的问题。 6.1.1 关系模式的存储异常问题 数据库的逻辑设计为什么要遵循一定的规范化理论? 什么是好的关系模式? 某些不好的关系模式可能导致哪些问题? 下面通过例子进行分析: 一个例子:教学管理数据库 其关系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) SNO表示学生学号,SN表示学生姓名,AGE表示学生年龄,DEPT表示学生所在的系别,MN表示系主任姓名,CNO表示课程号,SCORE表示成绩。 根据实际情况,这些数据有如下语义: 1. 一个系有若干个学生,但一个学生只属于一个系; 2. 一个系只有一名系主任; 3. 一个学生可以选修多门功课,每门课程可由若干学生选修; 4. 每个学生学习课程有一个成绩。 在此关系模式中填入一部分具体的数据,则可得到SCD关系模式的实例,即一个教学管理数据库,如图6.1所示。 图6.1 关系SCD 2. 插入异常 如果某个新系没有招生,尚无学生时,则系名和系主任的信息无法插入到数据库中。 某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。 另外,如果某个学生只选了C1课程,当他不再选修C1课程时,本应该只删去C1,但C1是主键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也随之丢失。 如果学生改名,则该学生的所有记录都要逐一修改SN; 又如某系更换系主任,则属于该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。 由于存在以上问题,我们说,SCD是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中“包罗万象”,内容太杂了。 那么,怎样才能得到一个好的关系模式呢? 解决之道:分解! 分解!! 再分解!!! 我们把关系模式SCD分解为下面三个结构简单的关系模式,如图6.2所示。 学生关系S(SNO,SN,AGE,DEPT) 选课关系SC(SNO,CNO,SCORE) 系关系D(DEPT,MN) 在以上三个关系模式中,实现了信息的某种程度的分离, S中存储学生基本信息,与所选课程及系主任无关; D中存储系的有关信息,与学生无关; SC中存储学生选课的信息,而与学生及系的有关信息无关。 与SCD相比,分解为三个关系模式后,数据的冗余度明显降低。 当新插入一个系时,只要在关系D中添加一条记录。 当某个学生尚未选课,只要在关系S中添加一条学生记录,而与选课关系无关,这就避免了插入异常。 当一个系的学生全部毕业时,只需在S中删除该系的全部学生记录,而关系D中有关该系的信息仍然保留,从而不会引起删除异常。 同时,由于数据冗余度的降低,数据没有重复存储,也不会引起更新异常。 经过上述分析,我们说分解后的关系模式是一个好的关系数据库模式。 从而得出结论,一个好的关系模式应该具备以下四个条件: 1. 尽可能少的数据冗余。 2. 没有插入异常。 3. 没有删除异常。 4. 没有更新异常。 但要注意,一个好的关系模式并不是在任何情况下都是最优的, 比如查询某个学生选修课程名及所在系的系主任时,要通过连接,而连接所需要的系统开销非常大,因此要以实际设计的目标出发进行设计。 如何按照
您可能关注的文档
- 总结七种防癌水果.ppt
- 总裁桌面产品培训1.41.ppt
- 恒企会计学员整理2012年下半年考试真题.doc
- 恒兴专用车制造有限公司--挂车使用手册.doc
- 恒温恒湿方案设计说明.doc
- 恒际工业园一期监理实施细则.doc
- 悦公馆营销策略思考.ppt
- 悬挑式防坠棚施工方案.doc
- 情境教学法在小学英语在教学中的运用.doc
- 惠州星河丹堤 俯瞰天下万家灯火 !华南师大附中 成就未来!!.ppt
- 机械工程-DZ22合金锭.pdf
- 全民健身设施建设与运营管理报告:2025年健身行业市场细分领域预测.docx
- 中医养生保健机构服务规范及编制说明.pdf
- 全球农业生物技术在农业病虫害生物防治中的应用效果评价报告.docx
- 全球农业生物技术在农业生物技术产业政策环境中的应用现状报告.docx
- 工业互联网平台AR交互技术在工业数据可视化中的应用实践2025年报告.docx
- 2025年社区团购市场运营管理与用户忠诚度提升策略分析报告.docx
- 2025年生物饲料添加剂研发成果的饲料原料替代研究报告.docx
- 中国气体功率分析仪行业市场占有率及投资前景预测分析报告.pdf
- 全球制药行业2025年创新药物研发基因编辑技术药物研发进展报告.docx
文档评论(0)