关系模型和关系运算讲稿.ppt

上传人:石*** 文档编号:84126990 上传时间:2023-04-02 格式:PPT 页数:113 大小:4.89MB
返回 下载 相关 举报
关系模型和关系运算讲稿.ppt_第1页
第1页 / 共113页
关系模型和关系运算讲稿.ppt_第2页
第2页 / 共113页
点击查看更多>>
资源描述

《关系模型和关系运算讲稿.ppt》由会员分享,可在线阅读,更多相关《关系模型和关系运算讲稿.ppt(113页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、关系模型和关系运算关系模型和关系运算第一页,讲稿共一百一十三页哦 第二章第二章 关系模型和关系运算关系模型和关系运算 2.1 关系模型概述关系模型概述 2.2 关系数据结构及完整性约束关系数据结构及完整性约束 2.3 关系代数关系代数数数据据库库系系统统原原理理第二页,讲稿共一百一十三页哦 第二章第二章 关系模型和关系运算关系模型和关系运算学习要求:学习要求:深刻理解关系模型的相关概念,即深刻理解关系模型的相关概念,即关系模型的关系模型的数据结构、关系操作和关系完整性约束数据结构、关系操作和关系完整性约束;掌握关系代数;掌握关系代数的基本运算和应用。的基本运算和应用。学习重点:学习重点:关系模

2、型的基本概念;关系模型的基本概念;关系模型的三类完整性约束;关系模型的三类完整性约束;关系代数的选择、连接、除等运算关系代数的选择、连接、除等运算数数据据库库系系统统原原理理第三页,讲稿共一百一十三页哦 第二章第二章 关系模型和关系运算关系模型和关系运算2.1 关系模型概述关系模型概述2.2 关系数据结构及完整性约束关系数据结构及完整性约束2.3 关系代数关系代数数数据据库库系系统统原原理理第四页,讲稿共一百一十三页哦 第一节第一节 关系模型概述关系模型概述一、关系理论的产生与发展一、关系理论的产生与发展系系统统而而严严格格地地提提出出关关系系模模型型的的是是美美国国IBM公公司司的的E.F.

3、Codd1970年提出关系数据模型年提出关系数据模型之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式1974年提出了关系的年提出了关系的BC范式范式关系数据库系统是支持关系模型的数据库系统关系数据库系统是支持关系模型的数据库系统80年年代代后后,关关系系数数据据库库系系统统成成为为最最重重要要、最最流流行行的数据库系统的数据库系统第第二二章章关关系系模模型型和和关关系系运运算算第五页,讲稿共一百一十三页哦关系理论的产生与发展(续)关系理论的产生与发展(续)典型实验系统典型实验系统System R

4、University INGRES典型商用系统典型商用系统ORACLESYBASEINFORMIXDB2SQL SERVERINGRES第第二二章章关关系系模模型型和和关关系系运运算算第六页,讲稿共一百一十三页哦第一节第一节 关系模型概述关系模型概述二、关系模型的组成二、关系模型的组成关系数据结构关系数据结构关系操作关系操作关系完整性约束关系完整性约束第第二二章章关关系系模模型型和和关关系系运运算算第七页,讲稿共一百一十三页哦 (一)关系数据结构(一)关系数据结构单一的数据结构单一的数据结构-关系关系现现实实世世界界的的实实体体以以及及实实体体间间的的各各种种联联系系均均用用关系来表示。关系来

5、表示。数据的逻辑结构数据的逻辑结构-二维表二维表从从用用户户角角度度,关关系系模模型型中中数数据据的的逻逻辑辑结结构构是是二二维维表。表。第第二二章章关关系系模模型型和和关关系系运运算算 学号学号姓名姓名性别性别专业专业宿舍宿舍0309113101陈浩陈浩男男计算机计算机松园松园2230309113102张立张立男男计算机计算机松园松园2250309113201王晨王晨女女通信通信梅园梅园112第八页,讲稿共一百一十三页哦 (二)关系操作(二)关系操作1、常用的关系操作、常用的关系操作查询查询查找用户所需要的数据查找用户所需要的数据数据更新数据更新插入、删除、修改插入、删除、修改查询的表达能力

6、是其中最主要的部分查询的表达能力是其中最主要的部分2、关系操作的特点关系操作的特点集合操作方式,即操作的对象和结果都是集合。集合操作方式,即操作的对象和结果都是集合。非关系数据模型的数据操作方式:非关系数据模型的数据操作方式:一次一记录一次一记录第第二二章章关关系系模模型型和和关关系系运运算算第九页,讲稿共一百一十三页哦 关系操作(续)关系操作(续)3、关系数据语言的种类、关系数据语言的种类关系代数语言关系代数语言 用对关系的运算来表达查询要求用对关系的运算来表达查询要求典型代表:典型代表:ISBL关系演算语言关系演算语言:用谓词来表达查询要求:用谓词来表达查询要求元组关系演算语言元组关系演算

7、语言谓词变元的基本对象是元组变量谓词变元的基本对象是元组变量典型代表:典型代表:ALPHA域关系演算语言域关系演算语言 谓词变元的基本对象是域变量谓词变元的基本对象是域变量典型代表:典型代表:QBE具有关系代数和关系演算双重特点的语言具有关系代数和关系演算双重特点的语言典型代表:典型代表:SQL第第二二章章关关系系模模型型和和关关系系运运算算第十页,讲稿共一百一十三页哦 (三)关系的完整性约束(三)关系的完整性约束实体完整性实体完整性通常由关系系统自动支持通常由关系系统自动支持参照完整性参照完整性早期系统不支持,目前大型系统能自动支持早期系统不支持,目前大型系统能自动支持用户定义的完整性用户定

8、义的完整性反反映映应应用用领领域域需需要要遵遵循循的的约约束束条条件件,体体现现了了具具体体领域中的语义约束领域中的语义约束用户定义后由系统支持用户定义后由系统支持第第二二章章关关系系模模型型和和关关系系运运算算第十一页,讲稿共一百一十三页哦 第二章第二章 关系模型和关系运算关系模型和关系运算2.1 关系模型概述关系模型概述2.2 关系数据结构及完整性约束关系数据结构及完整性约束2.3 关系代数关系代数第第二二章章关关系系模模型型和和关关系系运运算算第十二页,讲稿共一百一十三页哦第二节第二节 关系数据结构及完整性约束关系数据结构及完整性约束关系模型建立在集合代数的基础上。关系模型建立在集合代数

9、的基础上。关系数据结构的基本概念关系数据结构的基本概念域域笛卡儿积笛卡儿积关系关系关键字关键字主主属性属性非主属性非主属性关系数据库关系数据库第第二二章章关关系系模模型型和和关关系系运运算算第十三页,讲稿共一百一十三页哦 一、概念一、概念1、域(、域(Domain)域是一组具有相同数据类型的值的集合。域是一组具有相同数据类型的值的集合。例:例:整数整数实数实数介于某个取值范围的整数介于某个取值范围的整数指定长度的字符串集合指定长度的字符串集合男男,女女介于某个取值范围的日期介于某个取值范围的日期第第二二章章关关系系模模型型和和关关系系运运算算第十四页,讲稿共一百一十三页哦2、笛卡尔积(、笛卡尔

10、积(Cartesian Product)给给定定一一组组域域D1,D2,Dn,这这些些域域可可以以是是相相同同的的。D1 D2,Dn的的笛卡尔积为:笛卡尔积为:D1D2Dn(d1,d2,dn)di Di,i1,2,n元组(元组(Tuple)笛卡尔积中每一个元素笛卡尔积中每一个元素(d1,d2,dn)叫作一个叫作一个n元组元组(n-tuple)或简称元组。)或简称元组。分量(分量(Component)笛卡尔积元素笛卡尔积元素(d1,d2,dn)中的每一个值中的每一个值di叫作一个分量。叫作一个分量。基数(基数(Cardinal number)若若Di 为有限集,其基数为为有限集,其基数为mi,则

11、,则D1D2Dn的基数为:的基数为:第第二二章章关关系系模模型型和和关关系系运运算算第十五页,讲稿共一百一十三页哦 笛卡尔积(续笛卡尔积(续)例例2.1:给出三个域:给出三个域:D1=SUPERVISOR=张清玫,刘逸张清玫,刘逸 D2=SPECIALITY=计算机专业,信息专业计算机专业,信息专业D3=POSTGRADUATE=李勇,刘晨,王敏李勇,刘晨,王敏则则D1,D2,D3的笛卡尔积为:的笛卡尔积为:D1D2D3(张清玫张清玫,计算机专业计算机专业,李勇李勇),(张清玫张清玫,计算机专业计算机专业,刘晨刘晨),(张清玫张清玫,计算机专业计算机专业,王敏王敏),(张清玫张清玫,信息专业信

12、息专业,李勇李勇),(张清玫张清玫,信息专业信息专业,刘晨刘晨),(张清玫张清玫,信息专业信息专业,王敏王敏),(刘逸刘逸,计算机专业计算机专业,李勇李勇),(刘逸刘逸,计算机专业计算机专业,刘晨刘晨),(刘逸刘逸,计算机专业计算机专业,王敏王敏),(刘逸刘逸,信息专业信息专业,李勇李勇),(刘逸刘逸,信息专业信息专业,刘晨刘晨),(刘逸刘逸,信息专业信息专业,王敏王敏)第第二二章章关关系系模模型型和和关关系系运运算算第十六页,讲稿共一百一十三页哦 笛卡尔积(续笛卡尔积(续)例例2.2 假设假设D1是学号集合,是学号集合,D2是课程集合,例如:是课程集合,例如:D1=s2,s4,s7,s9,D

13、2=管理学,经济学,运筹学管理学,经济学,运筹学 则则D1 D2=(s2,管理学管理学),(s2,经济学经济学)(s2,运筹学运筹学),(s4,管理学管理学),(s4,经济学经济学),(s4,运筹学运筹学),(s7,管理学管理学),(s7,经济学经济学),(s7,运筹学运筹学),(s9,管理学管理学),(s9,经济学经济学),(s9,运筹学运筹学)笛卡尔积的表示方法笛卡尔积的表示方法笛笛卡卡尔尔积积可可表表示示为为一一个个二二维维表表。表表中中的的每每行行对对应应一一个元组,表中的每列对应一个域。个元组,表中的每列对应一个域。第第二二章章关关系系模模型型和和关关系系运运算算第十七页,讲稿共一百

14、一十三页哦 第第二二章章关关系系模模型型和和关关系系运运算算第十八页,讲稿共一百一十三页哦3.关系(关系(Relation)笛笛卡卡儿儿积积D1D2Dn的的子子集集叫叫作作在在域域D1,D2,Dn上的关系,表示为:上的关系,表示为:R(D1,D2,Dn)R:关系名关系名 n:关系的关系的目或度目或度(Degree)关系中的每个元素是关系中的元组,通常用关系中的每个元素是关系中的元组,通常用t表示。表示。单元关系与二元关系单元关系与二元关系当当n=1时时,称该关系为单元关系(称该关系为单元关系(Unary relation)。)。当当n=2时时,称该关系为二元关系(称该关系为二元关系(Binar

15、y relation)。)。第第二二章章关关系系模模型型和和关关系系运运算算第十九页,讲稿共一百一十三页哦例例2.3 在在表表2.1的的笛笛卡卡尔尔积积中中取取出出有有实实际际意意义义的的元元组组来来构造关系。构造关系。关系:关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假设:专业与导师:假设:专业与导师:1:n,导师与研究生:导师与研究生:1:nSAP关系可以包含三个元组关系可以包含三个元组 (张清玫,计算机专业,李勇张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨张清玫,计算机专业,刘晨),(刘逸,信息专业,王敏刘逸,信息专业,王敏)Superv

16、isorSpecialitypostgraduate张张清玫清玫计计算机算机专业专业李勇李勇张张清玫清玫计计算机算机专业专业刘晨刘晨刘逸刘逸信息信息专业专业王敏王敏 关系(续)关系(续)第第二二章章关关系系模模型型和和关关系系运运算算第二十页,讲稿共一百一十三页哦例例2.4:对对例例2.2取子集:取子集:R(s2,管理学管理学),(s4,经济学经济学),(s7,经济学经济学),(s9,运筹学运筹学)取子集,并将取子集,并将D1、D2分分别命名为学号和课程名称别命名为学号和课程名称 关系(续)关系(续)第第二二章章关关系系模模型型和和关关系系运运算算第二十一页,讲稿共一百一十三页哦关系可以有三种

17、类型:关系可以有三种类型:基基本本关关系系:实实际际存存在在的的表表,它它是是实实际际存存储储数数据据的逻辑表示。的逻辑表示。查询表:查询结果对应的表。查询表:查询结果对应的表。视视图图表表:由由基基本本表表或或其其他他视视图图表表导导出出的的表表,是是虚表,不对应实际存储的数据。虚表,不对应实际存储的数据。第第二二章章关关系系模模型型和和关关系系运运算算 关系(续)关系(续)第二十二页,讲稿共一百一十三页哦 关系(续)关系(续)基本关系具有以下六条性质基本关系具有以下六条性质每一列中的分量是统一类型的数据,来自同一个域每一列中的分量是统一类型的数据,来自同一个域不同列可以出自同一个域,不同属

18、性要给予不同的属性名。不同列可以出自同一个域,不同属性要给予不同的属性名。列的次序可以任意交换。列的次序可以任意交换。关系中不允许出现重复元组。关系中不允许出现重复元组。关系中行的次序可以任意交换。关系中行的次序可以任意交换。每一个分量都必须是不可分的数据项。每一个分量都必须是不可分的数据项。SupervisorSpecialitypostgraduatePG1PG2张张清玫清玫计计算机算机专业专业李勇李勇刘晨刘晨刘逸刘逸信息信息专业专业王敏王敏第第二二章章关关系系模模型型和和关关系系运运算算D1=PERSON=张清玫,刘逸张清玫,刘逸,李勇,刘晨,王敏,李勇,刘晨,王敏 D2=SPECIAL

19、ITY=计算机专业,信息专业计算机专业,信息专业定义导师属性名为定义导师属性名为SUPERVISOR-PERSON定义研究生属性名为定义研究生属性名为POSTGRADUATE-PERSON第二十三页,讲稿共一百一十三页哦4、属性、属性 关关系系中中不不同同列列可可以以对对应应相相同同的的域域,为为了了加加以以区区分分,必须对每列起一个名字,称为属性必须对每列起一个名字,称为属性(Attribute)。)。n目关系必有目关系必有n个属性。个属性。关关系系中中属属性性个个数数称称为为“元元数数”,元元组组个个数数称称为为“基数基数”。第第二二章章关关系系模模型型和和关关系系运运算算第二十四页,讲稿

20、共一百一十三页哦5、关键字、关键字(1)候选键)候选键若若关关系系中中的的某某一一最最小小属属性性组组的的值值能能唯唯一一地地标标识识一一个个元元组组,则则称称该该属性组称为候选键(属性组称为候选键(Candidate key)。)。在在最最简简单单的的情情况况下下,候候选选键键只只包包含含一一个个属属性性。在在最最极极端端的的情情况况下下,关关系系的的所所有有属属性性组组是是这这个个关关系系模模式式的的候候选选键键,称称为为全全码码(All-key)。)。(2)主键)主键若若一一个个关关系系有有多多个个候候选选键键,则则选选定定其其中中一一个个为为主主键键(Primary key)。)。主键

21、中的各属性称为主键中的各属性称为主属性主属性(Prime attribute)。)。不不包包含含在在任任何何侯侯选选键键中中的的属属性性称称为为非非主主属属性性(Non-key attribute)。)。第第二二章章关关系系模模型型和和关关系系运运算算第二十五页,讲稿共一百一十三页哦 关系小结关系小结关系举例:关系举例:第第二二章章关关系系模模型型和和关关系系运运算算第二十六页,讲稿共一百一十三页哦(3)外键外键如果关系如果关系R2的一个或一的一个或一组组属性属性X不是不是R2的主的主键键,而是另一关系而是另一关系R1的主的主键键,则该则该属性或属性属性或属性组组X称称为为关系关系R2的外部关

22、系的外部关系键键或外或外码码。并称并称关系关系R2为为参照关系参照关系(Referencing Relation),关系关系R1为为被参照关系被参照关系(Referenced Relation)。关键字(续)关键字(续)第第二二章章关关系系模模型型和和关关系系运运算算第二十七页,讲稿共一百一十三页哦例例2.5产产品关系品关系 Products(ProductID,ProductName,UnitPrice,SupplierID,UnitsInstock)供供应应商关系商关系Suppliers(SupplierID,CompanyName,Address)SupplierID是是Supplier

23、s关系的主关系的主键键,但它不是,但它不是Products关系的关系的主主键键(是其中一个属性),所以(是其中一个属性),所以SupplierID是是Products关系的关系的外部关系外部关系键键。Suppliers为为被参照关系,被参照关系,Products关系关系为为参照关参照关系。系。由外部关系由外部关系键键的定的定义义可知,可知,被参照关系的主被参照关系的主键键和参照关系的和参照关系的外外键键必必须须定定义义在同一个域上。在同一个域上。外键(续)外键(续)第第二二章章关关系系模模型型和和关关系系运运算算第二十八页,讲稿共一百一十三页哦 外键(续)外键(续)例例2.6第第二二章章关关系

24、系模模型型和和关关系系运运算算第二十九页,讲稿共一百一十三页哦6、关系数据、关系数据库库在一个给定的应用领域中,所有实体及实体之间的联在一个给定的应用领域中,所有实体及实体之间的联系的关系的集合构成一个关系数据库。系的关系的集合构成一个关系数据库。第第二二章章关关系系模模型型和和关关系系运运算算第三十页,讲稿共一百一十三页哦 二、二、关系模型的三级体系结构关系模型的三级体系结构关系模式(模式)关系模式(模式)子模式(外模式)子模式(外模式)存储模式(内模式)存储模式(内模式)第第二二章章关关系系模模型型和和关关系系运运算算应用A 数据库应用B应用C应用D应用E外模式1外模式2外模式3模式内模式

25、模式模式:数据库中数据库中全体全体数据的逻辑结构和特征的描述。数据的逻辑结构和特征的描述。内模式内模式:是数据物理结构和存储方式的描述。是数据物理结构和存储方式的描述。外模式外模式:是用户能够看见和使用的是用户能够看见和使用的局部局部数据的逻辑结构和特征的描述。数据的逻辑结构和特征的描述。第三十一页,讲稿共一百一十三页哦 (一)关系模式(一)关系模式l关关系系模模式式(Relation Schema)是是对对关关系系的的描描述述,主主要要包包括:括:元组集合的结构元组集合的结构属性构成属性构成属性来自的域属性来自的域 属性与域之间的映象关系属性与域之间的映象关系元组语义元组语义笛笛卡卡尔尔积积

26、中中符符合合元元组组语语义义的的部部分分元元素素的的全全体体构构成成该该关关系系模模式式的的关系关系完整性约束条件完整性约束条件属性取值范围的限定属性取值范围的限定属性间的相互关联属性间的相互关联第第二二章章关关系系模模型型和和关关系系运运算算第三十二页,讲稿共一百一十三页哦1、定义关系模式、定义关系模式关系的描述称为关系模式。它可以形式化地表示为:关系的描述称为关系模式。它可以形式化地表示为:R(U,D,DOM,F)R 关系名关系名U 组成该关系的属性名集合组成该关系的属性名集合D 属性组属性组U中属性所来自的域中属性所来自的域DOM 属性向域的映象集合属性向域的映象集合F 属性间的数据依赖

27、关系集合属性间的数据依赖关系集合第第二二章章关关系系模模型型和和关关系系运运算算第三十三页,讲稿共一百一十三页哦 定义关系模式定义关系模式(续续)例例2.7 在在上上面面例例子子中中,由由于于导导师师和和研研究究生生出出自自同同一一个个域域人人,所所以以要要取取不不同同的的属属性性名名,并并在在模模式式中中定定义义属属性性向向域域的的映映象象,即即说说明明它它们们分分别别出出自自哪哪个个域域,如:如:DOM(SUPERVISOR-PERSON)=DOM(POSTGRADUATE-PERSON)=PERSON第第二二章章关关系系模模型型和和关关系系运运算算第三十四页,讲稿共一百一十三页哦 定义关

28、系模式定义关系模式(续续)关系模式通常可以简记为关系模式通常可以简记为 R(U)或或 R(A1,A2,An)R 关系名关系名A1,A2,An 属性名属性名注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属 性的类型、长度。性的类型、长度。第第二二章章关关系系模模型型和和关关系系运运算算第三十五页,讲稿共一百一十三页哦2、关系模式与关系、关系模式与关系关系模式关系模式对关系的描述对关系的描述静态的、稳定的静态的、稳定的关系关系关系模式在某一时刻的状态或内容关系模式在某一时刻的状态或内容动态的、随时间不断变化的动态的、随时间不断变化的关关系系数数据据库库中中,关关系系

29、模模式式是是型型(二二维维表表的的表表框框架架或或结构),关系是值。结构),关系是值。在实际中,通常把关系模式和关系统称为关系。在实际中,通常把关系模式和关系统称为关系。第第二二章章关关系系模模型型和和关关系系运运算算第三十六页,讲稿共一百一十三页哦 (二)子模式(二)子模式子模式是用户所用到的那部分数据的描述,以及子模式是用户所用到的那部分数据的描述,以及数据与关系模式中相应数据的联系。数据与关系模式中相应数据的联系。OrderIDProductIDProductNameQuantity1110248Queso80 OrderIDProductIDQuantity111024880客客户订单

