02关系数据库基本原理-关系模型和关系代数ppt课件_第1页
02关系数据库基本原理-关系模型和关系代数ppt课件_第2页
02关系数据库基本原理-关系模型和关系代数ppt课件_第3页
02关系数据库基本原理-关系模型和关系代数ppt课件_第4页
02关系数据库基本原理-关系模型和关系代数ppt课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、内容与要求内容与要求n知识点知识点n(1知识点一:关系模型概述知识点一:关系模型概述n(2知识点二:关系数据结构知识点二:关系数据结构n(3知识点三:关系代数理论知识点三:关系代数理论n(4知识点四:关系数据库标准语言知识点四:关系数据库标准语言SQLn(5知识点五:关系数据库的规范化理论知识点五:关系数据库的规范化理论n实验实验1 SQL语言的应用语言的应用n教学基本要求教学基本要求n了解关系数据结构的基本概念,了解关系模型的各种操了解关系数据结构的基本概念,了解关系模型的各种操作和关系代数的基本原理,掌握关系数据模型的完整性作和关系代数的基本原理,掌握关系数据模型的完整性约束机制,掌握约束

2、机制,掌握SQL语言,了解函数依赖等基本概念,语言,了解函数依赖等基本概念,掌握关系模式的规范化概念、方法、原理与过程。掌握关系模式的规范化概念、方法、原理与过程。引言引言n关系模型是当前的主流逻辑数据模型关系模型是当前的主流逻辑数据模型 n由由IBM公司的高级研究员公司的高级研究员E.F.Codd于于1970年提出年提出 n应用广泛的原因:应用广泛的原因:n单一的数据建模概念单一的数据建模概念 n坚实的数学理论基础坚实的数学理论基础 n提供高级接口:数据库语言提供高级接口:数据库语言SQL关系模型的基本概念关系模型的基本概念n关系模型关系模型Relational Model)n用二维表格表示

3、实体集,用关键码表示实体之间联系的数据模型用二维表格表示实体集,用关键码表示实体之间联系的数据模型称为关系模型称为关系模型n理解理解n用二维表格用二维表格table表示实体集及其间联系,表示实体集及其间联系,n用关键码或键进行数据导航用关键码或键进行数据导航n关系模型是逻辑模型的一种,也具有三个要素关系模型是逻辑模型的一种,也具有三个要素n关系数据结构关系数据结构n关系操作关系操作n数据完整性约束规则数据完整性约束规则关系模型的基本概念关系模型的基本概念n例如例如 SNO SNAME AGE SEX NativePlace S1 WANG 20 M 北北京京 S2 LIU 18 F 山山东东

4、S3 HU 17 M 上上海海 S4 XIA 19 F 四四川川 CNO CNAME Credit CreditHours CPNO TNO C1 Math 3 48 NULL T1 C2 English 4 64 NULL T2 C3 PM 2 32 C2 T2 C4 DB 3.5 56 C1 T1 SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 TNO TNAME TITLE SEX T1 ZHAO 讲师讲师

5、M T2 LIU 教授教授 F SC(SNO,CNO,Grade) 字字段段含含义义:学学号号,课课程程号号,成成绩绩 S(SNO,SNAME,AGE,SEX,NativePlace) 字字段段含含义义:学学号号,姓姓名名,年年龄龄,性性别别,籍籍贯贯 T(TNO,TNAME,TITLE,SEX) 字字段段含含义义:教教师师号号,教教师师姓姓名名,职职称称,性性别别 C(CNO,CNAME,Credit,CreditHours,CPNO,TNO) 字字段段含含义义:课课程程号号,课课程程名名,学学分分,学学时时数数,先先修修课课号号,授授课课教教师师号号 关系模型的基本概念关系模型的基本概念n

6、关系数据结构:二维表关系数据结构:二维表n字段称为属性,也称为列字段称为属性,也称为列column)n反映事物的一个特征,每个字段都有字段名和字段值反映事物的一个特征,每个字段都有字段名和字段值n属性的取值范围属性的取值范围(所有可取值的集合所有可取值的集合) 称为属性域称为属性域Domain n大写字母大写字母A、B、C、 表示单个属性;大写字母表示单个属性;大写字母 、X、Y、Z 表示属性集表示属性集n小写字母小写字母a、b、c、 表示属性值表示属性值n记录称为元组记录称为元组tuple),也称为行),也称为行row)n记录类型称为关系模式,由模式名和属性列表组成记录类型称为关系模式,由模

