关系数据库精.ppt
《关系数据库精.ppt》由会员分享,可在线阅读,更多相关《关系数据库精.ppt(157页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关系数据库第1页,本讲稿共157页关系数据库简介系统而严格地提出关系模型的是美国IBMIBM公司的E.F.CoddE.F.Codd19701970年提出关系数据模型年提出关系数据模型 E.F.Codd,E.F.Codd,“A“A RelationalRelational ModelModel ofof DataData forforLargeLargeSharedSharedDataDataBanks”,Banks”,CommunicationCommunicationoftheACMoftheACM,1970,1970之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念1
2、9721972年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式19741974年提出了关系的年提出了关系的BNF范式范式第2页,本讲稿共157页关系数据库简介关系数据库应用数学方法来处理数据库中的数据80年代后,关系数据库系统成为最重要、最流行的数据库系统第3页,本讲稿共157页关系数据库简介典型实验系统典型实验系统 System RSystem R University INGRESUniversity INGRES典型商用系统典型商用系统 ORACLEORACLE SYBASESYBASE INFORMIXINFORMIX DB2DB2 INGRESINGRES第4页,
3、本讲稿共157页1.关系数据结构单一的数据结构单一的数据结构-关系关系 现现实实世世界界的的实实体体以以及及实实体体间间的的各各种种联联系系均均用用关关系系来来表表示示数据的逻辑结构数据的逻辑结构-二维表二维表 从用户角度,关系模型中数据的逻辑结构是一张二维表。从用户角度,关系模型中数据的逻辑结构是一张二维表。职工登记表2.1 关系模型的基本概念 2.1 关系模型的基本概念 第5页,本讲稿共157页2.关系操作集合1)常用的关系操作2)关系操作的特点3)关系数据语言的种类4)关系数据语言的特点第6页,本讲稿共157页关系操作集合(续)1)常用的关系操作查询查询 选择、投影、连接、除、并、交、差
4、选择、投影、连接、除、并、交、差数据更新数据更新 插入、删除、修改插入、删除、修改查询的表达能力是其中最主要的部分查询的表达能力是其中最主要的部分第7页,本讲稿共157页关系操作集合(续)2)关系操作的特点集集合合操操作作方方式式,即即操操作作的的对对象象和和结结果果都都是是集集合。合。非关系数据模型的数据操作方式:一次一记录非关系数据模型的数据操作方式:一次一记录第8页,本讲稿共157页关系操作集合(续)3)关系数据语言的种类关系代数语言关系代数语言 用对关系的运算来表达查询要求用对关系的运算来表达查询要求 典型代表:典型代表:ISBLISBL第9页,本讲稿共157页关系操作集合(续)关系数
5、据语言的种类(续)关系数据语言的种类(续)关系演算语言:用谓词来表达查询要求关系演算语言:用谓词来表达查询要求 元组关系演算语言元组关系演算语言 谓词变元的基本对象是元组变量谓词变元的基本对象是元组变量 典型代表:典型代表:APLHA,QUELAPLHA,QUEL 域关系演算语言域关系演算语言 谓词变元的基本对象是域变量谓词变元的基本对象是域变量 典型代表:典型代表:QBEQBE 具有关系代数和关系演算双重特点的语言具有关系代数和关系演算双重特点的语言 典型代表:典型代表:SQLSQL第10页,本讲稿共157页关系操作集合(续)4)关系数据语言的特点关系语言是一种高度非过程化的语言关系语言是一
6、种高度非过程化的语言 存取路径的选择由存取路径的选择由DBMSDBMS的优化机制来完成的优化机制来完成 用户不必用循环结构就可以完成数据操作用户不必用循环结构就可以完成数据操作能够嵌入高级语言中使用能够嵌入高级语言中使用关关系系代代数数、元元组组关关系系演演算算和和域域关关系系演演算算三三种种语言在表达能力上完全等价语言在表达能力上完全等价第11页,本讲稿共157页关系语言关系操作特点:关系操作特点:操作对象和结果都是集合操作对象和结果都是集合 高度非过程化的语言,不必借助循环结构就可以完成数据操作,高度非过程化的语言,不必借助循环结构就可以完成数据操作,能嵌入高级语言中使用能嵌入高级语言中使
7、用关系数据语言关系代数语言关系演算语言具有关系代数和关系演算双重特点的语言元组关系演算语言域关系演算语言例如ISBL例如APLHA,QUEL例如QBE例如SQL三种语言在表达能力上完全等价第12页,本讲稿共157页3.关系的三类完整性约束实体完整性实体完整性 实实体体完完整整性性规规则则:关关系系中中的的主主键键不不能能为为空空值值(NullNull)。空空值值就就是是“不不知知道道”或或“无无意意义义”,通通常常由由关关系系系系统统自自动动支支持持参照完整性参照完整性 参参照照完完整整性性规规则则:表表的的外外键键必必须须是是另另一一个个表表主主键键的的有有效效值值,或或者是空值。早期系统不
8、支持,目前大型系统能自动支持者是空值。早期系统不支持,目前大型系统能自动支持用户定义的完整性用户定义的完整性 反反映映应应用用领领域域需需要要遵遵循循的的约约束束条条件件,体体现现了了具具体体领领域域中中的的语义约束,用户定义后由系统支持语义约束,用户定义后由系统支持第13页,本讲稿共157页学号学号姓名姓名性性别别出生日出生日期期所在系所在系0022102王雪王雪莲莲女女1980-9-15电子系电子系0051309白亚白亚春春男男1981-1-25计算机计算机系系0052201陈韬陈韬男男1981-5-6计算机计算机系系0052217袁更袁更旭旭男男1980-12-8计算机计算机系系课程课程
9、号号学号学号成绩成绩C201002210275C505005130995C508A10286992C506005221780参照完整性示例第14页,本讲稿共157页 域(Domain)2.笛卡尔积(Cartesian Product)3.关系(Relation)2.1.1关系数据结构及形式化定义 第15页,本讲稿共157页 域(Domain)域是一组具有相同数据类型的值的集合。例:整数整数 实数实数 介于某个取值范围的整数介于某个取值范围的整数 指定长度的字符串集合指定长度的字符串集合 男男,女女 介于某个取值范围的日期介于某个取值范围的日期第16页,本讲稿共157页2.笛卡尔积(笛卡尔积(C
10、artesian ProductCartesian Product)1)笛卡尔积给给定定一一组组域域D D1 1,D D2 2,D Dn n,这这些些域域中中可可以以有相同的。有相同的。D D1 1,D D2 2,D Dn n的笛卡尔积为:的笛卡尔积为:D D1 1 D D2 2D Dn n (d d1 1,d d2 2,d dn n)d di i D Di i,i i1 1,2 2,n n所有域的所有取值的一个组合不能重复不能重复第17页,本讲稿共157页笛卡尔积(续笛卡尔积(续)例例 给出三个域:给出三个域:D D1 1=SUPERVISOR=SUPERVISOR=张清玫,刘逸张清玫,刘逸
11、 D D2 2=SPECIALITY=SPECIALITY=计算机专业,信息专业计算机专业,信息专业 D D3 3=POSTGRADUATE=POSTGRADUATE=李勇,刘晨,王敏李勇,刘晨,王敏 则则D D1 1,D D2 2,D D3 3的笛卡尔积为:的笛卡尔积为:D D1 1 D D2 2 D D33(张清玫,计算机专业,李勇张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏张清玫,计算机专业,王敏),(张清玫,信息专业,李勇张清玫,信息专业,李勇),(张清玫,信息专业,刘晨张清玫,信息专业,刘晨),(张清玫,信息专业,王敏张
12、清玫,信息专业,王敏),(刘逸,计算机专业,李勇刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏刘逸,计算机专业,王敏),(刘逸,信息专业,李勇刘逸,信息专业,李勇),(刘逸,信息专业,刘晨刘逸,信息专业,刘晨),(刘逸,信息专业,王敏刘逸,信息专业,王敏)第18页,本讲稿共157页笛卡尔积(续)2)元组(Tuple)笛笛卡卡尔尔积积中中每每一一个个元元素素(d d1 1,d d2 2,d dn n)叫作一个叫作一个n n元组(元组(n-tuplen-tuple)或简称元组。)或简称元组。3)3)分量(分量(ComponentComponen
13、t)笛卡尔积元素(笛卡尔积元素(d d1 1,d d2 2,d dn n)中的每一)中的每一个值个值d di i叫作一个分量。叫作一个分量。第19页,本讲稿共157页笛卡尔积(续)笛卡尔积的表示方法笛笛卡卡尔尔积积可可表表示示为为一一个个二二维维表表。表表中中的的每每行行对应一个元组,表中的每列对应一个域。对应一个元组,表中的每列对应一个域。在上例中,在上例中,1212个元组可列成一张二维表个元组可列成一张二维表第20页,本讲稿共157页 第21页,本讲稿共157页关系中属性个数称为关系中属性个数称为关系中属性个数称为关系中属性个数称为“元数元数元数元数”,也称目或度,也称目或度,也称目或度,
14、也称目或度关系元数为关系元数为5 5,基数为,基数为4 4 一般术语 关系模型术语字段、数据项属性记录类型关系模式记录1元组1记录2元组2记录3元组3记录4元组4字段值属性值关系模型的术语第22页,本讲稿共157页3.关系(Relation)1)关系D D1 1 D D2 2D Dn n的的子子集集叫叫作作在在域域D D1 1,D D2 2,D Dn n上的关系,表示为上的关系,表示为R R(D D1 1,D D2 2,D Dn n)R R:关系名关系名 n n:关系的目或度(关系的目或度(DegreeDegree)第23页,本讲稿共157页关系(续)注意:注意:关关系系是是笛笛卡卡尔尔积积的
15、的有有限限子子集集。无无限限关关系系在在数数据据库库系统中是无意义的。系统中是无意义的。由于笛卡尔积不满足交换律,即由于笛卡尔积不满足交换律,即(d(d1 1,d d2 2,d dn n)(d)(d2 2,d d1 1,d dn n)但关系满足交换律,即但关系满足交换律,即(d(d1 1,d d22,d di i,d dj j,d dn n)=(d d1 1,d d22,d dj j,d di i,d dn n)(i i,j j=1=1,2 2,n n)解解决决方方法法:为为关关系系的的每每个个列列附附加加一一个个属属性性名名以以取取消关系元组的有序性消关系元组的有序性第24页,本讲稿共157
16、页关系(续)例例 在表在表2.1 2.1 的笛卡尔积中取出有实际意义的元组的笛卡尔积中取出有实际意义的元组 来构造关系来构造关系关系:关系:SAP(SUPERVISORSAP(SUPERVISOR,SPECIALITYSPECIALITY,POSTGRADUATE)POSTGRADUATE)关系名,属性名关系名,属性名假设:假设:导师与专业:导师与专业:1:11:1,导师与研究生:,导师与研究生:1:n1:n于是:于是:SAPSAP关系可以包含三个元组关系可以包含三个元组 (张清玫,信息专业,李勇张清玫,信息专业,李勇),(张清玫,信息专业,刘晨张清玫,信息专业,刘晨),(刘逸,信息专业,王敏
17、刘逸,信息专业,王敏)第25页,本讲稿共157页关系(续)2)元组关关系系中中的的每每个个元元素素是是关关系系中中的的元元组组,通通常常用用t t表示。表示。3)单元关系与二元关系当当 n n=1=1时时,称称 该该 关关 系系 为为 单单 元元 关关 系系(UnaryUnaryrelationrelation)。)。当当 n n=2=2时时,称称 该该 关关 系系 为为 二二 元元 关关 系系(BinaryBinaryrelationrelation)。)。第26页,本讲稿共157页关系(续)4)关系的表示关关系系也也是是一一个个二二维维表表,表表的的每每行行对对应应一一个个元元组组,表的每
18、列对应一个域。表的每列对应一个域。第27页,本讲稿共157页关系(续)5)属性关关系系中中不不同同列列可可以以对对应应相相同同的的域域,为为了了加加以以区区分分,必必须须对对每每列列起起一一个个名名字字,称称为为属属性性(AttributeAttribute)。)。n n目关系必有目关系必有n n个属性。个属性。第28页,本讲稿共157页关系(续)6)码候选码(候选码(CandidatekeyCandidatekey)若关系中的某一属性组的值能唯一地标识若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码一个元组,则称该属性组为候选码在最简单的情况下,候选码只包含一个属性。在最简
19、单的情况下,候选码只包含一个属性。称为全码(称为全码(All-keyAll-key)在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(是这个关系模式的候选码,称为全码(All-All-keykey)第29页,本讲稿共157页关系(续)码(续)主码主码若一个关系有多个候选码,则选定其中一个若一个关系有多个候选码,则选定其中一个为主码(为主码(PrimarykeyPrimarykey)主码的诸属性称为主码的诸属性称为主属性主属性(PrimeattributePrimeattribute)。)。不包含在任何侯选码中的属性称为不包含在任何侯选
20、码中的属性称为非码属性非码属性(Non-keyattributeNon-keyattribute)第30页,本讲稿共157页关系(续)7)三类关系基本关系基本关系(基本表或基表)(基本表或基表)实际存在的表,是实际存储数据的逻辑表示实际存在的表,是实际存储数据的逻辑表示查询表查询表查询结果对应的表查询结果对应的表视图表视图表由基本表或其他视图表导出的表,是虚表,不对由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据应实际存储的数据第31页,本讲稿共157页8)基本关系的性质 列是同质的(Homogeneous)每一列中的分量是同一类型的数据,来自同每一列中的分量是同一类型的数据,来自同
21、一个域一个域 不同的列可出自同一个域其中的每一列称为一个属性其中的每一列称为一个属性不同的属性要给予不同的属性名不同的属性要给予不同的属性名第32页,本讲稿共157页基本关系的性质(续)上例中也可以只给出两个域:上例中也可以只给出两个域:人(人(PERSONPERSON)=张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李勇,刘晨,王敏专业(专业(SPECIALITYSPECIALITY)=计算机专业,信息专业计算机专业,信息专业SAPSAP关系的导师属性和研究生属性都从关系的导师属性和研究生属性都从PERSONPERSON域中取值域中取值为了避免混淆,必须给这两个属性取不同的属性名,而不能直接使
22、为了避免混淆,必须给这两个属性取不同的属性名,而不能直接使用域名。用域名。例如定义例如定义:导师属性名为导师属性名为SUPERVISOR-PERSONSUPERVISOR-PERSON(或(或SUPERVISORSUPERVISOR)研究生属性名为研究生属性名为POSTGRADUATE-PERSONPOSTGRADUATE-PERSON(或(或POSTGRADUATEPOSTGRADUATE)第33页,本讲稿共157页基本关系的性质(续)列的顺序无所谓列的次序可以任意交换列的次序可以任意交换遵循这一性质的数据库产品遵循这一性质的数据库产品(如如ORACLE)ORACLE),增加新属性时,永远是
23、插至最后一列增加新属性时,永远是插至最后一列但也有许多关系数据库产品没有遵循这一但也有许多关系数据库产品没有遵循这一性质,例如性质,例如FoxProFoxPro仍然区分了属性顺序仍然区分了属性顺序第34页,本讲稿共157页基本关系的性质(续)任意两个元组不能完全相同由笛卡尔积的性质决定由笛卡尔积的性质决定但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。例如例如:OracleOracle,FoxProFoxPro等都允许关系表中存在两个完全相同等都允许关系表中存在两个完全相同的元组,除非用户特别定义了相应的约束条件。的元组,除非用户特别定义了相应的约束条件。第35页,
24、本讲稿共157页基本关系的性质(续)行的顺序无所谓行的次序可以任意交换行的次序可以任意交换遵循这一性质的数据库产品遵循这一性质的数据库产品(如如ORACLE)ORACLE),插入一个元组时永远插至最后一行插入一个元组时永远插至最后一行但也有许多关系数据库产品没有遵循这一性但也有许多关系数据库产品没有遵循这一性质,例如质,例如FoxProFoxPro仍然区分了元组的顺序仍然区分了元组的顺序第36页,本讲稿共157页基本关系的性质(续)分量必须取原子值每一个分量都必须是不可分的数据项。每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条这是规范条件中最基本的一条第37页,本讲稿共157页2
25、.1.2 关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型的完整性规则是对关系的某种约束条件。关系模型中三类完整性约束:关系模型中三类完整性约束:实体完整性实体完整性参照完整性参照完整性用户定义的完整性用户定义的完整性实实体体完完整整性性和和参参照照完完整整性性是是关关系系模模型型必必须须满满足足的的完完整整性性约约束束条条件件,被被称称作作是是关关系系的的两两个个不不不不变变变变性性性性,应应该该由由关关系系系统自动支持。系统自动支持。第38页,本讲稿共157页关系的完整性(续)1 实体完整性2.参照完整性3.用户定义的完整性第39页,本讲稿共157页1 实体完整性实体完整性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库
限制150内