30、户订单子模式子模式D(OrderID,ProductID,ProductName,Quantity)ProductIDProductNameUnitPriceSupplierID10248Queso215 D ProductOrder Detail第第二二章章关关系系模模型型和和关关系系运运算算第三十七页,讲稿共一百一十三页哦 (三)存储模式(三)存储模式存储模式是数据物理结构和存储方式的存储模式是数据物理结构和存储方式的描述。描述。存储的方法存储的方法堆存储堆存储索引存储索引存储聚簇存储聚簇存储第第二二章章关关系系模模型型和和关关系系运运算算第三十八页,讲稿共一百一十三页哦(四)关系模型三级

31、模式体系举例(四)关系模型三级模式体系举例以学生信息管理数据库为例:以学生信息管理数据库为例:1、关系模式、关系模式学生(学号,姓名,性别,出生日期,专业,家庭住址,联系电话)学生(学号,姓名,性别,出生日期,专业,家庭住址,联系电话)专业(专业号,专业名称,所在院系)专业(专业号,专业名称,所在院系)课程(课程号,课程名称,学时,学分,学期)课程(课程号,课程名称,学时,学分,学期)教师(教师号,姓名,性别,所在院系,联系电话)教师(教师号,姓名,性别,所在院系,联系电话)选课(学期,课程号,学号,成绩)选课(学期,课程号,学号,成绩)课程安排表(课程号,教师号,上课时间)课程安排表(课程号

32、,教师号,上课时间)第第二二章章关关系系模模型型和和关关系系运运算算第三十九页,讲稿共一百一十三页哦关系模式的三级体系结构(续)关系模式的三级体系结构(续)SQL Server2005数据库中表的设计数据库中表的设计第第二二章章关关系系模模型型和和关关系系运运算算第四十页,讲稿共一百一十三页哦2、外模式、外模式关系模式的三级体系结构(续)关系模式的三级体系结构(续)第第二二章章关关系系模模型型和和关关系系运运算算第四十一页,讲稿共一百一十三页哦 3、存储模式、存储模式 在在C:Program FilesMicrosoft SQL Server MSSQL.2 MSSQLData目录下存放目录下

