数据库概论_1

上传人:aa****6 文档编号:57141835 上传时间:2018-10-19 格式:PPT 页数:146 大小:332KB
返回 下载 相关 举报
数据库概论_1_第1页
第1页 / 共146页
数据库概论_1_第2页
第2页 / 共146页
数据库概论_1_第3页
第3页 / 共146页
数据库概论_1_第4页
第4页 / 共146页
数据库概论_1_第5页
第5页 / 共146页
点击查看更多>>
资源描述

《数据库概论_1》由会员分享,可在线阅读,更多相关《数据库概论_1(146页珍藏版)》请在金锄头文库上搜索。

1、第六章 关系数据理论,二维表:逻辑数据的合理组织。关系模式设计;模式评价。,数据库逻辑设计 一组数据:应构造几个关系? 每个关系由哪些属性组成?,6.1 问题的提出,关系规范化理论,关系必须满足一定的完整性约束 条件。 依赖于值域的限制对属性取值范围的限制。 依赖于值的相等与否的限制属性值间的相互关联。数据库模式设计的关键。,数据 依赖,关系模式R(U, D, DOM, F)简化为一个三元组:R(U, F) 当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系,关系模式的简化表示,例 建立一个描述学校教务的数据库:学生的学号(Sno)、所在系(Sdept) 系主任姓名(M

2、name)、课程名(Cname) 成绩(Grade)单一的关系模式:Student USno, Sdept, Mname, Cname, Grade属性组U上的一组函数依赖F:FSno Sdept, Sdept Mname, (Sno, Cname) Grade,已知:关系模式SB,要设计一个模式SD,它与SB“等价”, 但在某些方面“更好”一些。,例1:设计一个教学管理数据库,希望从该数据库中经常得到下面的有关信息:学号、姓名、年龄、性别、系、系主任姓名、课程号、成绩等。参考设计的关系模式如下: S1(SNO, SNAME, SAGE, SSEX, SDEPT,DNAME, CNO, GRA

3、DE),数据库模式设计:,关系模式S1的一个数据库 r,教学管理数据库,关系模式S1存在的问题是: 冗余大。每一个系名和系主任的名字存储次数等于该系学生人数乘以每个学生选修的课程门数,浪费存储。 插入异常。若一个系刚成立没有招生,或虽然有了学生,但尚未安排课程,那么系名和系主任就无法插入到数据库中。, 删除异常。当一个系的学生都毕业了而又没招新生时,删除了全部学生记录,随之也删除了系名和系主任名。这个系仍然存在,而在数据库中却无法找到该系的信息。 更新异常。若某系换系主任,数据库中该系的学生记录应全部更改,系统要付出很大的代价来维护数据库的完整性。如有不慎,某些记录漏改了,则会造成数据的不一致

4、而出错。,结论: S1关系模式不是一个好的模式。 “好”的模式: 不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适的数据依赖,一个好的关系模式的条件应该: 尽可能少的数据冗余。 没有插入异常。 没有删除异常。 没有更新异常。原因:属性间值的相等与否,数据间存在着某些相互依赖的关系。,把关系模式S1分成三个关系模式: S_1(SNO, SNAME, SAGE, SSEX, SDEPT) r1 S_2(SDEPT, DNAME) r2 S_3(SNO, CNO, GRADE) r3在r1、r2、r3中,实

5、现了信息的某种分离:r1:学生信息,与所学课程及系主任无关;r2:系的信息,与学生信息无关;r3:选课成绩信息,与学生的基本信息无关。,把关系模式S1分成三个关系模式: S_1(SNO, SNAME, SAGE, SSEX, SDEPT) S_2(SDEPT, DNAME) S_3(SNO, CNO, GRADE)数据冗余度降低;无插入异常;无删除异常; 无更新异常,上述三个模式是否最佳? 到底什么样的关系模式是最佳的? 标准是什么? 如何实现?,函数依赖 数据依赖 多值依赖连接依赖,在设计关系模式时,必须从语义上 分析属性间的关联。各属性间的关联关 系称之为数据依赖。,每个关系中的属性一定要