7、式名和属性列表组成n元组集合称为关系元组集合称为关系relation或实例或实例instance),),也称为表格也称为表格关系模型的基本概念关系模型的基本概念n关系数据结构:二维表关系数据结构:二维表n元组用关键字元组用关键字Key word简称键来标识简称键来标识n属性个数称为元数属性个数称为元数Arity),也称为目),也称为目n元组个数为基数元组个数为基数Cardinality) R R A A B B C C D D E E a a1 1 b b1 1 c c1 1 d d1 1 e e1 1 a a2 2 b b2 2 c c2 2 d d2 2 e e2 2 a a3 3 b b

8、3 3 c c3 3 d d3 3 e e3 3 a a4 4 b b4 4 c c4 4 d d4 4 e e4 4 一般术语一般术语关系模型术语关系模型术语字段、数据项字段、数据项属性属性记录类型记录类型关系模式关系模式记录记录1 1元组元组1 1记录记录2 2元组元组2 2记录记录3 3元组元组3 3记录记录4 4元组元组4 4字段值字段值属性值属性值文文件件关关系系RA,B,C,D,E)关系模型的基本概念关系模型的基本概念n关键码关键码key,简称键),简称键)n由一个或多个属性组成。在实际使用中,有下列几种键由一个或多个属性组成。在实际使用中,有下列几种键n1超键超键Super Ke

9、y)n其值能唯一地决定其它所有属性的值的属性集其值能唯一地决定其它所有属性的值的属性集n2候选键候选键Candidate Key)n不含多余属性的超键不含多余属性的超键n其值能唯一地决定关系中其它所有属性的值、而它的任其值能唯一地决定关系中其它所有属性的值、而它的任何真子集无此性质的属性或属性组何真子集无此性质的属性或属性组 n3主键主键Primary Key)n用户选作元组标识的候选键,称为主键用户选作元组标识的候选键,称为主键PK),简称键),简称键关系模型的基本概念关系模型的基本概念n关键码关键码key,简称键),简称键)n4候补键候补键Alternate Key)n主键之外的候选键主键

10、之外的候选键n5全键全键 :由关系的所有属性构成的主键:由关系的所有属性构成的主键 n6外键外键Foreign Key,FK)n如果模式如果模式R中的属性中的属性K是其它模式的主键,那么是其它模式的主键,那么K在模式在模式R中称为外键中称为外键n不是本关系的键,却引用了其它关系或本关系的键的属不是本关系的键,却引用了其它关系或本关系的键的属性或属性组性或属性组n7主属性与非主属性主属性与非主属性nSUPPLY(供应商,零件名,工程名供应商,零件名,工程名) 工程工程供给供给mp零件零件供应商供应商2.1 关系模型的基本概念关系模型的基本概念n例如例如n关系模式关系模式STUDENT学号,姓名,

11、性别,出生日期,学号,姓名,性别,出生日期,籍贯)籍贯)n假设:不允许学生重名,问:假设:不允许学生重名,问:n(学号,姓名,性别,出生日期,籍贯)?(学号,姓名,性别,出生日期,籍贯)?n(学号,性别)?(学号,性别)?n(学号,姓名)?(学号,姓名)?n(学号)?(学号)?n(姓名)?(姓名)?n哪些是主属性?哪些是主属性?关系模型的基本概念关系模型的基本概念n关系的定义和性质关系的定义和性质n关系是一个属性数目相同的元组的集合关系是一个属性数目相同的元组的集合n有限关系有限关系n在关系模型中,关系的规范性限制:在关系模型中,关系的规范性限制:n1关系中每一个属性值都是不可分解的原子的)关

12、系中每一个属性值都是不可分解的原子的)n2关系中不允许出现重复元组即不允许出现相同的关系中不允许出现重复元组即不允许出现相同的元组)元组)n3由于关系是一个集合,因此不考虑元组间的顺序,由于关系是一个集合,因此不考虑元组间的顺序,即没有行序即没有行序n注:关系中元组的排列是有序的,取决于索引注:关系中元组的排列是有序的,取决于索引n4元组中的属性在理论上也是无序的,但使用时按习元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序惯考虑列的顺序关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则n实体完整性规则实体完整性规则entity integrity rul

13、e)n关系内的约束关系内的约束n每个关系都应有一个主键每个关系都应有一个主键n每个元组的主键的值应当唯一;组成主键的属性,不能每个元组的主键的值应当唯一;组成主键的属性,不能有空值有空值NULL)n否则,主键值就起不了惟一标识元组的作用否则,主键值就起不了惟一标识元组的作用关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则n实体完整性规则实体完整性规则entity integrity rule)n例如例如 S(SNO,SNAME,AGE,SEX,NativePlace) 字字段段含含义义:学学号号,姓姓名名,年年龄龄,性性别别,籍籍贯贯 Create Table S