33、存放student数据库数据库的数据文件和日志文件。的数据文件和日志文件。关系模式的三级体系结构(续)关系模式的三级体系结构(续)第第二二章章关关系系模模型型和和关关系系运运算算第四十二页,讲稿共一百一十三页哦 三、关系模型的完整性规则三、关系模型的完整性规则关关系系模模型型的的完完整整性性规规则则是是对对关关系系的的某某种种约约束束条条件。件。关系模型中三类完整性约束:关系模型中三类完整性约束:实体完整性实体完整性参照完整性参照完整性用户定义的完整性用户定义的完整性实实体体完完整整性性和和参参照照完完整整性性是是关关系系模模型型必必须须满满足足的的完完整整性性约约束束条条件件,被被称称作作是

34、是关关系系的的两两个个不不变变性,应该由关系系统自动支持。性,应该由关系系统自动支持。第第二二章章关关系系模模型型和和关关系系运运算算第四十三页,讲稿共一百一十三页哦 (一)实体完整性(一)实体完整性1、实体完整性规则(、实体完整性规则(Entity Integrity)定义)定义 若若属属性性A是是基基本本关关系系R的的主主属属性性,则则属属性性A不不能能取取空空值。值。例例2.8:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE属属性性为为主主码码(假假设设研研究究生生不不会会重重名名),则则其其不能取空值。不能取空值。第第二二章章关关