6、满足某种 内在的语义条件,即要按一定的规范设 计关系模式,这就是关系模式的规范化。关系数据库设计理论主要包括三个 方面的内容:数据依赖、范式、模式设 计方法。数据依赖起着核心的作用。,1971年,E.F.Codd相继提出了第一范式第二范式第三范式 E.F.Codd与Boyce合作提出了Boyce- Codd范式(BCNF) 1976-1978年,Fagin,Delobe又定义了第四范式 到目前为止已经提出了第五范式,6.2 关系模式的规范化,一个关系数据库中的表,必须满足一定的条件。 应满足的条件分成几级,每一级称作一个范式,不同的级别有不同的范式。关系的规范化就是使关系满足某种条件的处理。,

7、满足最基本规范化条件的的关系模式叫第一范式;第一范式的关系模式再满足另外一些约束条件就产生了第二范式、第三范式、BC范式等等;一个低一级的关系范式,通过模式分解可以转换成高一级范式的关系模式的集合。这种过程叫关系模式规范化。,关系模式R为第几范式表示为:R xNF 其中, x:级别; NF:范式(Normal Forms)范式级别越高,应满足的条件就越严格。5NF4NFBCNF3NF2NF1NF,1NF,2NF,3NF,BCNF,4NF,5NF,1. 函数依赖函数依赖是关系模式中属性之间的一种依赖关系。在诸多的数据依赖中,其中最有 实际意义的是函数依赖(functional dependenc

8、y)。例如:关系模式S1中,SNO与SAGE之间就有一种函数依赖关系。,定义: 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等(即对于X的每一个具体值,Y都有唯一的值与之对应),则称“X函数决定Y”或“Y函数依赖于X”,记作XY。称X为决定因子,Y是依赖因子。XY为模式R(U)的一个函数依赖。,对一个关系中的任意两个元组,只要决定因子的值相同,所有其它属性的值也一定相同。即: 如果t1,t2是r的任意两个元组,如果t1X=t2X,则有t1Y=t2Y。,属性间的函数依赖完全来自于现实世界的语

9、义,而不是凭主观臆断的。只能根据语义来确定属性间是否存在函数依赖关系。,下面介绍一些术语和记号:若XY,但YX则称XY是非平凡的函数依赖。若XY,但YX则称XY 是平凡的函数依赖。若XY,则X叫决定因子,Y叫依赖因子。若XY,YX,则记作XY。若Y不函数依赖于X,则记作XY。,下面给出1:1、1:n、m:n联系的情况:若X,Y之间是1:1联系,则根据函数依赖定义可知存在:XY,且YX。若X,Y之间是n:1联系,则XY。若X,Y之间是m:n联系,则X与Y之间不存在函数依赖。,定义: 在R(U)中,如果XY,并且对于X的任何一个真子集X都有XY,则称Y完全函数依赖于X,记作 XY。若XY,并且对于

10、X的某一个真子集X(XX),都有XY,则称Y部分函数依赖于X,记作:XY。如果Y部分函数依赖于X,则X必定是组合属性。例:(SNO, CNO)SNAME。,f,p,p,在例1的关系S_1中,SNOSDEPT,SNOSAGE,SNOSNAME(无重名)。 在关系S_3中, (SNO, CNO)GRADE,(SNO, CNO) 是关键字,SNOCNO, SNOGRADE。都是完全函数依赖。,定义: 在R(U)中,如果XY, (YX),YX,YZ,则称Z传递函数依赖于X,记作X Z 。 在例1的关系S1中,SNOSDEPT,且SDEPTSNO,SDEPTDNAME,即有: SNO DNAME 。,传