14、 ( SNO CHAR(3) , SNAME CHAR(8) , AGE Integer , SEX CHAR(1) , NativePlace VARCHAR(20) , Primary Key (SNO) , Check (SEX IN (M, F) ) ) ; SNO SNAME AGE SEX NativePlace S1 WANG 20 M 北北京京 S2 LIU 18 F 山山东东 S2 HU 17 M 上上海海 NULL XIA 19 F 四四川川 关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则n参照完整性规则参照完整性规则reference in

15、tegrity rule)n不同关系或同一关系的不同元组间的约束不同关系或同一关系的不同元组间的约束n参照完整性规则的形式定义参照完整性规则的形式定义n如果属性集如果属性集K是关系模式是关系模式R1的主键,的主键,K也是关系模式也是关系模式R2的外键,那么在的外键,那么在R2的关系中,的关系中,K的取值只允许两种可能,的取值只允许两种可能,或者为空值,或者等于或者为空值,或者等于R1关系中某个主键值关系中某个主键值n规则的实质:不允许引用不存在的实体规则的实质:不允许引用不存在的实体n在上述形式定义中在上述形式定义中n关系模式关系模式R1的关系称为的关系称为“参照关系参照关系”,也称,也称“主

16、表主表”、“父表父表”n关系模式关系模式R2的关系称为的关系称为“依赖关系依赖关系”,也称,也称“副表副表”、“子表子表”关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则n参照完整性规则参照完整性规则reference integrity rule)n规则在具体使用时,有三点变通:规则在具体使用时,有三点变通:n外键和相应主键可以不同名,只要定义在相同值域上外键和相应主键可以不同名,只要定义在相同值域上即可即可nR1和和R2可以是不同关系模式,也可以是同一个关系可以是不同关系模式,也可以是同一个关系模式模式n同一个关系模式中,表示了同一个关系中不同元组之间同一个关

17、系模式中,表示了同一个关系中不同元组之间的联系的联系n外键值是否允许空,应视具体问题而定外键值是否允许空,应视具体问题而定n当外键属性是主键的组成成分时,不允许为空当外键属性是主键的组成成分时,不允许为空关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则n参照完整性规则参照完整性规则reference integrity rule)n例如例如 SNO SNAME AGE SEX NativePlace S1 WANG 20 M 北京北京 S2 LIU 18 F 山东山东 S3 HU 17 M 上海上海 S4 XIA 19 F 四川四川 CNO CNAME Credi

18、t CreditHours CPNO TNO C1 Math 3 48 NULL T1 C2 English 4 64 C5 T2 C3 PM 2 32 C2 T4 C4 DB 3.5 56 C1 NULL SNO CNO Grade S1 C2 80 S1 C3 70 S1 C5 85 S2 C1 60 S2 C2 75 S2 NULL 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S6 C4 75 TNO TNAME TITLE SEX T1 ZHAO 讲师讲师 M T2 LIU 教授教授 F 关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关

19、系模型的完整性规则n用户定义的完整性规则用户定义的完整性规则n和数据的具体内容有关的约束和数据的具体内容有关的约束n构建关系模式时,属性的数据类型,可能满足不了需求,构建关系模式时,属性的数据类型,可能满足不了需求,需要显式定义额外的约束规则说明需要显式定义额外的约束规则说明nCHECK()子句、触发器、断言、过程子句、触发器、断言、过程n说明说明n各种各种DBMS产品对完整性约束的支持程度不同产品对完整性约束的支持程度不同n 数据库中完整性约束检查,由数据库中完整性约束检查,由DBMS实现对实现对DB进行更进行更新新 (I/D/U)操作时检查,保证数据与现实世界的一致性操作时检查,保证数据与

20、现实世界的一致性关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则n用户定义的完整性规则用户定义的完整性规则n示例示例1 S(SNO,SNAME,AGE,SEX,NativePlace) 字字段段含含义义:学学号号,姓姓名名,年年龄龄,性性别别,籍籍贯贯 Create Table S ( SNO CHAR(3) , SNAME CHAR(8) , AGE Integer , SEX CHAR(1) , NativePlace VARCHAR(20) , Primary Key (SNO) , Check (SEX IN (M, F) ) ); SNO SNAME A