35、系系模模型型和和关关系系运运算算第四十四页,讲稿共一百一十三页哦 实体完整性示例说明实体完整性示例说明Teacher关系关系第第二二章章关关系系模模型型和和关关系系运运算算第四十五页,讲稿共一百一十三页哦保存时提示错误信息保存时提示错误信息第第二二章章关关系系模模型型和和关关系系运运算算第四十六页,讲稿共一百一十三页哦 实体完整性实体完整性(续续)2、关系模型必须遵守实体完整性规则的原因、关系模型必须遵守实体完整性规则的原因l实实体体完完整整性性规规则则是是针针对对基基本本关关系系而而言言的的。一一个个基基本本表表通通常常对应现实世界的一个实体集。对应现实世界的一个实体集。l现现实实世世界界中

36、中的的实实体体都都是是可可区区分分的的,即即它它们们具具有有某某种种唯唯一一性性标识。标识。l相应地,关系模型中以主码作为唯一性标识。相应地,关系模型中以主码作为唯一性标识。l主主码码中中的的属属性性即即主主属属性性不不能能取取空空值值。所所谓谓空空值值就就是是“不不知知道道”或或“无无意意义义”的的值值。如如果果主主属属性性取取空空值值,就就说说明明存存在在某某个个不不可可标标识识的的实实体体,即即存存在在不不可可区区分分的的实实体体,这这与第(与第(2)点相矛盾)点相矛盾,因此这个规则称为实体完整性。因此这个规则称为实体完整性。第第二二章章关关系系模模型型和和关关系系运运算算第四十七页,讲

