- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据冗余:不同人选课,重复记录学分 不一致性:选择同一门课,学分不一样 插入异常:无法插入没人选择的一门课程基本信息 删除异常:无人选课后,删除记录造成课程基本信息丢失 * * 课程只要求理解到第一、二、三范式 围绕函数依赖的主线,对一个关系模式进行分解,使关系从较低级范式变换到较高级范式。 * Sex属性被分为子属性,不符合第一范式 高级别的范式包含在低级别的范式中。 * 经过拆分,不存在部分函数依赖 * 高级别的范式包含在低级别的范式中 * 经过拆分,不存在传递函数依赖 * BCNF 关系模式R〈U,F〉∈1NF。若X→Y且YX时X必含有码,则R〈U,F∈BCNF。 也就是说,关系模式R〈U,F〉中,若每一个决定因素都包含码,则R〈U,F∈BCNF。? ?由BCNF的定义可以得到以下结论: 一个满足BCNF的关系模式有 1.所有非主属性对每一个码都是完全函数依赖。 2.所有的主属性对每一个不包含它的码,也是完全函数依赖。 3.没有任何属性完全函数依赖于非码的任何一组属性。 由于RBCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R3NF。但是若R3NF,则R未必属于BCNF。?下面用几个例子说明属于3NF的关系模式有的属于BCNF,但有的不属于BCNF。 详细信息... 例l 关系模式SJP(S,J,P)中,S是学生,J表示课程,P表示名次。每一个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生(即没有并列名次)。由语义可得到下面的函数依赖: (S,J)→P ,(J,P)→S 所以(S,J)与(J,P)都可以作为候选码。这两个码各由两个属性组成,而且它们是相交的。这个关系模式中显然没有属性对码传递依赖或部分依赖。所以SJP3NF,而且除(S,J)与(J,P)以外没有其它决定因素,所以SJPBCNF。 例2 关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课。每门课有若干教师,某一学生选定某门课,就对应一个固定的教师。由语义可得到如下的函数依赖。 (S,J)→T;(S,T)→J;T→J。 这里(S,J),(S,T)都是候选码。 STJ是3NF,因为没有任何非主属性对码传递依赖或部分依赖。但STJ不是BCNF关系,因为T是决定因素,而T不包含码。 3NF的“不彻底”性表现在可能存在主属性对码的部分依赖和传递依赖。非BCNF的关系模式也可以通过分解成为BCNF。例如STJ可分解为ST(S,T)与TJ(T,J),它们都是BCNF。 一个模式中的关系模式如果都属于BCNF,那么在函数依赖范畴内,它已实现了彻底的分离,已消除了插入和删除的异常。 无损分解原则:在关系分解过程中既不能丢失、也不能增加数据。同时还要保持原有的函数依赖。 相互独立原则:分解后的新关系之间相互独立,对一个关系内容的修改不应影响到另一个关系。 * 数据库管理模式下,数据充分共享,避免数据维护异常 * 数据的存储与数据使用相互独立,充分体现独立性。 * 主动安全:通过数据库角色、用户、权限等方式 被动安全:通过数据库备份与还原机制 * 利用数据库规则等机制,保证数据的正确性 值域设置、 非空检验 * 通过数据库的锁机制保证数据的并发操作。 * 数据可以并发使用并能同时保证数据的一致性:在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。 * 主动安全:有效地防止数据库中的数据被非法使用或非法修改。方式:安全机制 被动安全:数据遭到破坏时能立刻将数据完全恢复。方式:备份恢复 保持正确性:值域设置、非空检验 保持一致性:锁机制 * 终端用户:使用基于数据库开发的信息系统的用户 专业用户:在数据库基础上进行系统开发的用户 系统用户:对数据库的性能、效率、维护等进行操作的数据库管理用户 * 操作系统:Windows、Unix等 软件开发工具:Java、PHP等 DBMS:SQL Server、Oracle等 * 什么是DBMS:数据管理软件,本课程中即SQL Server DBMS的用途:相对于文件管理模式,更高效更安全 数据定义语言DDL:Create、Alter、Drop 数据操纵语言DML:insert、update、delete 概念模型:用于用户理解数据关系 数据模型:用户计算机理解数据关系 * 按用户观点对信息和数据建模 * * 实体可以使看得到摸得到的事物,也可以是某些事件 * 如:人的身高、年龄、性别、体重、…… 比赛的比赛时间、地点、参赛队…… * 如人的身份证号 学生选课记录的学号+课程编号 * 如性别的取值范围:{男,女} * 教学系统中:教室实体集,课程实体集,学生实体集,教师实体集 *
文档评论(0)