21、GE SEX NativePlace S1 WANG 20 M 北京北京 S2 LIU 18 F 山东山东 S3 HU 17 M 上海上海 S4 XIA 19 K 四川四川 关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则n用户定义的完整性规则用户定义的完整性规则n示例示例2 SC(SNO,CNO,Grade) 字字段段含含义义:学学号号,课课程程号号,成成绩绩 Create Table SC ( SNO CHAR(3) , CNO CHAR(3) , GRADE DEC(5, 2) , Primary Key (SNO, CNO) , Foreign Key (

22、SNO) References S(SNO) , Foreign Key (CNO) References C(CNO) , Check (GRADE is NULL Or GRADE Between 0 And 100) ) ; SNO CNO Grade S1 C2 80 S1 C3 70 S1 C5 85 S2 C1 60 S2 C2 75 S2 NULL 90 S2 C4 NULL S3 C1 -5 S3 C4 80 S4 C2 101 S6 C4 75 关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构n关系模型也遵循数据库的三级体系结构关系模型也遵循

23、数据库的三级体系结构n关系模式关系模式n记录类型称为关系模式记录类型称为关系模式n关系模式的集合就是数据库的概念模式,是问题域数据关系模式的集合就是数据库的概念模式,是问题域数据的全局逻辑视图的全局逻辑视图n是对数据的特征描述,不涉及物理存储方面的描述是对数据的特征描述,不涉及物理存储方面的描述n由数据定义语言由数据定义语言DDL实现实现n定义模式名、属性名、值域、模式主键定义模式名、属性名、值域、模式主键n定义时,模式名和属性名一般都用英文单词表示定义时,模式名和属性名一般都用英文单词表示 SC(SNO,CNO,Grade) S(SNO,SNAME,AGE,SEX,NativePlace)

24、T(TNO,TNAME,TITLE,SEX) C(CNO,CNAME,Credit,CreditHours,CPNO,TNO) 关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构n关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构n关系模式关系模式 用户(应用程序)用户记录形式形式/内模式映像内模式映像外模式外模式形式形式内模式内模式DB形式形式/外模式映像外模式映像关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构n关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构n子模式子模式n是用户所用到

25、的局部数据的描述是用户所用到的局部数据的描述n构建子模式时,需要指出数据与关系模式中相应数据的构建子模式时,需要指出数据与关系模式中相应数据的联系联系n由数据定义语言由数据定义语言DDL实现实现n定义时需要考虑用户对数据的操作权限定义时需要考虑用户对数据的操作权限n对子模式的操作如插入、修改、删除是受限的对子模式的操作如插入、修改、删除是受限的关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构n关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构n子模式子模式n例如例如n构建成绩子模式,要求显示学号、姓名、课程号和成绩构建成绩子模式,要求显示学号

26、、姓名、课程号和成绩 Create View G ( S#, SNAME, C#, SCORE) AS Select S.SNO, SNAME, CNO, Grade From S, SC Where S.SNO = SC.SNO G(S#,SNAME,C#,SCORE) 关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构n关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构n子模式子模式 用户(应用程序)用户记录形式形式/内模式映像内模式映像外模式外模式形式形式内模式内模式DB形式形式/外模式映像外模式映像 SNO SNAME AGE SEX

27、NativePlace S1 WANG 20 M 北京北京 SNO CNO Grade S1 C2 80 S# SNAME C# SCORE S1 WANG C2 80 S SC G 关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构n关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构n存储模式存储模式n在有些在有些DBMS中,关系存储是作为文件看待的中,关系存储是作为文件看待的n每个元组就是一个记录每个元组就是一个记录n由于关系模式有键,因此存储一个关系可用散列方法或由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现索引方法实现n如

28、果关系的元组数目较少如果关系的元组数目较少100个以内),那么也可以个以内),那么也可以用用“堆文件方式实现即没有特定的次序)堆文件方式实现即没有特定的次序)n可对任意的属性集建立辅助索引可对任意的属性集建立辅助索引关系模型的基本概念关系模型的基本概念n关系模型的形式定义和优点关系模型的形式定义和优点n关系模型的三个要素关系模型的三个要素n1关系数据结构关系数据结构n关系,二维表关系,二维表n数据库中全部数据及其相互联系都被组织成数据库中全部数据及其相互联系都被组织成“关系关系” n2关系操作关系操作n一组完备的关系运算,支持对数据库的各种操作一组完备的关系运算,支持对数据库的各种操作n关系运

29、算分成关系代数、关系演算和关系逻辑等三类关系运算分成关系代数、关系演算和关系逻辑等三类n3数据完整性约束规则数据完整性约束规则n实体完整性、参照完整性和用户自定义的完整性实体完整性、参照完整性和用户自定义的完整性关系模型的基本概念关系模型的基本概念n关系模型的形式定义和优点关系模型的形式定义和优点n关系模型的优点关系模型的优点n1单一的数据结构形式,具有高度的简明性和精确性单一的数据结构形式,具有高度的简明性和精确性n2逻辑结构和相应的操作,完全独立于数据存储方式逻辑结构和相应的操作,完全独立于数据存储方式n具有高度的数据独立性具有高度的数据独立性n3坚实的数学基础坚实的数学基础n关系运算的完