37、稿共一百一十三页哦 实体完整性实体完整性(续续)3、注意、注意实实体体完完整整性性规规则则规规定定基基本本关关系系的的所所有有主主属属性性都都不不能取空值。能取空值。例例2.9:学生选课关系:学生选课关系:选修(学号选修(学号,课程号课程号,成绩)成绩)“学学号号、课课程程号号”为为主主码码,则则“学学号号”和和“课课程程号号”两个属性都不能取空值。两个属性都不能取空值。第第二二章章关关系系模模型型和和关关系系运运算算第四十八页,讲稿共一百一十三页哦 (二)参照完整性(二)参照完整性1、关系间的引用、关系间的引用在在关关系系模模型型中中实实体体及及实实体体间间的的联联系系都都是是用用关关系系来

38、描述的来描述的,因此可能存在着关系与关系间的引用。因此可能存在着关系与关系间的引用。例例2.10 学学生生实实体体、专专业业实实体体以以及及专专业业与与学学生生间间的的一一对多联系对多联系 学生(学生(学号学号,姓名姓名,性别性别,专业号专业号,年龄)年龄)专业(专业(专业号专业号,专业名)专业名)第第二二章章关关系系模模型型和和关关系系运运算算第四十九页,讲稿共一百一十三页哦 关系间的引用关系间的引用(续续)学生学生专业专业第第二二章章关关系系模模型型和和关关系系运运算算第五十页,讲稿共一百一十三页哦关系间的引用关系间的引用(续续)例例2.11 学生、课程、学生与课程之间的多对多联系。学生、

