第2章关系数据库理论基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

信息学院计算机系1第二章关系数据库基础2.1关系模型2.2关系的完整性2.3关系代数2.4小结信息学院计算机系2了解关系的数学定义、关系数据语言掌握关系的完整性理解关系模型的运算理论掌握关系代数的五个基本操作,四个组合操作掌握关系代数表达式了解关系代数表达式的优化【要求】第二章关系数据库基础信息学院计算机系32.1关系模型数据结构2.1关系模型2.1.1关系模型概述2.1.2关系数据结构定义与术语2.1.3关系基本性质2.1.4关系模型的优点信息学院计算机系42.1.1关系模型概述系统而严格地提出关系模型的是美国IBM公司SanJose研究室的E.F.Codd1970年提出关系数据模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式1974年提出了关系的BC范式信息学院计算机系5△关系模型组成关系操作集合关系完整性约束2.1.1关系模型概述用关系模型作为数据组织方式的数据库称为关系数据库关系数据库应用数学方法处理数据库中的数据80年代后,关系数据库系统成为最重要、最流行的数据库系统典型的关系数据库管理系统:ORACLE、SYBASE、SQLSERVER、DB2等关系数据结构信息学院计算机系61、域(Domain)2、笛卡尔积(CartesianProduct)3、关系(Relation)2.1.2关系数据结构定义与术语信息学院计算机系71、域(Domain)域是一组具有相同数据类型的值的集合。例:整数、实数介于某个取值范围的整数指定长度的字符串集合学生性别的域是{男,女}D1={男,女}学生成绩的集合是0~100的整数集合。D2=(0,1,2,…100}介于某个取值范围的日期2.1.2关系数据结构定义与术语(续)信息学院计算机系82、笛卡尔积(CartesianProduct)1)笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}所有域的所有取值的一个组合不能重复笛卡尔积可表示为一个二维表。表中的每列对应一个域。2.1.2关系数据结构定义与术语(续)信息学院计算机系9例1:D1导师域D2专业域D3研究生域D1D2D3张清玫计算机李勇刘逸信息刘晨王敏D1xD2D3D1xD2xD3张清玫计算机李勇张清玫计算机李勇刘逸计算机x刘晨=刘逸计算机李勇张清玫信息王敏张清玫信息李勇刘逸信息刘逸信息李勇张清玫计算机刘晨刘逸计算机刘晨张清玫信息刘晨刘逸信息刘晨张清玫计算机王敏刘逸计算机王敏张清玫信息王敏刘逸信息王敏2.1.2关系数据结构定义与术语(续)信息学院计算机系102)元组(Tuple):笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple),简称元组。二维表中的每行对应一个元组,3)分量(Component)笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量。2.1.2关系的数学定义与术语(续)信息学院计算机系114)基数(Cardinalnumber):元组的个数若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:在上例中,基数:2×2×3=12,即D1×D2×D3共有2×2×3=12个元组5)笛卡尔积的表示方法笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。mMin1i2.1.2关系数据结构定义与术语(续)信息学院计算机系121)定义:D1×D2×…×Dn的子集称为在域D1,D2,…Dn上的关系。记为:R(D1,D2,…Dn)D1XD2XD3张清玫计算机李勇刘逸计算机李勇张清玫信息李勇刘逸信息李勇张清玫计算机刘晨刘逸计算机刘晨张清玫信息刘晨刘逸信息刘晨张清玫计算机王敏刘逸计算机王敏张清玫信息王敏刘逸信息王敏R:关系名n:关系的目或度(Degree)3、关系2.1.2关系数据结构定义与术语(续)注意:关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的,在笛卡尔积中取出有实际意义的元组来构造关系。信息学院计算机系13举例:导师专业研究生张清玫计算机李勇张清玫计算机王敏刘逸信息刘晨学号姓名性别年龄专业9901李勇男20CS9902刘晨女19IS9903王名男18MA9904张立女19IS课程号课程名先修课学分C01数据库C054C02数学2C03信息系统C014C04操作系统C063C05数据结构C074C06数据处理2C07C语言C064股东编号股票代码证券公司编号数量A9901600218B00385000A9901600839B003812000A9901000913B003810000A9901000913S001220000A9904000736B003850002.1.2关系数据结构定义与术语(续)关系的表示:二维表,表的每行对应一个元组,表的每列对应一个域。关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。n目关系必有n个属性。信息学院计算机系14候选码(Candidatekey)能惟一标识一个元组,且又不含有多余属性的属性集.在最简单的情况下,候选码只包含一个属性。全码(All-key)在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码。主码(Primarykey)若一个关系有多个候选码,则选定其中一个为主码候选码的诸属性称为主属性(Primeattribute),反之为非主属性(Non-keyattribute)2)码2.1.2关系数据结构定义与术语(续)信息学院计算机系152.1.3关系基本性质1、列是同质的(Homogeneous)每一列中的分量是同一类型的数据,来自同一个域2、不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名3、行、列的顺序无所谓:可以任意交换4、任意两个元组不能完全相同由笛卡尔积的性质决定(关系中用主码标识元组)5、分量必须取原子值:每一个分量必须是不可分的数据项。这是规范条件中最基本的一条信息学院计算机系16举例:若属性A1,A2分别在域D1,D2中取值(D1={1,2,3},D2={a,b}),问:R1,R2,R3是否为关系?R1是关系R2,R3不是关系表2.3非规范化关系POSTGRADUATESUPERVISORSPECIALITYPG1PG2张清玫计算机李勇王敏刘逸信息刘晨2.1.3关系基本性质(续)信息学院计算机系172.1.4关系模型的优点关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系表示可表示多对多网状关系利用公共属性连接语言表达简练信息学院计算机系182.2、关系完整性2.2.1关系的完整性2.2.2实体完整性2.2.3参照完整性2.2.4用户定义的完整性信息学院计算机系192.2.1关系的完整性关系模型的数据完整性规则是对关系的某种约束条件保证数据库的数据与现实世界的一致性。即:防止数据库中出现不符合语义的数据。完整性约束是关系数据库模型的重要组成部分。由系统提供定义和检验这类完整性的机制(非应用程序),并且提供对违反约束的处理过程。信息学院计算机系202.2.1关系的完整性(续)关系模型中三类完整性约束:实体完整性参照完整性用户定义的完整性实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,由关系系统自动支持。信息学院计算机系212.2.2实体完整性(EntityIntegrity)实体完整性规则:(1)主码惟一标识一元组△用主码实现关系定义中“表中任意两行(元组)不能相同的约束。(2)主码不能取空值△空值:“不知道”或“无意义”的值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体。学号姓名性别年龄专业9901李勇男20CS9902刘晨女19IS9903王名男18MA9904张立女19IS“学号+课程号”为主码,则两个属性都不能取空值。2.2.2实体完整性(EntityIntegrity)学号课程号成绩9901C01929901C02859901C03889902C02909902C0380——对主码的约束信息学院计算机系22关系模型必须遵守实体完整性规则的原因:(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。(2)现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。关系模型中以主码作为唯一性标识。2.2.2实体完整性(续)信息学院计算机系232.2.3参照完整性(ReferentialIntegrity)1、关系间的引用2、外码3、参照完整性规则信息学院计算机系241、关系间的引用在关系模型中实体及实体间的联系都是用关系来描述的。学号姓名性别年龄班号9901李勇男20B0703559902刘晨女19B0703559903王名男18B0704349954张立女19B080355班号班主任专业学院B070355张艳计算机科学信息学院B070345吴林电子自动化自动化学院B070434何珊市场营销管理学院B080355刘如计算机科学信息学院参照关系被参照关系2.2.3参照完整性(续)信息学院计算机系25例:学生、课程、学生与课程之间的多对多联系学号姓名性别年龄专业9901李勇男20CS9902刘晨女19IS9903王名男18MA9904张立女19IS学号课程号成绩9901C01929901C02859901C03889902C02909902C0380课程号课程名先修课学分C01数据库C054C02数学2C03信息系统C014C04操作系统C063C05数据结构C074C06数据处理2C07C语言C064参照关系被参照关系被参照关系2.2.3参照完整性(续)信息学院计算机系26若一个关系R中包含有另一个关系S的主码所对应的属性组F,则称F为关系R的外码。关系模型中关系(表)之间的联系:反映现实世界中事物之间的联系,通过一个表的主码和另一个表的外码来实现学号图书号借阅日期9901SP0012009-5-229901SP0022009-5-229901SP0012009-6-169902SP0032008-4-109902SP1212009-3-18学号课程号成绩9901C01929901C02859901C03889902C02909902C0380学号姓名性别年龄班号9901李勇男20B0703559902刘晨女19B0703559903王名男18B0704349954张立女19B080355班号班主任专业学院B070355张艳计算机科学信息学院B070345吴林电子自动化自动化学院B070434何珊市场营销管理学院B080355刘如计算机科学信息学院课程号课程名先修课学分C01数据库C054C02数学2C03信息系统C014C04操作系统C063C05数据结构C074C06数据处理2C07C语言C0642、外码2.2.3参照完整性(续)信息学院计算机系273、参照完整性规则——对外码的约束2.2.3参照完整性(续)设:F是关系R的一个或一组属性,但不是关系R的码。如果F与关系S的主码Ks相对应,则F是关系R的外码,关系R称为参照关系(ReferencingRelation),关系S称为被参照关系(ReferencedRelation)或者取空值(F的每个属性值均

1 / 98
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功