数据库及其应用课件:关系数据模型_第1页
数据库及其应用课件:关系数据模型_第2页
数据库及其应用课件:关系数据模型_第3页
数据库及其应用课件:关系数据模型_第4页
数据库及其应用课件:关系数据模型_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1关系数据模型关系模型的基本概念

关系完整性规则关系数据库的联系关系代数关系规范化2第一节关系模型的基本概念

关系模型用二维表表示实体集,利用公共属性实现实体之间的联系。3一

、关系(relation)

关系是行与列交叉的二维表。表中的一行称为关系的一个元组,表中的一个列称为关系的一个属性,每一个属性有一个取值范围,称为属性域。元组的集合称为关系实例,通常关系实例又简称为关系。2.1职工关系职工号姓名性别职务部门编号1李春平男工程师D12张明利男经理D13姜芝明女经济师D24葛纯壮男经理D25何康建男经理D3

关系的实例关系元组45

表2.1在关系数据模型术语之间的对照表

关系数据模型术语

之间的对照表关系理论E-R模型关系数据库某些数据库关系实体集表表元组实体行记录属性属性列字段6

二.关系的性质每一列中所有数据类型相同,来自同一个域;每一列都有惟一的列名;列在表中的顺序无关紧要;表中任意两行不能完全相同;行在表中的顺序也无关紧要;行与列交叉点上必须是单值的(不能是一组值)。7

三.基本的数据类型

字符:由任何字符或符号组成的文字串。日期:按照特定格式存储的日期数据,可以对日期型数据进行特殊的数学运算(+、-)。

数值:可以进行算术运算的数据。MySQL的数据类型在MySQL中有整型(int)、位类型(bit)、浮点(float和double,real)、定点数(decimal,numeric)、字符串(char,varchar,text)、日期时间(date,time,

datetime,year)、二进制数据(Blob、binary)、枚举(enum)、集合(set)等十种常用的数据类型。每一种数据类型又有多种格式。89

四、键(Key)超键能够唯一标识一个元组的属性或属性组。侯选键是最小超键,它的任意真子集都不能成为超键。在一个关系中可能有多个侯选键,可以选取一个侯选键作为主键来唯一地标识每一个元组。如果关系R中包含另一个关系S的主键K,则称K为关系R的外键,并称关系S是被参照关系(或称父表),R是参照关系(也称依赖关系或子表)。

主键、外键和联系1011第二节

数据完整性规则一.实体完整性(Entityintegrity)关系的主键不能取空值(NULL)。二.参照完整性(Referentialintegrity)外键必须是被参照关系主键的有效值,

或者是“空值”。

导师研究生允许为空值不允许是非法值。教工号姓名性别职称101康平男教授104李林女副教授105田泽男教授学号姓名性别教工号99103田玉兵男10199210姚立立女

99213曲海男1001允许为空值不允许是非法值。1、参照完整性约束2、删除和更新约束(1)删除父表元组的约束

删除约束(RESTRICT):拒绝删除父表中任何有后代的元组(指子表中包含相应的外键值);

级联删除(CASCADE):删除父表中的元组时,

其子表中相应的元组也将自动被删除;

删除置空(SETNULL):删除父表中的元组时,其子表中相应元组的外键值自动设置为空值(NULL)。删除置缺省值(SETDEFAULT):删除父表中的元组时,其子表的相应元组的外键值自动设置为缺省值。1314(2)更新父表主键的约束更新约束(RESTRICT):拒绝更新父表中在子表含有外键值的主键。级联更新(CASCADE):父表中更新主键时,其子表中相应的外键值也将自动被更新;更新置空(SETNULL):在父表中更新主键时,子表相应的外键值自动设置为空值(NULL);更新置缺省值(SETDEFAULT):在父表中更新主键时,其子表的相应元组的外键值自动设置为缺省值。(3)对子表操作的约束在子表中插入的外键值必须是父表主键的有效值或者空值(在允许情况下)。在子表中更新外键的值必须是父表主键的有效值或者空值(在允许情况下)。在子表中删除元组将不受限制。1516用户定义完整性是针对某一特定数据库的约束条件。通常是用户业务处理时数据必须满足的约束条件。