39、课程、学生与课程之间的多对多联系。学生(学生(学号学号,姓名姓名,性别性别,专业号专业号,年龄)年龄)课程(课程(课程号课程号,课程名课程名,学分)学分)选修(选修(学号学号,课程号课程号,成绩)成绩)第第二二章章关关系系模模型型和和关关系系运运算算第五十一页,讲稿共一百一十三页哦 学生学生学生选课学生选课课程课程第第二二章章关关系系模模型型和和关关系系运运算算关系间的引用关系间的引用(续续)第五十二页,讲稿共一百一十三页哦 关系间的引用关系间的引用(续续)例例2.12 学生实体及其内部的领导联系学生实体及其内部的领导联系(一对多一对多)学生(学生(学号学号,姓名姓名,性别性别,专业号专业号,

40、年龄年龄,班长)班长)第第二二章章关关系系模模型型和和关关系系运运算算第五十三页,讲稿共一百一十三页哦关系间的引用(小结)关系间的引用(小结)第第二二章章关关系系模模型型和和关关系系运运算算参照关系参照关系 被参照关系被参照关系学生关系学生关系 专业关系专业关系专业号专业号学生关系学生关系 选修关系选修关系 课程关系课程关系学号学号课程号课程号学生关系学生关系学号学号第五十四页,讲稿共一百一十三页哦 参照完整性参照完整性(续续)参照完整性规则就是定义参照完整性规则就是定义外键外键与与主键主键之间的引用规则。之间的引用规则。2、参照完整性规则定义、参照完整性规则定义若若属属性性(或或属属性性组组

41、)F是是基基本本关关系系R的的外外键键,它它与与基基本本关关系系S的的主主键键Ks相相对对应应(基基本本关关系系R和和S不不一一定定是是不不同同的的关关系系),则则对对于于R中中每每个个元元组组在在F上上的的值必须为:值必须为:或者取空值(或者取空值(F的每个属性值均为空值)的每个属性值均为空值)或者等于或者等于S中某个元组的主码值中某个元组的主码值第第二二章章关关系系模模型型和和关关系系运运算算第五十五页,讲稿共一百一十三页哦 参照完整性参照完整性(续续)说明说明关系关系R和和S不一定是不同的关系。不一定是不同的关系。外键并不一定要与相应的主键同名。外键并不一定要与相应的主键同名。当当外外键

