- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.2.3 范式 范式:符合某种级别(条件、要求)的关系模式 范式种类 1NF, 2NF, 3NF, BCNF, 4NF,5NF 按级别(条件、要求)由低到高: 1NF ? 2NF ? 3NF ? BCNF ? 4NF ? 5NF 通常称某一关系模式R为第几范式,记作R ? xNF 1NF(First Normal Form) 定义:关系R中每个分量都是不可分割的数据项,则R ?1NF 说明:1NF是关系模式的基本要求 举例: 关系模式S-L-C(学号SNO, 系SDEPT, 住处SLOC, 课程CNO, 成绩G)是1NF 5.2.4 2NF 定义:若R ? 1NF, 且每个非主属性完全依赖于码,则R ? 2NF 说明:不存在非主属性部分依赖于码的关系为2NF 举例:关系模式 S-L-C(SNO, SDEPT, SLOC, CNO, G) 函数依赖图 不是2NF可能出现的问题 插入异常 某学生没有选课时,无法插入其系、住处等信息 删除异常 某学生所有的选课信息都删除后,其系、住处等信息也被删除 修改复杂(更新异常) 学生转系时,除了修改其系名外,还需修改其住处信息;另外,若该学生选修了多门课程,则其对应的重复存储的系、住处等信息需一一修改 冗余 同系的所有学生的住处信息重复存储,同一学生选多门课程时,其系、住处信息重复存储 解决办法 模式分解 依赖关系分析 上例中的模式分解为下列两个模式,该模式是2NF SC(SNO, CNO, G) (SNO, CNO)?G S-L(SNO, SDEPT, SLOC) SNO ? SDEPT, SNO ? SLOC, SDEPT ? SLOC 分解说明 一个1NF,但非2NF的关系总是可以被分解成为一组2NF的关系 规范化过程中通过一组投影运算消除部分依赖,建议作如下分解(第一步分解) 已知关系R(A,B,C,D), (A,B)为主码,即(A,B)-C, (A,B)-D,且A-D, 则将R分解成为两个投影: R1(A,D), A为主码 R2(A,B,C), (A,B)为主码,A为外码 这样,R可以通过R1和R2的自然连接运算得以恢复,即满足分解的无损连接性 5.2.5 3NF 定义:若R?2NF, 且它的任何一个非主属性都不传递依赖于任何候选码,则R ? 3NF 说明:即不存在非主属性部分依赖和传递依赖于码的关系为3NF 推论:不存在非主属性的模式为3NF 上例中得到的关系模式是2NF SC(SNO, CNO, G); S-L(SNO, SDEPT, SLOC); 不是3NF可能存在的问题 插入异常 只有当知道某学生的系时才能插入其住处信息 删除异常 当删除某系对应的所有学生时,有关该系学生住处的信息也被删除掉了 修改异常 一个系及其住处信息重复出现,只更新一个元组中对应的系及其住处时可能导致数据不一致 冗余 同系学生的住处重复存储 解决方法 继续模式分解 如上例中的模式可分解为3NF SC(SNO, CNO, G); (SNO, CNO) ? G S-D(SNO, SDEPT); SNO ? SDEPT D-L(SDEPT, SLOC); SDEPT ? SLOC 分解说明 一个2NF,但非3NF的关系总是可以被分解成为一组3NF的关系 规范化过程中通过一组投影运算消除传递依赖,建议作如下分解(第二步分解) 已知关系R(A,B,C), A为主码(A-B, A-C),且B-C, 则将R分解成为两个投影: R1(B,C), B为主码 R2(A,B), A为主码,B为外码 这样,R可以通过R1和R2的自然连接运算得以恢复,分解满足分解的无损连接性 3NF的进一步说明 在不考虑主属性对码的部分依赖和传递依赖时,可以认为是实现了彻底的分离,已消除了插入异常,删除异常,修改异常,冗余等问题 但是,当关系中存在两个或更多的候选码时,尤其是有几个候选码、且候选码内的属性又有部分复合或交迭时,仅仅满足3NF仍有问题,需要进一步分解成BCNF 5.2.6 BCNF (Boyce/Codd Normal Form) 定义:若每一个决定因素都包含(或是)码,则R? BCNF 说明 BCNF中所有的依赖都是包含码的依赖 一个BCNF范式必是3NF,但一个3NF范式不一定是BCNF (3NF中可能存在主属性对码的部分和传递依赖) BCNF是在函数依赖范畴内对关系模式的彻底分离,已消除了插入和删除异常 通常认为BCNF是扩充的第三范式,一般数据库设计达到BCNF已足够 实例 例1: SJP(学生S, 课程J, 名次P) (S,J)和(J,P) 均为候选码 函数依赖为(S,J)?P, (J,P) ?S 其中,两个决定因素均包含(是)候选码 可见
您可能关注的文档
- 第五章会计核算形式设计.doc
- 英语周报牛津模块九Unit2议论文-对比性议论文.ppt
- 第五章国内外室内设计发展.doc
- 第五章港口商务的管理整理版.doc
- 英语四级写作指导及训练.ppt
- 第五章资源的计划保障组织措施.doc
- 英语四级阅读技巧 [2].ppt
- 第五集搬家到自己空间.doc
- 第八单元交易磋商和合同订立.doc
- 英语国家社会与文化入门[上]Unit20FromRacismtoMulticulturalism.ppt
- Selenium与浏览器自动化:Selenium处理表单与按钮.docx
- Selenium与Python编程结合:自动化Web测试入门教程.docx
- Selenium:Selenium测试脚本编写:Selenium概述与环境搭建.docx
- Selenium:Selenium简介:Selenium测试用例设计与编写.docx
- Selenium:Selenium测试案例:数据驱动测试案例实现.docx
- Selenium高级定位策略与测试框架集成教程.docx
- Postman:Postman脚本编写:使用Tests脚本进行响应验证.docx
- Postman:Postman自动化测试:Postman高级调试技巧.docx
- Postman:Postman自动化测试:Postman团队协作与版本控制.docx
- Postman:Postman测试报告的分享与协作教程.docx
文档评论(0)