关系数据库设计原理

关系数据库设计原理

ID:45898541

大小:1.21 MB

页数:33页

时间:2019-11-19

关系数据库设计原理_第1页
关系数据库设计原理_第2页
关系数据库设计原理_第3页
关系数据库设计原理_第4页
关系数据库设计原理_第5页
资源描述:

《关系数据库设计原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据库管理系统》西南交通大学交通运输学院第3章关系数据库设计理论前面已经讨论了关系数据库系统的一般概念,介绍了关系数据库的基本概念、关系模型的三个部分,但是还有一个很基本的问题尚未涉及。针对一个具体问题,应该如何构造一个适合于它的数据模式,即应该构造几个关系模式,每个关系由哪些属性组成等。这是数据库设计的问题,确切地讲是关系数据库逻辑设计问题。实际上设计任何一种数据库应用系统,不论是层次的、网状的还是关系的,都会遇到如何构造合适的数据模式即逻辑结构的问题。由于关系模型有严格的数学理论基础,并且可以向别的数据模型转换,因此,人们就以关系模型为背景来讨论这个问题,形

2、成了数据库逻辑设计的一个有力工具——关系数据库的规范化理论。规范化理论虽然是以关系模型为背景,但是它对于一般的数据库逻辑设计同样具有理论上的意义。现实世界随着时间在不断地变化,因而在不同的时刻,关系模式的关系也会有所变化。但是,现实世界的许多已有事实限定了关系模式所有可能的关系必须满足一定的完整性约束条件。这些约束或者通过对属性取值范围的限定,或者通过属性值间的相互关连(主要体现于值的相等与否)反映出来。后者称为数据依赖,它是数据模式设计的关键,关系模式应当刻划这些完整性约束条件。3.1函数依赖一、数据依赖属性之间的联系称为数据依赖。其中有两种最重要的数据依赖,函

3、数依赖和多值依赖。1.属性之间的关系1:1的关系对于两个属性A和B,A属性与B属性的取值是一一对应的。例如学号和学生姓名。如果姓名是唯一的,则它们之间的关系是1:1的关系。1:m(1tomany)的关系若两个属性集合A和B,A中的值只与B中某个值相关,而B的一个取值与A中多个值相对应。例如,班级和学生的关系。m:m(mtomany)的关系一个实体的两个属性集中任何一个值都与另一个属性集中多个值相对应。例如,学生号与课程号之间,任何一个学生可以选多门课程,任何一个课程可以由多个学生选择。二、函数依赖对于关系两个属性A和B,若A中每一个取值,都有B中唯一的值与之对应,

4、则称B函数依赖于A,也可以说A决定B。A→B例如,学号和班级,学号→班级。学号决定班级,班级函数依赖于学号。三、函数依赖和属性的关系我们在前面讨论的三种关系,并不是每一种关系都存在函数依赖,设有一个关系R,存在两个属性A和B。则有下列的规则:(1)若A和B之间是1:1的关系,则有A→B和B→A,即A和B相互依赖(2)若A和B之间是m:1的关系,则有函数依赖A→B。(3)若A和B之间是m:m的关系,则有不存在函数依赖。如学生关系,可有学号(SNO),姓名(SNAME),系名(SDEPT)等几个属性。由于一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值

5、确定之后,姓名和该生所在系的值也就被唯一地确定了。就象自变量x确定之后,相应的函数值f(x)也就唯一地确定了一样,我们说SNO函数决定SNAME和SDEPT,或者说SNAME,SDEPT函数依赖于SNO,记为∶SNO→SNAMESNO→SDEPTU={Sno,Sdept,Mname,Cname,Grade}现实世界的已知事实告诉我们∶(1)一个系有若干学生,但一个学生只属于一个系;(2)一个系只有一名(正职)负责人;(3)一个学生可选修多门课程,每门课程有若干学生选修;(4)每个学生学习每一门课程有一个成绩;于是得到U上的一组函数依赖:F={Sno→Sdept,S

6、dept→Mname,(Sno,Cname)→Grade}我们就得到了一个描述学校的数据库模式S〈U,F〉:U={Sno,Sdept,Mname,Cname,Grade}F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}3.2关系的规范化设计一个的关系数据库,首先要定义一组关系,这组关系定义的好,系统的性能就好,定义的差,系统的性能就差。一般的设计原则是:数据的冗余度尽量低。不出现插入、删除等操作异常;能尽量如实反映现实世界的实际情况,而且又易懂。这就要求研究关系模式中各属性之间的依赖关系,及其对关系模式性能的影响,探讨关系模式

7、应满足什么样的约束,这就是关系规范化的目的。学号SNO姓名sname年龄sage系dept系主任mn课程号CNO课程名kname成绩score2001李样188901李红军101数据库902001李样188901李红军102专家系统902002万蓬188902李红101数据库802002万蓬188902李红102专家系统80关键字(1)如果一个系刚成立还没有学生,或学生还没有安排课程,则无法将这个系的信息存入数据库,称为插入异常;(2)如果一个系的学生全都毕业了,需要删除学生及学生选课信息,但同时也将该系的信息删除了,这称为删除异常;(3)该关系中有一个学生选课,

8、相关系的信

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。