11、递,传递,2. 关键字(码)码是唯一地标识实体的属性集。定义: 设有关系R(U),U是R的全部属性集合,KU是一个属性或是一个属性组合。若KUK,则K为R的候选码(Candidate Key)。若候选码多于一个,则选定其中的一个作为主码(Primary Key)。即:KU,且不存在任何KK使得KU成立。,f,主属性(Prime attribute):包含在任何一个候选码中的属性。非主属性(Prime attribute) :不包含在任何一个码中的属性。全码(All-key):整个属性组是码。 例:在关系S_3中,(SNO, CNO)GRADE, (SNO, CNO) 是关键字,SNO,CNO称

12、为主属性,GRADE称为非主属性。,设有关系R(U),U是R的全部属性集合,XU是一个属性或是一个属性组合。若XU,则X为R的一个超码。例:在关系S1中, S1(SNO, SNAME, SAGE, SSEX, SDEPT,DNAME, CNO, GRADE) (SNO,SNAME,CNO,DNAME)也能函数决定R的全部属性,但相比之下,只能说是一个超码,而不能说是候选码,因为其中含有多余属性。,例2:全码的例子整个属性组都是码。关系模式R(姓名, 性别, 出生日期),可能存在重名且性别相同。则关系R的码一般是(姓名, 性别, 出生日期)。,定义: 在关系模式R(U)中的属性或属性组X不是R的

13、码,但X是另一个关系模式的码,则称X是R的外部码(Foreign Key),简称外码。主码与外码提供了一个表示关系间联系的手段。,S_1(SNO, SNAME, SAGE, SSEX, SDEPT) S_2(SDEPT, DNAME) S_3(SNO, CNO, GRADE) 在关系S_3中,SNO不是码,但SNO是关系S_1的码,因此SNO是关系S_3的外码。关系模式S_1与关系模式S_3间的联系就是通过SNO来实现的。,3. 第一范式(1NF)例:关系模式study=SNO, CNAME,给出学生选修课程的关系。,Study是非规范化关系模式,其缺点是 更新操作困难。,定义6: 设有关系模

14、式R(U),其所有的属性都是不可分的基本数据项,则称R属于第一范式,简称1NF,记作R1NF。在任何一个关系数据库系统中,第一范式是对关系模式的一个最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。,凡非规范化的关系模式必须化成规范化的关系模式。在非规范化的关系中去掉组项和重复数据项就能符合第一范式的条件,变为规范化的关系。 例:关系模式S1中所有的属性都是不可再分的简单属性,可表示为S11NF。S1关键字为(SNO, CNO)。,但是满足第一范式的关系模式并不一定是一个好的关系模式。 例:分析关系模式S1中的函数依赖关系。(SNO, CNO)SNAME, SNOSNAME, (SN

15、O, CNO)SAGE, SNOSAGE, (SNO, CNO)SSEX, SNOSSEX, (SNO, CNO)SDEPT, SNOSDEPT, (SNO, CNO)GRADE, SDEPTDNAME。前面已分析过关系模式S1存在的问题。,4. 第二范式(2NF) 定义7: 设有关系模式R(U)1NF ,如果其所有非主属性都完全函数依赖于码,则称R属于第二范式,简称2NF,记作R2NF。解决关系模式中非主属性对码的部分函数依赖问题。,分析关系模式S1中的函数依赖关系: SNOSNAME, (SNO, CNO)SNAME,SNOSAGE, (SNO, CNO)SAGE, SNOSSEX, (S

16、NO, CNO)SSEX, SNOSDEPT, (SNO, CNO)SDEPT, (SNO,CNO)GRADE, SDEPTDNAME。存在非主属性部分函数依赖于主码,因此S11NF,而S12NF。,p,p,p,p,f,f,f,f,f,利用投影运算,将S1分解成如下的两个关系模式: SR(SNO, SNAME, SAGE, SSEX, SDEPT, DNAME) SC(SNO, CNO, GRADE) 在关系模式SR中,函数依赖是: SNOSNAME,SNOSAGE,SNOSSEX, SNOSDEPT,(SNO, CNO)GRADE, SDEPTDNAME。 可见: SR2NF,而SC2NF。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号