项目辅导之数据库设计技术.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目辅导之数据库设计技术 《数据库设计技术》课程介绍 1. 问题的提出 2. 基本概念 3. 第一范式:消去重复组 4. 第二范式:消去部分函数依赖 5. 第三范式:消去传递函数依赖 6. 更多内容 1.问题的提出 Case1: Case2:某书店购图书的汇总登记表 问题是? 表中出现重复组,这些重复组的属性是书号、书名、出版单位、单价、订购数量。这种有重复组的关系就是非规范化的关系。重复组的出现,形成可变长的记录,造成存取困难,破坏了关系代数的整个基础。关系代数是为直接存取单个的域,提供数据独立性设计的。 怎样解决? 为解决不规范的关系,1971年~1972年E.F.Codd提出了规范化的问题,并给出了范式(normal form)的概念。系统地提出了第一范式(1NF)、第二范式(2NF)、第三范式(3NF)的概念。此后,又有学者提出了BC范式(BCNF)、第四范式(4NF)、第五范式(5NF)几种形式。 各种范式之间的关系 各种范式的定义 1NF:非主属性函数依赖于码 2NF:非主属性完全函数依赖于码 3NF:非主属性既不部分依赖于码也不传递依赖于码 BCNF:所有属性都不部分依赖或传递依赖于码,所有决定属性集都包含码 2. 基本概念 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。 函数依赖概念 数据依赖是通过一个关系中数据间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互关系的抽象,是数据内在的性质。 ??? 数据依赖中最重要的是函数依赖(Functional Dependency)。 Case3:过多函数依赖关系的例子 Case3:过多函数依赖关系的例子 Case3:过多函数依赖关系的例子 Case3:过多函数依赖关系的例子 函数依赖 函数依赖定义:设有一关系模式R(A1,A2,…,An),X和Y均为(A1,A2,…,An)的子集,对于R的值r来说,当其中任意两个元组u,v中对应于X的那些属性分量的值均相等时,则有u,v中对应于Y的那些属性分量的值也相等,称X函数决定Y,或Y依赖于X,记为X-Y。 函数依赖(续) 例:有关系,学生(学号S#,姓名SN,系名SD),子集X(学号S#),子集Y(系名SD)。 每个学生有唯一的一个学号,学生中可以有重名的姓名,每个学生只能属于一个系,每个系有唯一的系代号。有此,可以找出学生关系模式中存在下列函数依赖: S#-SN;S#-SD 例:有关系,学校简况(学号S#,系名SD,系主任MN,课程CN,成绩G)。可写出函数依赖: S#-SD;SD-MN;S#,CN-G 根据函数依赖的不同性质,函数依赖可分为完全函数依赖、部分函数依赖和传递函数依赖。 函数依赖(续) 完全函数依赖定义:在R(U)中,如果X-Y,对于X的任意一个真子集X’,都有X’不能决定Y,则称Y对X完全函数依赖,记为X Y 。例:(S#,CN)?(f) G 部分函数依赖定义:在R(U)中,如果X- Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记为X ?(p)Y 。例:(S#,CN)?(f)G,但(S#,CN)?(p)SD 传递函数依赖定义:在R(U)中,当且仅当X- Y,Y-Z时,称Z对X传递函数依赖。例:描述学生(S#)、班级(SB)、辅导员(TN)的关系U(S#,SB,TN)。一个班有若干学生,一个学生只属于一个班,一个班只有一个辅导员,但一个辅导员负责几个班。根据现实世界可得到一组函数依赖:F={S#-SB,SB-TN} 学生学号决定了所在班级,所在班级决定了辅导员,所以辅导员TN传递函数依赖于学生学号S#。 数据依赖还包括多值依赖和连接依赖两种形式。 关键字(码)定义:设K为R(U)中的属性或属性组合,若K?(f)U,则称K为R的(侯选)关键字,也称为码。若(候选)关键字多于一个,则选定其中的一个作为主关键字。 第一范式:消去重复组 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 第一范式:消去重复组 第一范式:消去重复组 满足1NF的关系存在以下问题: (1)删除异常 (2)插入异常 (3)冗余度大 ???究其原因,在于存在部分函数依赖。 第

文档评论(0)

企业资源 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档