- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * SQL Server 2005数据库应用技术 清华大学出版社 供应商编号 供应商名称 联系方式 商品名称 商品价格 101 华讯光驱 180 101 华讯光盘 150 101 华讯打印纸 20 102 欣欣光盘 160 102 欣欣鼠标 56 … ? ? ? ? 例如针对供应商建立了如下关系模式:供货(供应商编号,供应商名称,联系方式,商品名称,商品价格) 数据冗余大 数据不一致性 操作异常 这个模式存在如下问题 SQL Server 2005数据库应用技术 清华大学出版社 函数依赖 函数依赖的概念 函数依赖的表示方法 函数依赖的类型 完全依赖 部分依赖 传递依赖 SQL Server 2005数据库应用技术 清华大学出版社 函数依赖的定义 现实世界中实体的属性之间具有相互依赖又相互制约的关系,这种关系称为数据依赖。 学生关系的函数依赖关系: 学生(学号,姓名,性别,出生日期,专业) 给定一关系R,若当且仅当对应于R中属性X的每一个值,在任一时刻必有一个确定的属性Y值,则称Y是函数依赖于X,也可称为X函数决定Y,记为X-Y。 SQL Server 2005数据库应用技术 清华大学出版社 学生关系的函数依赖集表示为: 学号→姓名 学号→性别 学号→出生日期 学号→专业 SQL Server 2005数据库应用技术 清华大学出版社 完全函数依赖和部分函数依赖 完全依赖 若称关系R中的属性Y是完全依赖于属性X,则应满足以下两个条件: 属性Y函数依赖于属性X 属性Y不函数依赖于属性X的任一真子集X’ 部分依赖 如果属性Y只函数依赖于属性X的某一真子集X’,则称属性Y部分函数依赖于属性X。 SQL Server 2005数据库应用技术 清华大学出版社 成绩关系的函数依赖集: 学号→姓名 课程号→课程名 (学号,课程号)→分数 部分依赖 成绩(学号,姓名,课程号,课程名,分数) SQL Server 2005数据库应用技术 清华大学出版社 传递依赖 定义:在关系R中,如果属性X、Y、Z之间满足:X?Y,Y ?Z ,则称Z对X传递依赖。 例如关系模式: 辅导(学号,班级,辅导员) 函数依赖集:学号→班级 班级→辅导员 辅导员传递依赖于学号: 学号→辅导员 SQL Server 2005数据库应用技术 清华大学出版社 范式与规范化 范式 关系满足不同层次的要求就称为不同的范式 范式由低到高依次为1NF,2NF,3NF,4NF, 5NF 规范化 将一个低一级范式的关系模式分解为若干个满足高一级范式关系模式的集合的过程 SQL Server 2005数据库应用技术 清华大学出版社 1NF、2NF、3NF 1NF:如果关系模式R的每一个属性只包含单一的值,则关系模式R满足1NF 2NF:如果关系R满足第一范式,而且它的所有非主关键字属性完全依赖于整个主属性(也就是说,不存在部分依赖),则R满足第二范式 3NF:如果某关系满足第二范式,而且他的任何一个非主属性都不传递依赖于主属性,则R满足第三范式 SQL Server 2005数据库应用技术 清华大学出版社 规范化至1NF 学号 姓名 课程名 成绩 991101 李雨 英语 计算机基础 85 90 991102 杨玲 英语 计算机基础 73 94 991103 张山 英语 计算机基础 76 85 学号 姓名 课程名 成绩 991101 李雨 英语 85 991101 李雨 计算机基础 90 991102 杨玲 英语 73 991102 杨玲 计算机基础 94 991103 张山 英语 76 991103 张山 计算机基础 85 每一个属性只包含单一的值 SQL Server 2005数据库应用技术 清华大学出版社 如果关系只满足1NF,则存在以下问题: 操作异常:包括删除异常和插入异常。 ☆删除异常:如果删除某门课程的成绩,则将学生的信息(学号和姓名)也一同删除了。 ☆插入异常:如果某个学生没有考试成绩,则学生的信息(学号和姓名)也无法输入。 数据冗余大,容易造成数据不一致。 ☆学生的信息(学号和姓名)重复数据较多,冗余大,浪费存储空间。 ☆多次重复输入,易造成数据不一致。 SQL Server 2005数据库应用技术 清华大学出版
文档评论(0)