30、备性和规范化设计理论关系运算的完备性和规范化设计理论n4数据库技术的基础数据库技术的基础n关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库为基础的推理系统和知识库系统研究提供了关系数据库为基础的推理系统和知识库系统研究提供了方便方便关系模型的基本概念关系模型的基本概念n关系查询语言和关系运算关系查询语言和关系运算n数据库语言数据库语言SQL分为:分为:DDL,DML、QL和和DCLn数据操纵语言数据操纵语言DML,描述插入、删除、修改等操作,描述插入、删除、修改等操作n查询语言查询语言QL,描述用户的各种检索要求,描述用户的各种检索要求

31、n理论基础是理论基础是“关系运算理论关系运算理论”,分为,分为3部分:部分:n1关系代数语言关系代数语言n2关系演算语言关系演算语言n3关系逻辑语言关系逻辑语言关系代数关系代数n五个基本操作五个基本操作n并并Union)n前提前提n相同的关系模式并兼容:两关系具有相同的目,对应相同的关系模式并兼容:两关系具有相同的目,对应属性域相同且两个关系的属性排列次序一样)属性域相同且两个关系的属性排列次序一样)n定义定义nR和和S的并,是由属于的并,是由属于R或属于或属于S的元组构成的集合的元组构成的集合n记为记为RSn形式定义形式定义nRS t | tR tS,t是元组变量是元组变量关系代数关系代数n

32、五个基本操作五个基本操作n差差Difference)n前提前提n相同的关系模式并兼容:两关系具有相同的目,对应相同的关系模式并兼容:两关系具有相同的目,对应属性域相同且两个关系的属性排列次序一样)属性域相同且两个关系的属性排列次序一样)n定义定义nR和和S的差,是由属于的差,是由属于R但不属于但不属于S的元组构成的集合的元组构成的集合n记为记为RSn形式定义形式定义nRS t | tR tS, t是元组变量是元组变量关系代数关系代数n五个基本操作五个基本操作n笛卡尔积笛卡尔积Cartesian Product)n形式定义形式定义n假设:假设:R的元数的元数r,基数为,基数为m;S的元数的元数s

33、,基数为,基数为nnRSt | t trR tsSnRS的元数为的元数为r + s,基数,基数mnn参与运算的参与运算的R和和S关系,不要求有同名属性关系,不要求有同名属性n若有同名属性,在属性名前加若有同名属性,在属性名前加“关系名关系名.”来标注来标注关系代数关系代数n五个基本操作五个基本操作n投影投影Projection)n对关系进行垂直分割感兴趣的列),属性可任意排列对关系进行垂直分割感兴趣的列),属性可任意排列n表示表示n()n形式定义形式定义ni1,im(R)t | t R n性质性质n((R) ) (R)n属性表属性表1属性属性表表2关系代数关系代数n五个基本操作五个基本操作n选

34、择选择Selection)n据条件对关系做水平分割,选取符合条件的元组据条件对关系做水平分割,选取符合条件的元组n表示表示n() FR),),F是命题公式是命题公式 n形式定义形式定义nFR) t | tR Ft)= true n性质性质na) (R) ) (R)nb) ( ( R) (R)关系代数关系代数n五个基本操作五个基本操作n例如例如 A B C 1 2 3 4 5 6 7 8 9 关系关系 R A B C 1 2 3 4 5 6 7 8 9 2 4 6 (a)RS A B C 1 2 3 7 8 9 (b)RS C A 3 1 6 4 9 7 (d)C,A(R) R.A R.B R.

35、C S.A S.B S.C 1 2 3 2 4 6 1 2 3 4 5 6 4 5 6 2 4 6 4 5 6 4 5 6 7 8 9 2 4 6 7 8 9 4 5 6 (c)RS A B C 4 5 6 7 8 9 (e)B4(R) A B C 2 4 6 4 5 6 关系关系 S 关系代数关系代数n四个组合操作四个组合操作n交交intersection)n前提前提n相同的关系模式并兼容:两关系具有相同的目,对应相同的关系模式并兼容:两关系具有相同的目,对应属性域相同且两个关系的属性排列次序一样)属性域相同且两个关系的属性排列次序一样)n定义定义nR和和S的交,是由属于的交,是由属于R又属