例如,域完整性约束是对属性值有效性的约束,包括属性类型、宽度、小数位,是否可以取NULL值、缺省值(DEFAULT)、唯一值(UNIQUE)、基于属性的域检查子句(CHECK、用数据库触发器实现更为复杂的完整性约束条件。3.用户定义完整性

17第三节关系模型实现

数据联系的方法

关系模型的基本结构是表(Table),表又称为关系。表是由行/列组成的矩阵,表与表之间的联系是通过公共属性(外键)实现的。

一个关系数据库中包括多个表,利用“在一个表中包含另一个表的主键”的方法实现表与表之间的数据联系,构成一个整体的逻辑结构。1819

第四节关系代数主要包括:选择、投影、并、差、笛卡儿乘积、交、连接、

左外连接、右外连接。20关系代数有五种基本运算:选择、投影、并、差和笛卡尔积。一、关系代数的基本运算211.选择(SELECT)

选择运算是从关系中选择某些满足条件的元组构成一个新的关系。通常选择运算表达式记成:б<条件表达式>(R)。

22选择运算的示例

职务=”经理”(R)232.投影(PROJECT)

投影运算是从关系中选择某些属性列构成一个新的关系。投影的结果将消除重复元组。通常投影运算表达式记作:∏A,B(R),其中A和B是属性名,R是一个关系。投影运算的示例∏姓名,性别(R)24253.并(UNION)

设关系R和S的属性数目(n列)相同,且相应的属性取自同一个域,则关系R与S的并是由属于R或属于S的元组组成的新关系。其结果是具有n个属性的关系,且消除重复元组。通常并运算表达式记作:R∪S。26274.差(DIFFERENCE)

设关系R和S具有相同数目的属性(n列),且相应的属性取自同一个域,则关系R与S的差是由属于R而不属于S的元组构成的新关系。记作:R-S。差运算的示例28295.笛卡儿积(PRODUCT)

关系R与关系S的笛卡儿积记成:R×S,若R有m个属性,S有n个属性,则R×S是一个具有(m+n)个属性的关系,且R×S元组的前m列是R的一个元组,后n列是S的一个元组。如果R有i个元组,S有j个元组,则R×S有(i×j)个元组。3031

交、连接和除三种关系代数运算可以用基本运算来定义,故称为扩展的关系运算。二、扩展的关系代数运算321.交(INTERSECT)

设关系R和S具有相同数目的属性(n列),且相应的属性取自同一个域,则关系R与S的交是由既属于R又属于S的元组构成的新关系。记作:R∩S。

交运算的示例3334

连接运算是从两个关系笛卡儿积中选择属性之间满足一定条件的元组。2.连接(JOIN)运算连接运算的关系代数表达式35361)自然连接

自然连接运算是从两个关系的笛卡儿积中,选择公共属性值相等的元组,并消除重复属性构成的新关系。37

左外连接(leftouterjoin)

关系R与S进行连接操作,连接的结果中除了满足连接条件的元组之外,还包含左关系R中不满足连接条件的元组,而其对应于S的属性上填空值(NULL),这种连接称为左外连接,记为

R*⋈S。R与S的连接运算示例3839402.右外联接(rightouterjoin)

关系R与S进行连接操作,连接的结果中除了满足连接条件的元组之外,还包含右关系S中不满足连接条件的元组,而其对应于R的属性上填空值(NULL),这种连接称为右外连接,用符号R⋈*S表示。⋈*

除运算的示例41第五节关系的规范化

关系规范化是从关系模式中属性与属性之间的函数依赖性,判断关系模式的合理性,解决数据库设计的优化问题。42一、函数依赖

如果属性X的值能够决定属性Y的值,则称属性X函数决定属性Y,记成X

Y,或者属性Y函数依赖于属性X。一个关系上的函数依赖集简写为FD。431、函数依赖的示例学号

姓名,性别,出生年月,班级名称课程号

课程名,学时学号,课程号

分数442、函数依赖图45学号

姓名

课程号

课程名称

学时

分数3、完全函数依赖

学号与课程号的组合能够唯一地决定分数,即分数函数依赖于主键<学号+课程号>,这种函数依赖称为完全函数依赖。46部分函数依赖

学号就可以决定姓名,即姓名只函数依赖于主键的一部分,这种函数依赖称为部分函数依赖。474.传递函数依赖学号决定系名称和系地址,系名称决定系地址,系地址通过系名称间接依赖于学号,则称系地址传递函数依赖于学号。48二、关系的规范化关系规范化是判断表结构是否合理的有效方法,利用一组不同级别的范式判定关系规范化程度,确认表中存在数据异常,并通过关系模式分解的方法,消除数据异常。4950

由于表2.3中行与列的交叉点上存在一组值,该表不符合关系的定义,称之为非规范化的关系。1、非规范化的关系2、第一范式

如果关系R中没有重复组(即行与列的交叉点上只有一个值,而不是一组值),且定义了主键、所有非主属性都依赖于主键,则R属于第一范式,常记为R

1NF。简言之,若关系R满足关系定义,则R

1NF。51第一范式的示例52第一范式关系实例R(工程号,职工号,工程名称,姓名,职务,小时工资率,工时)第一范式关系存在大量数据冗余,导致数据异常。53数据异常问题更新异常

插入异常删除异常原因是存在部分依赖,通过分解消除部份依赖,使关系满足第二范式。54第二范式

如果关系R

1NF,且每一个非主属性都完全函数依赖于R的主键,则R属于第二范式,记作R

2NF。

第二范式的关系不允许存在任何非主属性部分依赖于主键。以单个属性为主键的关系自动进入2NF,因为不可能存在部分函数依赖。55第二范式的关系实例将R分解为三个2NF的关系:工程(工程号,工程名称)

职工(职工号,姓名,职称,小时工资率)酬金(工程号,职工号,工时)56分析图2.16中的职工关系,仍然存在某些数据冗余,因为多名职工具有同一种职务,且职务决定小时工资率,所以同样职务的小时工资率重复出现多次,重复次数与具有这种职称的人数相同。57数据冗余数据异常58更新异常

修改技术员的工资率,就必须修改所有技术员的工资率。添加异常

无法添加没有的新职称,因为职工号不能为空

。删除异常

如果要删除职工号为1004的元组,就会丢失律师职务的信息。

第三范式59

满足3NF的表中不存在传递依赖,即没有一个非主属性依赖于另一个非主属性,或者说没有一个非主属性决定另一个非主属性。

如果关系R

2NF,且R中不存在传递依赖性,则关系R属于第三范式,记作R

3NF。分解成4个第三范式关系职工

温馨提示

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

评论

0/150

提交评论