42、键与与相相应应的的主主码码属属于于不不同同关关系系时时,往往往往取取相相同同的的名字名字,以便于识别。以便于识别。目目标标关关系系S的的主主键键Ks和和参参照照关关系系的的外外键键F必必须须定定义义在同一个(或一组)域上。在同一个(或一组)域上。第第二二章章关关系系模模型型和和关关系系运运算算第五十六页,讲稿共一百一十三页哦 参照完整性参照完整性(续续)例例2.10中中,学学生生关关系系中中的的“专专业业号号”是是专专业业关关系系的的主主码码,但但不不是是学学生生关关系系的的码码,因因此此,“专专业业号号”是是学学生生关关系系的的外外码码。学学生生关关系系中中每每个个元元组组的的“专专业业号号

43、”属性只能取下面属性只能取下面两类值两类值:空值,表示尚未给该学生分配专业;空值,表示尚未给该学生分配专业;非非空空值值,这这时时该该值值必必须须是是专专业业关关系系中中某某个个元元组组的的“专专业业号号”值值,表表示示该该学学生生不不可可能能分分配配到到一一个不存在的专业中。个不存在的专业中。第第二二章章关关系系模模型型和和关关系系运运算算第五十七页,讲稿共一百一十三页哦 参照完整性规则参照完整性规则(续续)例例2.11中中,选选修修关关系系中中的的“学学号号”是是学学生生关关系系的的主主码码,选选修修关关系系中中的的“课课程程号号”是是课课程程关关系系的的主主码码,但但它它们们每每个个都都

44、不不是是选选修修关关系系的的码码;因因此此,“学学号号”和和“课程号课程号”都是选修关系的外码。都是选修关系的外码。由由于于“学学号号”和和“课课程程号号”是是选选修修关关系系中中的的主主属属性性,按按照照实实体体完完整整性性和和参参照照完完整整性性规规则则,它它们们只能取相应被参照关系中只能取相应被参照关系中已经存在已经存在的主码值。的主码值。第第二二章章关关系系模模型型和和关关系系运运算算第五十八页,讲稿共一百一十三页哦 参照完整性规则参照完整性规则(续续)例例2.12中中,“班班长长”不不是是学学生生关关系系的的码码,但但对对应应于于学学生生关关系系的的码码“学学号号”,从从而而是是学学