36、于又属于S的元组构成的集合的元组构成的集合n记为记为RSn形式定义形式定义nRS ttR tS n推导推导nRS = R-(R-S),或),或 RS = S-(S-R) R S 关系代数关系代数n四个组合操作四个组合操作n交交intersection)n例如例如 A B C 1 2 3 4 5 6 7 8 9 关系关系 R A B C 2 4 6 4 5 6 关系关系 S A B C 4 5 6 RS 关系代数关系代数n四个组合操作四个组合操作n连接连接join)n形式定义形式定义nR S tt = trRtsStritsj n推导推导nR S i(r+j) (R S),其中),其中r是关系是

37、关系R的元数的元数n表示连接是在表示连接是在R S中,挑选第中,挑选第i个分量和第个分量和第(r+j)个个分量满足分量满足操作的元组操作的元组n说明:两个关系的同域属性比较说明:两个关系的同域属性比较n连接:连接: , n等值连接:等值连接: nF连接:连接: F F1 Fn,Fk i j (、) ij ij 关系代数关系代数n四个组合操作四个组合操作n连接连接join)n例如例如n1连接:连接: R S, 或或 R Sn2等值连接:等值连接: R S,或,或 R Sn3F连接:连接: R S, 或或 R S A B C 1 2 3 4 5 6 7 2 9 关系关系 R D E 2 4 5 6

38、 7 8 关系关系 S A B C D E 4 5 6 2 4 4 5 6 5 6 7 8 9 2 4 7 8 9 5 6 7 8 9 7 8 (1) A B C D E 1 2 3 2 4 4 5 6 5 6 7 2 9 2 4 (2) 2=1 R.B = S.D 3=2 R.C = S.E 3=22=S.ER.B=S.D A B C D E 4 5 6 5 6 (3) 关系代数关系代数n四个组合操作四个组合操作n自然连接自然连接natural join)n两个关系公共属性上的等值连接两个关系公共属性上的等值连接n推导推导nR S = i1,im (R.A1=S.A1 R.Ak=S.Ak (

39、RS)nA1,Ak是关系是关系R和和S的公共属性列表的公共属性列表ni1,im是两个关系属性的并集是两个关系属性的并集n计算过程计算过程 n1) 计算计算RSn2) 选择:在选择:在RS中,挑选满足公共属性相等的元组中,挑选满足公共属性相等的元组n3) 投影:在投影:在RS中,去掉冗余属性中,去掉冗余属性S.A1, S.Ak关系代数关系代数n四个组合操作四个组合操作n自然连接自然连接natural join)n例如例如nR S A, R.B, R.C, D (R.B = S.B R.C = S.C (RS)n注:注:n参与自然连接运算的参与自然连接运算的2个关系,若没有公共属性,则自个关系,若

40、没有公共属性,则自然连接运算自动转化为笛卡尔积运算。然连接运算自动转化为笛卡尔积运算。 A B C 2 4 6 3 5 7 7 4 6 关系关系 R B C D 5 7 3 4 6 2 5 7 9 关系关系 S A B C D 2 4 6 2 3 5 7 3 3 5 7 9 7 4 6 2 结结果果 关系代数关系代数n四个组合操作四个组合操作n除法除法division)n前提前提nR中的属性包含中的属性包含S中的属性中的属性 R(X,Y),S(Y) n作用作用nRS是满足下列条件的最大关系,属性由是满足下列条件的最大关系,属性由R中那些不出中那些不出现在现在S的属性组成,的属性组成,(RS)

41、S的每个元组都在关系的每个元组都在关系R中中n计算过程:计算过程: RS = X(R) X(X(R) S ) R)n1) T = X (R) ;X为不包含在为不包含在S中的属性中的属性n2) W = (TS)R ;计算;计算TS中不在中不在R的元组的元组n3) V = X(W)n4) RS = TV C D c d e fS A B C D a b c d a b e f a b d e b c e f e d c d e d e fR 关系代数关系代数n四个组合操作四个组合操作n除法除法division)n例如例如 b c c d b c c d A B C D a b c d a b e

42、f b c c d b c e f e d c d e d e f (2.1)(TS) A B a b b c e d (1)T = X (R) A B C D b c e f (2.2)W = (TS)R A B b c (3)V = X(W) A B a b e d (4)RS = TV 被除关系对除关系被除关系对除关系有覆盖有覆盖关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n关系代数表达式关系代数表达式n五个基本操作的有限次复合的式子五个基本操作的有限次复合的式子n表达式的运算结果仍是一个关系表达式的运算结果仍是一个关系n用关系代数表达式表示各种数据查询操作用关系代数表

