数据库课程设计 课件1 规范化.ppt_第1页
数据库课程设计 课件1 规范化.ppt_第2页
数据库课程设计 课件1 规范化.ppt_第3页
数据库课程设计 课件1 规范化.ppt_第4页
数据库课程设计 课件1 规范化.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、广西师范大学计算机科学系数据库课程设计,课程内容概述,本课程设计是关系数据库的设计,主要包括以下几个方面:数据库设计概述关系数据库设计理论数据库设计过程数据库设计实例作业,课程内容概述,重点内容:关系数据库设计的理论与方法(重点是逻辑设计)关系数据库设计过程中的大规模操作结果:出勤率和大规模操作(最后, 每人提交一份设计报告(避免抄袭),参考书目,数据库系统介绍(第四版),高等教育出版社,王梓霏与萨士轩数据库实用教程(第三版),清华大学出版社,董建建,丁保康,数据库扩展:通常称为关系,表和当前值。 用户经常插入、删除和修改关系,所以外延在不断变化。内涵:数据的定义和数据完整性的定义。数据的定义

2、包括关系、属性和领域的定义和描述。数据完整性约束的定义主要包括:静态约束,它涉及数据、主键和值域的设计之间的联系。动态约束:定义各种操作对关系的影响,一般称为关系模式、关系模式的设计问题、关系模式的冗余和异常问题:什么是数据冗余?在数据管理中,数据冗余一直是影响系统性能的一个大问题。数据冗余意味着相同的数据在系统中出现多次。在文件系统中,由于文件之间没有连接,一个数据出现在多个文件中。数据库系统克服了文件系统的这一缺陷,但要注意数据冗余。请看下面的例子,有一个关系模型R(SNO,CNO,CNAME,TNAME),它的属性分别代表学生ID,选修课的课程号,课程名称和老师的名字。C4班有三个学生要

3、选,所以帕斯卡和温会出现三次。导致数据冗余。如果课程2和C4的教师更改为陈,则三元组的教师姓名应该修改。如果其中一个没有改变,这门课的老师就不是唯一的,导致不一致。修改例外,3,安排一门新的课程(C8,DELP HI,陈),当没有学生选择时,当这样一门课程的数据值被插入到关系中时,空值将出现在属性SNO上。4。要删除学生的S8课程选择元组,必须删除C6课程和教师,这也是一个不合适的现象。插入异常,删除异常,关系r的设计不合适,操作异常,但是如果将关系模式r分解为:上述冗余和异常将基本消失。分解是解决冗余的主要方法,也是一个标准化的原则:“如果关系模式中有冗余,就分解它。”但是将r分解成这样的最

4、优分解并不是绝对的。如果你想查询你所学课程的老师,你必须加入这两种关系,而且加入的成本非常高。在模式r下,可以直接找到上述结果。什么样的关系模式是最好的?标准是什么?如何实现它?对于一个实际问题,它有一个属性集u,其中每个属性Ai对应一个值域,但不同的是属性可以有相同的值域。由实际问题的所有属性组成的关系模式被表示为R(U)。关系r是关系模式的当前值,它是一组元组。这种关系模式变成了泛关系模式,这种关系变成了泛关系。泛在关系模式数据库模式R p=R1,Rk泛在关系数据库实例(数据库)r a=,模式分解图,没有泛在:的例子,R1,r2,r1 r2。在实际应用中,R(U)和R通常不是合适的形式,但

5、是必须使用一组关系模式p=R1,Rk来代替R(R)。有时Ri用来表示它的属性集,所以r1r2rk=u。这个p被称为数据库模式。通过给数据库模式的每个关系模式Ri分配一个当前值来获得数据库实例。因此,计算机中的数据不是存储在通用关系中,而是存储在数据库中。根据该符号,英文字母表开头的大写字母“A、B、C”表示单个属性,英文字母表结尾的大写字母“U、V、W、X、Y、Z”表示属性集。大写字母r表示关系模式,小写字母r表示其关系。有时,关系模式由一组属性名来表示。如果模式有三个属性,作业成本法被用来表达关系模式。属性集A1、An缩写为A1An。属性集x和y的并集XY缩写为XY。XA缩写为XA或AX。为

6、了便于阅读,所使用的符号规定如下:(1)关系数据库的设计理论功能依赖。主要内容:数据库中的数据之间有着密切的关系。在数据库技术中,数据之间的连接称为数据依赖。设计者的职责之一是找出数据依赖关系。在数据库的标准化设计中,数据依赖起着关键作用。其中,函数依赖是最基本的依赖,是关键代码概念的延伸。函数依赖的定义,每个学生只有一个名字。每门课只有一位老师。每个学生都能得到一门课程的总成绩。这些连接成为功能依赖。其形式定义如下:定义提供了关系模式R(U),X和Y是属性集U的子集,函数依赖(FD)是一个XY形式的命题。只要R是R的当前关系,tX=sX意味着对于R中的任何两个元组t和s tY=sY,那么在关

7、系模式R(U)中建立FD XY。也就是说,如果有一个x值,那么只有一个y值与之对应。tX:属性集上元组的值XY:发音为“x函数决定y”。例学生选修课与教师教学之间有一个关系模型:r (SnO、sname、cno、grade、cnzme、tname、tag),其属性分别代表学生人数、姓名、选修课人数和选修课成绩。(1)如果规定每个学号只能有一个学名,每个学号只能决定一门课程,则可以用以下格式书写:(2)每个学习一门课程的学生都有一个年级,那么它可以写成FD:(SNO,CNO)年级。想想看:还能写什么样的FD?CNO (CNAME,TNAME,TAGE) TNAME TAGE,考虑一下:在数据连接

8、的描述中有哪三种二进制连接?这些联系和功能依赖之间有什么联系?做以下题目:1。让关系模型。在R的关系中,属性之间有这样一种联系:A值与B值有一对多的联系,C值与D值有一对一的联系。尝试根据这些规则编写相应的函数依赖关系。A值,B值,C值,D值,函数依赖于BA,函数依赖于CD和DC的蕴涵,FD,AB和BC是以关系模式R建立的,那么AC是以关系模式R建立的吗?设F是建立在关系模式R(U)上的函数依赖集,X和Y是属性集U的子集。如果XY也建立在R(U)上,那么F逻辑意味着XY。符号是:假设F是一个函数依赖集,由F逻辑所隐含的所有函数依赖组成的集合称为函数依赖集F的闭包,表示为F那么AB和BC以及AC

9、之间有什么关系呢?从f可以推导出多少函数依赖?如何找到函数依赖集f的闭包?FD,A1(自反性)A2(增广性)A3(传递性)A4(联合性)A5(分解性)A6(伪传递性)A7(合成性)A8(普遍一致性),自反性:如果Y X U,则X Y建立在r上。增广性:如果XY建立在r和Z U上,则XZYZ建立在r上。传递性:如果XY和YZ建立在r上,则XZ建立在r上。合并:XY,X Z逻辑意味着X YZ分解:XY,Z Y逻辑意味着X Z伪传递性WY-Z逻辑意味着WX-Z复杂性:XY,W-Z逻辑意味着XW-YZ一般一致性:XY,W-Z逻辑意味着X (W-Y)YZ,FD的推理规则(8):定义了对于FD的XY,如果

10、YX,那么XY是一个“普通FD”,否则它被称为“非普通FD”。 定理如果A1An是关系模式,那么,A1An成立的必要条件是x Ai(i=1,n)成立。示例如果您知道关系模式R(ABC),F=AB,BC,查找F,根据规则A1,您可以推导出AA,根据已知AB和规则A2,您可以推导出AC BC,根据已知条件和规则,我们可以推导出F的43个FD,FD和关键字之间的关系,回想一下,超级关键字:可以唯一地标识关系中元组的属性或属性集,候选关键字: 一个属性集可以唯一地识别一个没有冗余属性的元组,并定义关系模式R的属性集是U,而X是U的子集。如果XU建立在R上,那么X被称为R的超键。如果XU建立在R上,但是

11、Xi不是为X的任何适当子集建立的, 那么在学生选择课程和教师上课的关系模式中,x被认为是r上的候选键例如:r (SnO,sname,cno,grade,cnzme,tname,tag),如果指定,每个学生只有一个名字; 每个课程编号只有一个课程名称;每门课只有一位老师。根据这些规则,我们可以知道(SNO,CNO可以确定R的所有属性,并且它是候选键。虽然(SNO,斯纳姆,CNO,CNZME)可以确定R的所有属性,但它只是一个超级键,而不是候选键,因为它包含冗余属性。属性集的闭包,设f是属性集u上的FD集,X是u的子集,那么(相对于f)属性集X的闭包用bY X表示,ByX是满足从f集利用FD推理规

12、则导出的X A的所有属性A的集合:X=属性A X A在f中,定理X A可以由推理规则导出的充要条件是FD是Y X,例属性集u是ABCD,FD集是AB,BC,DB。根据属性集闭包的定义,可以得到属性集的最小依赖集。如果在关系模式R(U)上有两个函数依赖集f和g,那么f和g是等价的函数依赖。定义假设F是属性集U上的属性集。如果Fmin是F的最小依赖集,那么Fmin应满足以下四个条件:(1)Fmin=F;(2)每个功能描述的右侧是单个属性;(FMIN中没有冗余功能描述;(4)每个功能描述的左侧没有冗余属性。函数依赖集F中有许多功能描述符,去除功能描述符中的平凡功能描述符、不相关功能描述符和不相关属性

13、,得到最小依赖集Fmin。示例假设F是关系模式R(A B C)的FD集,F=ABC,BC,A B,ABC,A BC,尝试寻找Fmin解决方案:首先,用F写FD,形式为右侧是单个属性:F=A B,A C,BC,A B,AB C,AB C,ABC,ABC,显然还有一个A B可以删除,因此F=AC,B C,AB,ABC F中的A C是多余的,可以删除,F=BC,AB,ABC可以从BC中导出。阿瑟。关系模式的范例,第一范式(1NF)。如果关系模式R中每个关系R的属性值是不可分的原子值,那么R被称为第一范式的模式,它被记录为:满足1NF的关系称为规范化关系,关系数据库中研究的关系都是规范化关系,1NF是

14、关系模型应该具备的最小条件。例如,第一范式(1NF)将不满足1NF的关系分解为1NF,第二范式(2NF),并定义:如果存在为真,则称之为局部依赖(A局部依赖于W);否则,它被称为完全依赖。定义:如果关系模式R是1NF,并且每个非主属性的完整函数依赖于候选键,那么R是第二范式(2NF)的模式。如果数据库模式中的每个关系模式都是2NF,那么该数据库模式称为2NF数据库模式。定义:如果A是关系模式R的候选关键字中的属性,那么A就是关系模式R的主要属性;否则,a是R的非主要属性.这里有一个关系模式R(SNO,CNO,年级,全国高考,美国高考),其中(SNO,CNO)是R的候选键.FD:在r和r 2NF

15、上吗?如果没有,如何改进?局部依赖,让关系模型R(WXYZ),主键是WX,并且R仍然存在(也就是说,WXZ是局部依赖)。此时,r应该被分解成两种模式:主键是x;主键是WX,外键是X.r可以通过连接外键和主键来检索。如果总和不是2NF,重复上述过程,直到数据库模式中的每个关系模式都是2NF。让R(ABCD),建立在R上的FD集。解释为什么r不是2NF模式。尝试将r分解成2NF模式集。分解成2NF模式的算法,第三范式(3NF),定义:如果XY,YA,那么XA是可传递的依赖关系(一个可传递的依赖关系x),定义:如果关系模式r是1NF,并且每个非主属性不传递依赖于r的候选键,那么r是第三范式(3NF)

16、的模式。如果数据库模式中的每个关系模式都是3NF,则称之为3NF数据库模式。定义:设F是关系模式R的FD集。如果对于F中的每个非平凡FD XY,都有一个超键,即X是R,或者Y的每个属性都是主属性,那么R称为3NF的模式。被分解为3NF模式。让关系模式为R(WXY),主键为W,也就是说,有W X,在R上有XY。因此WY是一个传递依赖。此时,r应该被分解成两种模式:主键是x;主键是WX,外键是X.r可以通过连接外键和主键来检索。如果总和不是3NF,重复上述过程,直到数据库模式中的每个关系模式都是3NF。让关系模型R(ABC)和f是建立在R上的FD集.试着解释为什么R不是3NF模式。尝试将r分解成3NF模式集。BCNF,定义:如果关系模式r是1NF,并且每个属性不通过依赖于r的候选键,那么r是BCNF的模式。如果数据库模式中的每个关系模式都是BCNF模式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论