45、生生关关系系的的外外码码。“班班长长”属性值可以取属性值可以取两类值两类值:空值,表示该学生所在班级尚未选出班长,或该空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;学生本人即是班长;非空值,这时该值必须是本关系中某个元组的学号值。非空值,这时该值必须是本关系中某个元组的学号值。第第二二章章关关系系模模型型和和关关系系运运算算第五十九页,讲稿共一百一十三页哦 参照完整性(续)参照完整性(续)例例2.13 在在产产品关系中有下列两个关系模式:品关系中有下列两个关系模式:产产品关系品关系Products(ProductID,ProductName,UnitPrice,SupplierI

46、D,UnitsInstock)订单订单明明细细关系:关系:Orders Details(OrderID,ProductID,UnitPrice,Quantity)问题问题:(1)两个关系的主)两个关系的主键键是什么?是什么?(2)订单订单明明细细关系的外关系的外键键是什么?其是什么?其值值能否能否为为空?空?第第二二章章关关系系模模型型和和关关系系运运算算第六十页,讲稿共一百一十三页哦例例2.14 设课设课程之程之间间有先修、后有先修、后续联续联系。关系模式如下:系。关系模式如下:R(CourseID,Cname,PCourseID)问题问题:如果如果规规定:每定:每门课门课的直接先修的直接先

47、修课课至多只有一至多只有一门门,那么关系,那么关系R的主的主键键是什么,外是什么,外键键是什么?外是什么?外键键能否能否为为空?空?第第二二章章关关系系模模型型和和关关系系运运算算 参照完整性(续)参照完整性(续)第六十一页,讲稿共一百一十三页哦如:如:第第二二章章关关系系模模型型和和关关系系运运算算 参照完整性(续)参照完整性(续)CourseID CNamePCourseIDC01数据数据库库系系统统原理原理C03C02数据数据库库高高级应级应用用C01 C03数据数据结结构构C04信息系信息系统统开开发发C02第六十二页,讲稿共一百一十三页哦 参照完整性示例说明参照完整性示例说明学院关系

48、学院关系建立学院关系和建立学院关系和teacher关系的参照关系关系的参照关系第第二二章章关关系系模模型型和和关关系系运运算算第六十三页,讲稿共一百一十三页哦 参照完整性示例说明参照完整性示例说明插入新的记录(所在学院属性值为插入新的记录(所在学院属性值为4)结果结果第第二二章章关关系系模模型型和和关关系系运运算算第六十四页,讲稿共一百一十三页哦 (三)用户定义的完整性(三)用户定义的完整性用用户户定定义义的的完完整整性性是是针针对对某某一一具具体体关关系系数数据据库库的的约约束束条条件件,反反映映某某一一具具体体应应用用所所涉涉及及的的数数据据必必须须满满足足的语义要求。的语义要求。关关系系

49、模模型型应应提提供供定定义义和和检检验验这这类类完完整整性性的的机机制制,以以便便用用统统一一的的系系统统的的方方法法处处理理它它们们,而而不不需需要要由应用程序承担这一功能。由应用程序承担这一功能。第第二二章章关关系系模模型型和和关关系系运运算算第六十五页,讲稿共一百一十三页哦 用户定义的完整性用户定义的完整性(续续)例例2.15:课程课程(课程号课程号,课程名课程名,学分学分)“课程号课程号”属性必须取唯一值属性必须取唯一值非主属性非主属性“课程名课程名”也不能取空值也不能取空值“学分学分”属性只能取值属性只能取值1,2,3,4第第二二章章关关系系模模型型和和关关系系运运算算第六十六页,讲

50、稿共一百一十三页哦 第二章第二章 关系模型和关系运算关系模型和关系运算2.1 关系模型概述关系模型概述2.2 关系数据结构及完整性约束关系数据结构及完整性约束2.3 关系代数关系代数第第二二章章关关系系模模型型和和关关系系运运算算第六十七页,讲稿共一百一十三页哦 第三节第三节 关系代数关系代数 关系代数以一个或两个关系为输入,产生关系代数以一个或两个关系为输入,产生一个新的关系作为结果。关系代数运算的主要一个新的关系作为结果。关系代数运算的主要类型包括:类型包括:传统的集合运算传统的集合运算 专门的关系运算专门的关系运算 第第二二章章关关系系模模型型和和关关系系运运算算第六十八页,讲稿共一百一

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com