43、达式表示各种数据查询操作关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n关系代数表达式关系代数表达式n例如例如 SNO SNAME AGE SEX NativePlace S1 WANG 20 M 北京北京 S2 LIU 18 F 山东山东 S3 HU 17 M 上海上海 S4 XIA 19 F 四川四川 CNO CNAME Credit CreditHours CPNO TNO C1 Math 3 48 NULL T1 C2 English 4 64 NULL T2 C3 PM 2 32 C2 T2 C4 DB 3.5 56 C1 T1 SNO CNO Grade S1 C2

44、 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 TNO TNAME TITLE SEX T1 ZHAO 讲讲师师 M T2 LIU 教教授授 F SC(SNO,CNO,Grade) 字段含义:学号,课程号,成绩字段含义:学号,课程号,成绩 S(SNO,SNAME,AGE,SEX,NativePlace) 字段含义:学号,姓名,年龄,性别,籍贯字段含义:学号,姓名,年龄,性别,籍贯 T(TNO,TNAME,TITLE,SEX) 字字段段含含义义:教教师师

45、号号,教教师师姓姓名名,职职称称,性性别别 C(CNO,CNAME,Credit,CreditHours,CPNO,TNO) 字字段段含含义义:课课程程号号,课课程程名名,学学分分,学学时时数数,先先修修课课号号,授授课课教教师师号号 关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n1检索学习课程号为检索学习课程号为C2课程的学生学号与成绩课程的学生学号与成绩 nSNO,GradeCNO = C2(SC)n1,32 = C2(SC)nCNO = C2 ( SNO,Grade (SC)n2 = C2 ( 1,3 (SC)关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实

46、例n1检索学习课程号为检索学习课程号为C2课程的学生学号与成绩课程的学生学号与成绩 nSNO,GradeCNO = C2(SC)nCNO = C2 ( SNO,Grade (SC) SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 SNO Grade S1 80 S2 75 S4 85 SNO CNO Grade S1 C2 80 S2 C2 75 S4 C2 85 SNO Grade S1 80 S1 70 S1

47、85 S2 60 S2 75 S2 90 S2 NULL S3 85 S3 80 S4 85 S4 75 对应的查询:对应的查询:Select Sno, GradeFrom SCWhere Cno=C2 ;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n2检索学习课程号为检索学习课程号为C2的学生学号与姓名的学生学号与姓名nSNO,SNAMECNO = C2(S SC)n查询涉及到两个关系查询涉及到两个关系S与与SC,先要对这两个关系进行自,先要对这两个关系进行自然连接操作,然后再执行选择和投影操作然连接操作,然后再执行选择和投影操作 SNO SNAME AGE SEX Nat

48、ivePlace S1 WANG 20 M 北京北京 S2 LIU 18 F 山东山东 S3 HU 17 M 上海上海 S4 XIA 19 F 四川四川 CNO CNAME Credit CreditHours CPNO TNO C1 Math 3 48 NULL T1 C2 English 4 64 NULL T2 C3 PM 2 32 C2 T2 C4 DB 3.5 56 C1 T1 SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 8

49、5 S4 C4 75 TNO TNAME TITLE SEX T1 ZHAO 讲讲师师 M T2 LIU 教教授授 F 关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n2检索学习课程号为检索学习课程号为C2的学生学号与姓名的学生学号与姓名nSNO,SNAMECNO = C2(S SC) SNO SNAME AGE SEX NativePlace S1 WANG 20 M 北京北京 S2 LIU 18 F 山东山东 S3 HU 17 M 上海上海 S4 XIA 19 F 四川四川 SNO SNAME AGE SEX NativePlace CNO Grade S1 WANG 20

50、 M 北京北京 C2 80 S1 WANG 20 M 北京北京 C3 70 S1 WANG 20 M 北京北京 C4 85 S2 LIU 18 F 山东山东 C1 60 S2 LIU 18 F 山东山东 C2 75 S2 LIU 18 F 山东山东 C3 90 S2 LIU 18 F 山东山东 C4 NULL S3 HU 17 M 上海上海 C1 85 S3 HU 17 M 上海上海 C4 80 S4 XIA 19 F 四川四川 C2 85 S4 XIA 19 F 四川四川 C4 75 SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C

51、2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n2检索学习课程号为检索学习课程号为C2的学生学号与姓名的学生学号与姓名nSNO,SNAMECNO = C2(S SC) SNO SNAME AGE SEX NativePlace CNO Grade S1 WANG 20 M 北北京京 C2 80 S2 LIU 18 F 山山东东 C2 75 S4 XIA 19 F 四四川川 C2 85 SNO SNAME S1 WANG S2 LIU S4 XIA SNO S

52、NAME AGE SEX NativePlace CNO Grade S1 WANG 20 M 北京北京 C2 80 S1 WANG 20 M 北京北京 C3 70 S1 WANG 20 M 北京北京 C4 85 S2 LIU 18 F 山东山东 C1 60 S2 LIU 18 F 山东山东 C2 75 S2 LIU 18 F 山东山东 C3 90 S2 LIU 18 F 山东山东 C4 NULL S3 HU 17 M 上海上海 C1 85 S3 HU 17 M 上海上海 C4 80 S4 XIA 19 F 四川四川 C2 85 S4 XIA 19 F 四川四川 C4 75 对应的查询:对应的

53、查询:Select SNO,SNAMEFrom S, SCWhere S.Sno=SC.Sno and Cno=C2 ;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n3检索至少选修检索至少选修LIU老师所授课程一门课程的学老师所授课程一门课程的学n 生学号与姓名生学号与姓名 nSNO,SNAMETNAME = LIU(S SC C T) SNO SNAME AGE SEX NativePlace S1 WANG 20 M 北京北京 S2 LIU 18 F 山东山东 S3 HU 17 M 上海上海 S4 XIA 19 F 四川四川 CNO CNAME Credit Credit

54、Hours CPNO TNO C1 Math 3 48 NULL T1 C2 English 4 64 NULL T2 C3 PM 2 32 C2 T2 C4 DB 3.5 56 C1 T1 SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 TNO TNAME TITLE SEX T1 ZHAO 讲讲师师 M T2 LIU 教教授授 F 对应的查询:对应的查询:Select S.Sno, SnameFrom S, S

55、C, C, TWhere Tname=LIU and S.Sno= SC.Sno and SC.Cno=C.Cno and C.TNO=T.Tno ;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n4检索选修课程号为检索选修课程号为C2或或C4的学生学号的学生学号nSNOCNO = C2 CNO = C4(SC) SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 SNO CNO Grade S1 C2

56、 80 S1 C4 85 S2 C2 75 S2 C4 NULL S3 C4 80 S4 C2 85 S4 C4 75 SNO S1 S2 S3 S4 对应的查询对应的查询2:Select Sno From SCWhere Cno in (C2, C4) ;对应的查询对应的查询1:Select SnoFrom SCWhere Cno = C2 or Cno = C4 ;对应的查询对应的查询3:Select SnoFrom SCWhere Cno = SOME(C2, C4) ;n关系代数运算的应用实例关系代数运算的应用实例n5检索至少选修课程号为检索至少选修课程号为C2和和C4的学生学号的学生

57、学号nSNOCNO = C2 CNO = C4(SC) SNO 关系代数关系代数 SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 SNO CNO Grade 关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n5检索至少选修课程号为检索至少选修课程号为C2和和C4的学生学号的学生学号n11 = 4 2 = C2 5 = C4(SCSC) SNO CNO Grade S1 C2 80 S1 C3 70 S

58、1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 S2 C2 75 S2 C3 90 S2 C4 NULL S3 C1 85 S3 C4 80 S4 C2 85 S4 C4 75 SNO CNO Grade S1 C2 80 S1 C2 80 S1 C2 80 S1 C3 70 S1 C3 70 S1 C3 70 S1 C4 85 S1 C4 85 S1 C4 85 S1 C2 80

59、 SNO CNO Grade S1 C2 80 S1 C3 70 S1 C4 85 S1 C2 80 S1 C3 70 S1 C4 85 S1 C2 80 S1 C3 70 S1 C4 85 S2 C1 60 对应的查询:对应的查询:Select X.SnoFrom SC as X, SC as YWhere X.Sno=Y.Sno and X.Cno=C2 and Y.Cno=C4 ;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例n6检索不学检索不学C2课的学生姓名与年龄课的学生姓名与年龄nSNAME,AGECNO C2(S SC) SNO SNAME AGE SEX Nat

60、ivePlace S1 WANG 20 M 北京北京 S2 LIU 18 F 山东山东 S3 HU 17 M 上海上海 S4 XIA 19 F 四川四川 SNO SNAME AGE SEX NativePlace CNO Grade S1 WANG 20 M 北京北京 C2 80 S1 WANG 20 M 北京北京 C3 70 S1 WANG 20 M 北京北京 C4 85 S2 LIU 18 F 山东山东 C1 60 S2 LIU 18 F 山东山东 C2 75 S2 LIU 18 F 山东山东 C3 90 S2 LIU 18 F 山东山东 C4 NULL S3 HU 17 M 上海上海 C

温馨提示

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

评论

0/150

提交评论