数据库系统原理教程2关系数据库.ppt
《数据库系统原理教程2关系数据库.ppt》由会员分享,可在线阅读,更多相关《数据库系统原理教程2关系数据库.ppt(219页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章关系数据库关系数据库2.1关系数据库概述关系数据库概述2.2关系数据结构关系数据结构2.3关系的完整性关系的完整性2.4关系代数关系代数2.5关系演算关系演算2.6关系数据库管理系统关系数据库管理系统2.7小结小结关系数据库简介关系数据库简介l系系统统而而严严格格地地提提出出关关系系模模型型的的是是美美国国IBM公司的公司的E.F.Codd1970年提出关系数据模型年提出关系数据模型E.F.Codd,“A Relational Model of Data forLargeSharedDataBanks”,CommunicationoftheACM,1970之后,提出了关系代数和关系演
2、算的概念之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式1974年提出了关系的年提出了关系的BC范式范式关系数据库简介关系数据库简介l关关系系数数据据库库应应用用数数学学方方法法来来处处理理数数据据库库中的数据中的数据l80年年代代后后,关关系系数数据据库库系系统统成成为为最最重重要要、最流行的数据库系统最流行的数据库系统关系数据库简介关系数据库简介l典型实验系统典型实验系统SystemRUniversityINGRESl典型商用系统典型商用系统ORACLESYBASEDB2SQLServerINFORMIXINGRES第第2章章
3、关系数据库关系数据库2.1关系数据库概述关系数据库概述2.2关系数据结构关系数据结构2.3关系的完整性关系的完整性2.4关系代数关系代数2.5关系演算关系演算2.6关系数据库管理系统关系数据库管理系统2.7小结小结2.1关系数据库概述关系数据库概述l关关系系数数据据库库系系统统是是支支持持关关系系模模型型的的数数据据库系统库系统l关系模型的组成关系模型的组成关系数据结构关系数据结构关系操作集合关系操作集合关系完整性约束关系完整性约束1.关系数据结构关系数据结构l单一的数据结构单一的数据结构-关系关系现现实实世世界界的的实实体体以以及及实实体体间间的的各各种种联联系系均均用用关系来表示关系来表示
4、l数据的逻辑结构数据的逻辑结构-二维表二维表从从用用户户角角度度,关关系系模模型型中中数数据据的的逻逻辑辑结结构构是是一张二维表。一张二维表。2.关系操作关系操作l1)常用的关系操作常用的关系操作l2)关系操作的特点关系操作的特点l3)关系数据语言的种类关系数据语言的种类l4)关系数据语言的特点关系数据语言的特点关系操作关系操作(续)续)l1)常用的关系操作常用的关系操作查询查询选择选择、投影投影、连接连接、除、并、交、差、除、并、交、差数据更新数据更新插入插入、删除删除、修改修改查询的表达能力是其中最主要的部分查询的表达能力是其中最主要的部分关系操作(续)关系操作(续)l2)关系操作的特点关
5、系操作的特点集集合合操操作作方方式式,即即操操作作的的对对象象和和结结果果都都是是集集合。合。非关系数据模型的数据操作方式:一次一记录非关系数据模型的数据操作方式:一次一记录文件系统的数据操作方式文件系统的数据操作方式关系操作(续)关系操作(续)l3)关系数据语言的种类关系数据语言的种类关系代数语言关系代数语言用用对关系的运算对关系的运算来表达查询要求来表达查询要求典型代表:典型代表:ISBL关系操作(续)关系操作(续)l关系数据语言的种类(续)关系数据语言的种类(续)关系演算语言:用关系演算语言:用谓词谓词来表达查询要求来表达查询要求元组关系演算语言元组关系演算语言谓词变元的基本对象是元组变
6、量谓词变元的基本对象是元组变量典型代表:典型代表:APLHA,QUEL域关系演算语言域关系演算语言谓词变元的基本对象是域变量谓词变元的基本对象是域变量典型代表:典型代表:QBE具有关系代数和关系演算双重特点的语言具有关系代数和关系演算双重特点的语言典型代表:典型代表:SQL关系操作(续)关系操作(续)l4)关系数据语言的特点关系数据语言的特点关系语言是一种高度非过程化的语言关系语言是一种高度非过程化的语言存取路径的选择由存取路径的选择由DBMS的优化机制来完成的优化机制来完成用户不必用循环结构就可以完成数据操作用户不必用循环结构就可以完成数据操作能够嵌入高级语言中使用能够嵌入高级语言中使用关关
7、系系代代数数、元元组组关关系系演演算算和和域域关关系系演演算算三三种种语言在表达能力上完全等价语言在表达能力上完全等价3.3.关系的三类完整性约束关系的三类完整性约束l实体完整性实体完整性通常由关系系统自动支持通常由关系系统自动支持l参照完整性参照完整性早期系统不支持,目前大型系统能自动支持早期系统不支持,目前大型系统能自动支持l用户定义的完整性用户定义的完整性反反映映应应用用领领域域需需要要遵遵循循的的约约束束条条件件,体体现现了了具体领域中的语义约束具体领域中的语义约束用户定义后由系统支持用户定义后由系统支持第第2章章关系数据库关系数据库2.1关系数据库概述关系数据库概述2.2关系数据结构
8、关系数据结构2.3关系的完整性关系的完整性2.4关系代数关系代数2.5关系演算关系演算2.6关系数据库管理系统关系数据库管理系统2.7小结小结2.2关系数据结构关系数据结构l关系模型建立在集合代数的基础上关系模型建立在集合代数的基础上l关系数据结构的基本概念关系数据结构的基本概念关系关系关系模式关系模式关系数据库关系数据库2.2关系数据结构关系数据结构l1.1.关系关系l2.2.关系模式关系模式l3.3.关系数据库关系数据库一、一、关系关系l域(域(Domain)l2.笛卡尔积(笛卡尔积(CartesianProduct)l3.关系(关系(Relation)域(域(Domain)l域域是一组具
9、有相同数据类型的值的集合。是一组具有相同数据类型的值的集合。例例整数整数实数实数指定长度的字符串集合指定长度的字符串集合介于某个取值范围的整数介于某个取值范围的整数男男,女女介于某个取值范围的日期介于某个取值范围的日期2.笛卡尔积(笛卡尔积(CartesianProduct)l1)笛卡尔积笛卡尔积给定一组域给定一组域D1,D2,Dn,这些域中可这些域中可以有相同的。以有相同的。D1,D2,Dn的的笛卡尔积笛卡尔积为:为:D1D2Dn(d1,d2,dn)di Di,i1,2,n 所有域的所有取值的一个组合所有域的所有取值的一个组合不能重复不能重复笛卡尔积(续笛卡尔积(续)例例给出三个域:给出三个
10、域:D1=SUPERVISOR=张清玫,刘逸张清玫,刘逸D2=SPECIALITY=计算机专业,信息专业计算机专业,信息专业 D3=POSTGRADUATE=李勇,刘晨,王敏李勇,刘晨,王敏则则D1,D2,D3的笛卡尔积为:的笛卡尔积为:D1D2D3(张张清清玫玫,计计算算机机专专业业,李李勇勇),(张张清清玫玫,计计算算机机专专业业,刘刘晨晨),(张清玫,计算机专业,王敏张清玫,计算机专业,王敏),(张清玫,信息专业,李勇张清玫,信息专业,李勇),(张清玫,信息专业,刘晨张清玫,信息专业,刘晨),(张清玫,信息专业,王敏张清玫,信息专业,王敏),(刘逸,计算机专业,李勇刘逸,计算机专业,李勇
11、),(刘逸,计算机专业,刘晨刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏刘逸,计算机专业,王敏),(刘逸,信息专业,李勇刘逸,信息专业,李勇),(刘逸,信息专业,刘晨刘逸,信息专业,刘晨),(刘逸,信息专业,王敏刘逸,信息专业,王敏)笛卡尔积(续笛卡尔积(续)l2)元组元组(Tuple)笛笛卡卡尔尔积积中中每每一一个个元元素素(d1,d2,dn)叫叫作作一一个个n元组元组(n-tuple)或简称或简称元组元组。例例l3)分量(分量(Component)笛卡尔积元素(笛卡尔积元素(d1,d2,dn)中的每一个值中的每一个值di叫作一个叫作一个分量分量。例例笛卡尔积(续笛卡尔积(续)l4)基
12、数(基数(Cardinalnumber)若若Di(i1,2,n)为为有有限限集集,其其基基数数为为mi(i1,2,n),则则D1D2Dn的基数的基数M为:为:在上例中,基数:在上例中,基数:22312,即,即D1D2D3共共有有22312个元组个元组笛卡尔积(续笛卡尔积(续)l5)笛卡尔积的表示方法笛卡尔积的表示方法笛笛卡卡尔尔积积可可表表示示为为一一个个二二维维表表。表表中中的的每每行行对应一个元组,表中的每列对应一个域。对应一个元组,表中的每列对应一个域。在上例中,在上例中,12个元组可列成一张二维表个元组可列成一张二维表笛卡尔积(续笛卡尔积(续)3.关系关系(Relation)l1)关系
13、关系D1D2Dn的的子子集集叫叫作作在在域域D1,D2,Dn上的上的关系关系,表示为,表示为R(D1,D2,Dn)R:关系名关系名 n:关系的关系的目目或或度度(Degree)关系(续)关系(续)l1)关系关系(续续)注意注意关关系系是是笛笛卡卡尔尔积积的的有有限限子子集集。无无限限关关系系在在数数据据库库系统中是无意义的。系统中是无意义的。由于笛卡尔积不满足交换律,即由于笛卡尔积不满足交换律,即(d1,d2,dn)(d2,d1,dn)但关系满足交换律,即但关系满足交换律,即(d1,d2,di,dj,dn)=(d1,d2,dj,di,dn)(i,j=1,2,n)解解决决方方法法:为为关关系系的
14、的每每个个列列附附加加一一个个属属性性名名以以取取消关系元组的有序性消关系元组的有序性关系(续)关系(续)例例在在表表2.1的笛卡尔积中取出有实际意义的元组的笛卡尔积中取出有实际意义的元组来构造关系来构造关系关系:关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)关系名,属性名关系名,属性名假设:假设:导师与专业:导师与专业:1:1,导师与研究生:,导师与研究生:1:n于是:于是:SAP关系可以包含三个元组关系可以包含三个元组(张清玫,信息专业,李勇张清玫,信息专业,李勇),(张清玫,信息专业,刘晨张清玫,信息专业,刘晨),(刘逸,信息专业,王敏刘逸,信息专业
15、,王敏)关系(续)关系(续)l2)元组元组关系中的每个元素是关系中的关系中的每个元素是关系中的元组元组,通常用,通常用t 表示。表示。l3)单元关系与二元关系单元关系与二元关系当当n=1时,称该关系为时,称该关系为单元单元关系关系(Unaryrelation)。)。当当n=2时,称该关系为时,称该关系为二元二元关系关系(Binaryrelation)。)。关系(续)关系(续)l4)关系的表示关系的表示关关系系也也是是一一个个二二维维表表,表表的的每每行行对对应应一一个个元元组,表的每列对应一个域。组,表的每列对应一个域。关系(续)关系(续)l5)属性属性关关系系中中不不同同列列可可以以对对应应
16、相相同同的的域域,为为了了加加以以区区分分,必必须须对对每每列列起起一一个个名名字字,称称为为属属性性(Attribute)。)。n目关系必有目关系必有n个属性。个属性。关系(续)关系(续)l6)码码候选码候选码若若关关系系中中的的某某一一属属性性组组的的值值能能唯唯一一地地标标识识一一个个元元组,则称该属性组为组,则称该属性组为候选码候选码(Candidatekey)。)。候选码的诸属性称为候选码的诸属性称为主属性主属性(Primeattribute)。)。不不包包含含在在任任何何侯侯选选码码中中的的属属性性称称为为非非码码属属性性(Non-keyattribute)。)。在在最最简简单单的
17、的情情况况下下,候候选选码码只只包包含含一一个个属属性性。在在最最极极端端的的情情况况下下,关关系系模模式式的的所所有有属属性性组组是是这这个个关系模式的候选码,称为关系模式的候选码,称为全码全码(All-key)。)。关系(续)关系(续)l码码(续续)主码主码若若一一个个关关系系有有多多个个候候选选码码,则则选选定定其其中中一一个个为为主主码码(Primarykey)。)。关系(续)关系(续)l7)三类关系三类关系基本关系(基本表或基表)基本关系(基本表或基表)实际存在的表,是实际存储数据的逻辑表示实际存在的表,是实际存储数据的逻辑表示查询表查询表查询结果对应的表查询结果对应的表视图表视图表
18、由由基基本本表表或或其其他他视视图图表表导导出出的的表表,是是虚虚表表,不不对对应实际存储的数据应实际存储的数据关系(续)关系(续)l8)基本关系的性质基本关系的性质列是同质的(列是同质的(Homogeneous)每每一一列列中中的的分分量量是是同同一一类类型型的的数数据据,来来自自同同一一个个域。域。不同的列可出自同一个域不同的列可出自同一个域其中的每一列称为一个属性其中的每一列称为一个属性不同的属性要给予不同的属性名不同的属性要给予不同的属性名关系(续)关系(续)例例:上例中也可以只给出两个域:上例中也可以只给出两个域:人(人(PERSON)=张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李
19、勇,刘晨,王敏专业(专业(SPECIALITY)=计算机专业,信息专业计算机专业,信息专业SAP关系的导师属性和研究生属性都关系的导师属性和研究生属性都从从PERSON域中取值。域中取值。为为了了避避免免混混淆淆,必必须须给给这这两两个个属属性性取取不不同同的的属属性性名名,而而不不能能直接使用域名。直接使用域名。例例 如如 定定 义义 导导 师师 属属 性性 名名 为为 SUPERVISOR-PERSON(或或SUPERVISOR)研研 究究 生生 属属 性性 名名 为为 POSTGRADUATE-PERSON(或或POSTGRADUATE)SAP(SUPERVISOR-PERSON,SPE
20、CIALITY,POSTGRADUATE-PERSON)关系(续)关系(续)l基本关系的性质基本关系的性质(续续)列的顺序无所谓列的顺序无所谓列的次序可以任意交换列的次序可以任意交换遵遵循循这这一一性性质质的的数数据据库库产产品品(如如ORACLE),增增加加新属性时,永远是插至最后一列新属性时,永远是插至最后一列但但也也有有许许多多关关系系数数据据库库产产品品没没有有遵遵循循这这一一性性质质,例如例如FoxPro仍然区分了属性顺序仍然区分了属性顺序关系(续)关系(续)l基本关系的性质基本关系的性质(续续)任意两个元组不能完全相同任意两个元组不能完全相同由笛卡尔积的性质决定由笛卡尔积的性质决定
21、但但许许多多关关系系数数据据库库产产品品没没有有遵遵循循这这一一性性质质。例例如如Oracle,FoxPro等等都都允允许许关关系系表表中中存存在在两两个个完完全全相相同同的的元元组组,除除非非用用户户特特别别定定义义了了相相应应的的约约束束条条件。件。关系(续)关系(续)l基本关系的性质基本关系的性质(续续)行的顺序无所谓行的顺序无所谓行的次序可以任意交换行的次序可以任意交换遵遵循循这这一一性性质质的的数数据据库库产产品品(如如ORACLE),插插入入一个元组时永远插至最后一行一个元组时永远插至最后一行但但也也有有许许多多关关系系数数据据库库产产品品没没有有遵遵循循这这一一性性质质,例如例如
22、FoxPro仍然区分了元组的顺序仍然区分了元组的顺序关系(续)关系(续)l基本关系的性质基本关系的性质(续续)分量必须取原子值分量必须取原子值每每一一个个分分量量都都必必须须是是不不可可分分的的数数据据项项。这这是是规规范条件中最基本的一条范条件中最基本的一条二、二、关系模式关系模式l1什么是关系模式什么是关系模式l2定义关系模式定义关系模式l3.关系模式与关系关系模式与关系1什么是关系模式什么是关系模式l关系模式(关系模式(RelationSchema)是型,关系是值是型,关系是值l关系模式是对关系的描述关系模式是对关系的描述元组集合的结构元组集合的结构属性构成属性构成属性来自的域属性来自的
23、域属性与域之间的映象关系属性与域之间的映象关系元组语义元组语义完整性约束条件完整性约束条件属性间的数据依赖关系集合属性间的数据依赖关系集合2定义关系模式定义关系模式l关系模式可以形式化地表示为:关系模式可以形式化地表示为:R(U,D,dom,F)R 关系名关系名U组成该关系的属性名集合组成该关系的属性名集合D属性组属性组U中属性所来自的域中属性所来自的域dom属性向域的映象集合属性向域的映象集合F属性间的数据依赖关系集合。属性间的数据依赖关系集合。定义关系模式定义关系模式(续续)例例在在上上面面例例子子中中,由由于于导导师师和和研研究究生生出出自自同同一一个个域域人人,所所以以要要取取不不同同
24、的的属属性性名名,并并在在模模式式中中定定义义属属性性向向域域的的映映象象,即即说说明明它它们们分分别出自哪个域,如:别出自哪个域,如:dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON定义关系模式定义关系模式(续续)l关系模式通常可以简记为关系模式通常可以简记为R(U)或或R(A1,A2,An)R 关系名关系名A1,A2,An 属性名属性名注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属性的类型、长度。性的类型、长度。3.关系模式与关系关系模式与关系l关系模式关系模式对关系的描述对关系的描述静态的、稳定
25、的静态的、稳定的l关系关系关系模式在某一时刻的状态或内容关系模式在某一时刻的状态或内容动态的、随时间不断变化的动态的、随时间不断变化的l关关系系模模式式和和关关系系往往往往统统称称为为关关系系,通通过过上下文加以区别。上下文加以区别。三、关系数据库三、关系数据库l1.关系数据库关系数据库l2.关系数据库的型与值关系数据库的型与值1.关系数据库关系数据库l在在一一个个给给定定的的应应用用领领域域中中,所所有有实实体体及及实实体体之之间间联联系系的的关关系系的的集集合合构构成成一一个个关关系数据库。系数据库。2.关系数据库的型与值关系数据库的型与值l关系数据库也有型和值之分关系数据库也有型和值之分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 教程 关系
限制150内