关系数据库基本原理-关系模型和关系代数 .ppt

上传人:wuy****n92 文档编号:73164294 上传时间:2023-02-16 格式:PPT 页数:61 大小:806.50KB
返回 下载 相关 举报
关系数据库基本原理-关系模型和关系代数 .ppt_第1页
第1页 / 共61页
关系数据库基本原理-关系模型和关系代数 .ppt_第2页
第2页 / 共61页
点击查看更多>>
资源描述

《关系数据库基本原理-关系模型和关系代数 .ppt》由会员分享,可在线阅读,更多相关《关系数据库基本原理-关系模型和关系代数 .ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关系数据库基本原理关系数据库基本原理(1)关系模型与关系代数)关系模型与关系代数王传栋王传栋南京邮电大学计算机学院南京邮电大学计算机学院内容与要求内容与要求n知识知识点点q(1)知识点一:关系模型概述)知识点一:关系模型概述q(2)知识点二:关系数据结构)知识点二:关系数据结构q(3)知识点三:关系代数理论)知识点三:关系代数理论q(4)知识点四:关系数据库标准语言)知识点四:关系数据库标准语言SQLq(5)知识点五:关系数据库的规范化理论)知识点五:关系数据库的规范化理论q实验实验1 SQL语言的应用语言的应用n教学基本要求教学基本要求q了解关系数据结构的基本概念,了解关系模型的各种操作和关

2、了解关系数据结构的基本概念,了解关系模型的各种操作和关系代数的基本原理,掌握关系数据模型的完整性约束机制,系代数的基本原理,掌握关系数据模型的完整性约束机制,掌掌握握SQL语言,了解函数依赖等基本概念,掌握关系模式的规范语言,了解函数依赖等基本概念,掌握关系模式的规范化概念、方法、原理与过程。化概念、方法、原理与过程。引言引言n关系模型是当前的主流逻辑数据模型关系模型是当前的主流逻辑数据模型 q由由IBM公司的高级研究员于公司的高级研究员于1970年提出年提出 n应用广泛的原因:应用广泛的原因:q单一的数据建模概念单一的数据建模概念 q坚实的数学理论基础坚实的数学理论基础 q提供高级接口:数据

3、库语言提供高级接口:数据库语言SQL关系模型的基本概念关系模型的基本概念n关系模型(关系模型(Relational Model)q用二维表格表示实体集,用关键码表示实体之间联系的数据模型用二维表格表示实体集,用关键码表示实体之间联系的数据模型称为关系模型称为关系模型q理解理解n用二维表格(用二维表格(table)表示实体集及其间联系,表示实体集及其间联系,n用关键码(或键)进行数据导航用关键码(或键)进行数据导航n关系模型是逻辑模型的一种,也具有三个要素关系模型是逻辑模型的一种,也具有三个要素q关系数据结构关系数据结构q关系操作关系操作q数据完整性约束规则数据完整性约束规则关系模型的基本概念关

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

5、录类型称为关系模式,由模式名和属性列表组成记录类型称为关系模式,由模式名和属性列表组成n元组集合称为关系(元组集合称为关系(relation)或实例(或实例(instance),),也称也称为表格为表格关系模型的基本概念关系模型的基本概念n关系数据结构:二维表关系数据结构:二维表q元组用关键字(元组用关键字(Key word简称键)来标识简称键)来标识q属性个数称为元数(属性个数称为元数(Arity),),也称为目也称为目q元组个数为基数(元组个数为基数(Cardinality)一般术语一般术语关系模型术语关系模型术语字段、数据项字段、数据项属性属性记录类型记录类型关系模式关系模式记录记录1

6、1元组元组1 1记录记录2 2元组元组2 2记录记录3 3元组元组3 3记录记录4 4元组元组4 4字段值字段值属性值属性值文文件件关关系系R(A,B,C,D,E)关系模型的基本概念关系模型的基本概念n关键码(关键码(key,简称键)简称键)q由一个或多个属性组成。在实际使用中,有下列几种键由一个或多个属性组成。在实际使用中,有下列几种键q1)超键()超键(Super Key)n其值能唯一地决定其它所有属性的值的属性集其值能唯一地决定其它所有属性的值的属性集q2)候选键(候选键(Candidate Key)n不含多余属性的超键不含多余属性的超键n其值能唯一地决定关系中其它所有属性的值、而它的任

7、何真其值能唯一地决定关系中其它所有属性的值、而它的任何真子集无此性质的属性或属性组子集无此性质的属性或属性组 q3)主键(主键(Primary Key)n用户选作元组标识的候选键,称为主键(用户选作元组标识的候选键,称为主键(PK),),简称键简称键关系模型的基本概念关系模型的基本概念n关键码(关键码(key,简称键)简称键)q4)候补键()候补键(Alternate Key)n主键之外的候选键主键之外的候选键q5)全键)全键:由关系的所有属性构成的主键由关系的所有属性构成的主键 q6)外键()外键(Foreign Key,FK)n如果模式如果模式R中的属性中的属性K是其它模式的主键,那么是其

8、它模式的主键,那么K在模式在模式R中中称为外键称为外键n不是本关系的键,却引用了其它关系或本关系的键的属性或不是本关系的键,却引用了其它关系或本关系的键的属性或属性组属性组q7)主属性与非主属性)主属性与非主属性nSUPPLY(供应商,零件名,工程名供应商,零件名,工程名)项目项目供应供应mp零件零件供应商供应商2.1 关系模型的基本概念关系模型的基本概念n示例示例q关系模式关系模式STUDENT(学号,姓名,性别,出生日期,籍贯)学号,姓名,性别,出生日期,籍贯)q假设:不允许学生重名,问:假设:不允许学生重名,问:n(学号,姓名,性别,出生日期,籍贯)?(学号,姓名,性别,出生日期,籍贯)

9、?n(学号,性别)?(学号,性别)?n(学号,姓名)?(学号,姓名)?n(学号)?(学号)?n(姓名)?(姓名)?n哪些是主属性?哪些是主属性?关系模型的基本概念关系模型的基本概念n关系的定义和性质关系的定义和性质q关系是一个属性数目相同的元组的集合关系是一个属性数目相同的元组的集合n有限关系有限关系q在关系模型中,关系的规范性限制:在关系模型中,关系的规范性限制:n1)关系中每一个属性值都是不可分解的(原子的)关系中每一个属性值都是不可分解的(原子的)n2)关系中不允许出现重复元组(即不允许出现相同的元组)关系中不允许出现重复元组(即不允许出现相同的元组)n3)由于关系是一个集合,因此不考虑

10、元组间的顺序,即没)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序有行序q注:关系中元组的排列是有序的,取决于索引注:关系中元组的排列是有序的,取决于索引n4)元组中的属性在理论上也是无序的,但使用时按习惯考)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序虑列的顺序关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则q实体完整性规则(实体完整性规则(entity integrity rule)n关系内的约束关系内的约束n每个关系都应有一个主键每个关系都应有一个主键n每个元组的主键的值应当唯一;组成主键的属性,不能有空每个元组的主键的值应当唯一;组成

11、主键的属性,不能有空值(值(NULL)q否则,主键值就起不了惟一标识元组的作用否则,主键值就起不了惟一标识元组的作用关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则q实体完整性规则(实体完整性规则(entity integrity rule)n例如例如关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则q参照完整性规则(参照完整性规则(reference integrity rule)n不同关系或同一关系的不同元组间的约束不同关系或同一关系的不同元组间的约束n参照完整性规则的形式定义参照完整性规则的形式定义q如果属性集如果属性集K是关系模

12、式是关系模式R1的主键,的主键,K也是关系模式也是关系模式R2的的外键,那么在外键,那么在R2的关系中,的关系中,K的取值只允许两种可能,或的取值只允许两种可能,或者为空值,或者等于者为空值,或者等于R1关系中某个主键值关系中某个主键值n规则的实质:规则的实质:不允许引用不存在的实体不允许引用不存在的实体n在上述形式定义中在上述形式定义中q关系模式关系模式R1的关系称为的关系称为“参照关系参照关系”,也称,也称“主表主表”、“父表父表”q关系模式关系模式R2的关系称为的关系称为“依赖关系依赖关系”,也称,也称“副表副表”、“子表子表”关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关

13、系模型的完整性规则q参照完整性规则(参照完整性规则(reference integrity rule)n规则在具体使用时,有三点变通:规则在具体使用时,有三点变通:n外键和相应主键可以不同名,只要定义在相同值域上即可外键和相应主键可以不同名,只要定义在相同值域上即可nR1和和R2可以是不同关系模式,也可以是同一个关系模式可以是不同关系模式,也可以是同一个关系模式q同一个关系模式中,表示了同一个关系中不同元组之间的同一个关系模式中,表示了同一个关系中不同元组之间的联系联系n外键值是否允许空,应视具体问题而定外键值是否允许空,应视具体问题而定q当外键属性是主键的组成成分时,不允许为空当外键属性是主

14、键的组成成分时,不允许为空关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则q参照完整性规则(参照完整性规则(reference integrity rule)n示例示例关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则q用户定义的完整性规则用户定义的完整性规则n和数据的具体内容有关的约束和数据的具体内容有关的约束n构建关系模式时,属性的数据类型,可能满足不了需求,需构建关系模式时,属性的数据类型,可能满足不了需求,需要要显式定义显式定义额外的约束规则说明额外的约束规则说明qCHECK()子句、触发器、断言、过程子句、触发器、断言、过程n

15、说明说明q各种各种DBMS产品对完整性约束的支持程度不同产品对完整性约束的支持程度不同q 数据库中完整性约束检查,由数据库中完整性约束检查,由DBMS实现对实现对DB进行更新进行更新(I/D/U)操作时检查,保证数据与现实世界的一致性操作时检查,保证数据与现实世界的一致性关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则q用户定义的完整性规则用户定义的完整性规则n示例示例1关系模型的基本概念关系模型的基本概念n关系模型的完整性规则关系模型的完整性规则q用户定义的完整性规则用户定义的完整性规则n示例示例2关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系

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

17、概念n关系模型的三层体系结构关系模型的三层体系结构关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构q关系模式关系模式 用户用户(应用程序应用程序)用户记录用户记录模式模式/内模式映像内模式映像外模式外模式模式模式内模式内模式DB模式模式/外模式映像外模式映像关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构q子模式子模式n是用户所用到的局部数据的描述是用户所用到的局部数据的描述n构建子模式时,需要指出数据与关系模式中相应数据的联系构建子模式时,需要指出数据与关系模式中相应数据

18、的联系n由数据定义语言(由数据定义语言(DDL)实现实现q定义时需要考虑用户对数据的操作权限定义时需要考虑用户对数据的操作权限q对子模式的操作(如插入、修改、删除)是受限的对子模式的操作(如插入、修改、删除)是受限的关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构q子模式子模式n例如例如q构建成绩子模式构建成绩子模式,要求显示学号、姓名、课程号和成绩要求显示学号、姓名、课程号和成绩G(S#,SNAME,C#,SCORE)关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层

19、体系结构关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构q子模式子模式 用户用户(应用程序应用程序)用户记录用户记录模式模式/内模式映像内模式映像外模式外模式模式模式内模式内模式DB模式模式/外模式映像外模式映像关系模型的基本概念关系模型的基本概念n关系模型的三层体系结构关系模型的三层体系结构关系模型也遵循数据库的三级体系结构关系模型也遵循数据库的三级体系结构q存储模式存储模式n在有些在有些DBMS中,关系存储是作为文件看待的中,关系存储是作为文件看待的n每个元组就是一个记录每个元组就是一个记录n由于关系模式有键,因此存储一个关系可用散列方法或索引由于关系模式有键,因此存储

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

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

22、据独立性具有高度的数据独立性n3)坚实的数学基础)坚实的数学基础q关系运算的完备性和规范化设计理论关系运算的完备性和规范化设计理论n4)数据库技术的基础)数据库技术的基础q关系数据库语言与一阶谓词逻辑的固有内在联系,为以关关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库为基础的推理系统和知识库系统研究提供了方便系数据库为基础的推理系统和知识库系统研究提供了方便关系模型的基本概念关系模型的基本概念n关系查询语言和关系运算关系查询语言和关系运算q数据库语言数据库语言SQL分为:分为:DDL,DML、QL和和DCLq数据操纵语言数据操纵语言DML,描述插入、删除、修改等操作描述插入、删除、

23、修改等操作q查询语言查询语言QL,描述用户的各种检索要求描述用户的各种检索要求n理论基础是理论基础是“关系运算理论关系运算理论”,分为,分为3部分:部分:q1)关系代数语言)关系代数语言q2)关系演算语言)关系演算语言q3)关系逻辑语言)关系逻辑语言关系代数关系代数n五个基本操作五个基本操作q并(并(Union)n前提前提q相同的关系模式相同的关系模式(并兼容:两关系具有相同的目,对应属(并兼容:两关系具有相同的目,对应属性域相同且两个关系的属性排列次序一样)性域相同且两个关系的属性排列次序一样)n定义定义qR和和S的并,是由属于的并,是由属于R或属于或属于S的元组构成的集合的元组构成的集合q

24、记为记为R Sn形式定义形式定义qR S t|t R t S,t是元组变量是元组变量关系代数关系代数n五个基本操作五个基本操作q差(差(Difference)n前提前提q相同的关系模式相同的关系模式(并兼容:两关系具有相同的目,对应属(并兼容:两关系具有相同的目,对应属性域相同且两个关系的属性排列次序一样)性域相同且两个关系的属性排列次序一样)n定义定义qR和和S的差,是由属于的差,是由属于R但不属于但不属于S的元组构成的集合的元组构成的集合q记为记为RSn形式定义形式定义qRS t|t R t S,t是元组变量是元组变量关系代数关系代数n五个基本操作五个基本操作q笛卡尔积(笛卡尔积(Cart

25、esian Product)n形式定义形式定义q假设:假设:R的元数的元数r,基数为基数为m;S的元数的元数s,基数为基数为nqRSt|t tr R ts SRS的元数为的元数为r+s,基数基数mn参与运算的参与运算的R和和S关系,不要求有同名属性关系,不要求有同名属性若有同名属性,在属性名前加若有同名属性,在属性名前加“关系名关系名.”来标注来标注关系代数关系代数n五个基本操作五个基本操作q投影(投影(Projection)n对关系进行垂直分割(感兴趣的列),属性可任意排列对关系进行垂直分割(感兴趣的列),属性可任意排列n表示表示q()n形式定义形式定义qi1,im(R)t|t R n性质性

26、质q((R))(R)属性表属性表1属性表属性表2关系代数关系代数n五个基本操作五个基本操作q选择(选择(Selection)n据条件对关系做水平分割,选取符合条件的元组据条件对关系做水平分割,选取符合条件的元组n表示表示q()F(R),),F是命题公式是命题公式 n形式定义形式定义qF(R)t|t R F(t)=true n性质性质qa)(R)(R)qb)(R)(R)关系代数关系代数n五个基本操作五个基本操作q示例示例关系代数关系代数n四个组合操作四个组合操作q交(交(intersection)n前提前提q相同的关系模式相同的关系模式(并兼容:两关系具有相同的目,对应属(并兼容:两关系具有相同

27、的目,对应属性域相同且两个关系的属性排列次序一样)性域相同且两个关系的属性排列次序一样)n定义定义qR和和S的交,是由属于的交,是由属于R又属于又属于S的元组构成的集合的元组构成的集合q记为记为RSn形式定义形式定义qRS tt R t S n推导推导qRS=R-(R-S),),或或 RS=S-(S-R)关系代数关系代数n四个组合操作四个组合操作q交(交(intersection)n示例示例关系代数关系代数n四个组合操作四个组合操作q连接(连接(join)n形式定义形式定义qR S tt=tr R ts S tritsj n推导推导qR S i(r+j)(R S),),其中其中r是关系是关系R

28、的元数的元数q表示连接是在表示连接是在(R S)中,挑选第中,挑选第i个分量和第个分量和第(r+j)个分个分量满足量满足操作的元组操作的元组n说明:说明:两个关系的同域属性比较两个关系的同域属性比较q连接:连接:,q等值连接:等值连接:qF连接:连接:F F1 Fn,Fk i j (、)关系代数关系代数n四个组合操作四个组合操作q连接(连接(join)n示例示例q1)连接:连接:R S,或或 R Sq2)等值连接:)等值连接:R S,或或 R Sq3)F连接:连接:R S,或或 R S关系代数关系代数n四个组合操作四个组合操作q自然连接(自然连接(natural join)n两个关系公共属性上

29、的等值连接两个关系公共属性上的等值连接n推导推导qR S=i1,im(R.A1=S.A1 R.Ak=S.Ak(RS)qA1,Ak是关系是关系R和和S的公共属性列表的公共属性列表qi1,im是两个关系属性的并集是两个关系属性的并集n计算过程计算过程 q1)计算计算RSq2)选择:在选择:在RS中,挑选满足公共属性相等的元组中,挑选满足公共属性相等的元组q3)投影:在投影:在RS中,去掉冗余属性中,去掉冗余属性S.A1,S.Ak关系代数关系代数n四个组合操作四个组合操作q自然连接(自然连接(natural join)n示例示例qR S A,R.B,R.C,D(R.B=S.B R.C=S.C(RS)

30、n注:注:q参与自然连接运算的参与自然连接运算的2个关系,若没有公共属性,则自然个关系,若没有公共属性,则自然连接运算自动转化为笛卡尔积运算。连接运算自动转化为笛卡尔积运算。关系代数关系代数n四个组合操作四个组合操作q除法(除法(division)n前提前提qR中的属性包含中的属性包含S中的属性中的属性 R(X,Y),S(Y)n作用作用qRS是满足下列条件的最大关系,属性由是满足下列条件的最大关系,属性由R中那些不出现中那些不出现在在S的属性组成,的属性组成,(RS)S的每个元组都在关系的每个元组都在关系R中中n计算过程:计算过程:RS=X(R)X(X(R)S)R)q1)T=X(R);X为不包

31、含在为不包含在S中的属性中的属性q2)W=(TS)R ;计算计算TS中不在中不在R的元组的元组q3)V=X(W)q4)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四个组合操作四个组合操作q除法(除法(division)n示例示例 b c c db c c d被除关系对除关系被除关系对除关系有覆盖有覆盖关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q关系代数表达式关系代数表达式n五个基本操作的有限次复合的式子五个基本操作的有限次复合的式子n表达式的运算结果

32、仍是一个关系表达式的运算结果仍是一个关系n用关系代数表达式表示各种数据查询操作用关系代数表达式表示各种数据查询操作关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q关系代数表达式关系代数表达式n示例示例关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q1)检索学习课程号为)检索学习课程号为C2课程的学生学号与成绩课程的学生学号与成绩 nSNO,Grade(CNO=C2(SC)n1,3(2=C2(SC)nCNO=C2(SNO,Grade(SC)n2=C2(1,3(SC)关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q1)检索学习课程号为)检索学习课程号

33、为C2课程的学生学号与成绩课程的学生学号与成绩 nSNO,Grade(CNO=C2(SC)nCNO=C2(SNO,Grade(SC)对应的查询:对应的查询:Select Sno,GradeFrom SCWhere Cno=C2;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q2)检索学习课程号为)检索学习课程号为C2的学生学号与姓名的学生学号与姓名nSNO,SNAME(CNO=C2(S SC)n查询涉及到两个关系查询涉及到两个关系S与与SC,先要对这两个关系进行自然连先要对这两个关系进行自然连接操作,然后再执行选择和投影操作接操作,然后再执行选择和投影操作 关系代数关系代数n关

34、系代数运算的应用实例关系代数运算的应用实例q2)检索学习课程号为)检索学习课程号为C2的学生学号与姓名的学生学号与姓名nSNO,SNAME(CNO=C2(S SC)关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q2)检索学习课程号为)检索学习课程号为C2的学生学号与姓名的学生学号与姓名nSNO,SNAME(CNO=C2(S SC)对应的查询:对应的查询:Select SNO,SNAMEFrom S,SCWhere S.Sno=SC.Sno and Cno=C2;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q3)检索至少选修)检索至少选修LIU老师所授课程一门课

35、程的学老师所授课程一门课程的学 生学号与姓名生学号与姓名 nSNO,SNAME(TNAME=LIU(SSCCT)对应的查询:对应的查询:Select S.Sno,SnameFrom S,SC,C,TWhere Tname=LIU and S.Sno=SC.Sno and SC.Cno=C.Cno and C.TNO=T.Tno;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q4)检索选修课程号为)检索选修课程号为C2或或C4的学生学号的学生学号nSNO(CNO=C2 CNO=C4(SC)对应的查询对应的查询2:Select Sno From SCWhere Cno in(C2,

36、C4);对应的查询对应的查询1:Select SnoFrom SCWhere Cno=C2 or Cno=C4;对应的查询对应的查询3:Select SnoFrom SCWhere Cno=SOME(C2,C4);n关系代数运算的应用实例关系代数运算的应用实例q5)检索至少选修课程号为)检索至少选修课程号为C2和和C4的学生学号的学生学号nSNO(CNO=C2 CNO=C4(SC)关系代数关系代数关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q5)检索至少选修课程号为)检索至少选修课程号为C2和和C4的学生学号的学生学号n1(1=4 2=C2 5=C4(SCSC)对应的查询:对

37、应的查询:Select X.SnoFrom SC as X,SC as YWhere X.Sno=Y.Sno and X.Cno=C2 and Y.Cno=C4;关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q6)检索不学)检索不学C2课的学生姓名与年龄课的学生姓名与年龄nSNAME,AGE(CNO C2(S SC)连接查询连接查询关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q6)检索不学)检索不学C2课的学生姓名与年龄课的学生姓名与年龄nSNAME,AGE(CNO C2(S SC)结论:结论:连接查询不能解决否定问题!连接查询不能解决否定问题!关系代数关系代

38、数n关系代数运算的应用实例关系代数运算的应用实例q6)检索不学)检索不学C2课的学生姓名与年龄课的学生姓名与年龄nSNAME,AGE(S)SNAME,AGE(CNO=C2(S SC)n差操作差操作q先求出全体学生的姓名和年龄先求出全体学生的姓名和年龄q再求出学了再求出学了C2课的学生的姓名和年龄课的学生的姓名和年龄q最后执行差操作最后执行差操作-对应的查询:对应的查询:Select Sname,AgeFrom SWhere Sno not in(Select Sno From SC Where Cno=C2);关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q7)检索学习全部课程

39、的学生姓名)检索学习全部课程的学生姓名nSNAME(S(SNO,CNO(SC)CNO(C)关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q7)检索学习全部课程的学生姓名)检索学习全部课程的学生姓名n投影出所有学生的选课情况投影出所有学生的选课情况qSNO,CNO(SC)n投影出全部课程的课程号投影出全部课程的课程号qCNO(C)n用除法计算学了全部课程的学生学号集合(临时关系)用除法计算学了全部课程的学生学号集合(临时关系)qSNO,CNO(SC)CNO(C)n用用得到的关系与得到的关系与S自然联接,最后投影出自然联接,最后投影出SNAMEqSNAME(S(SNO,CNO(SC

40、)CNO(C)对应的查询:对应的查询:Select Sname From SWhere not Exists(Select*From C Where not Exists(Select*From SCWhere Sno=S.Sno and Cno=C.Cno);关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q8)检索所学课程包含学生)检索所学课程包含学生S3所学课程的学生学号所学课程的学生学号nSNO,CNO(SC)CNO(SNO=S3(SC)?关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q8)检索所学课程包含学生)检索所学课程包含学生S3所学课程的学生学号所

41、学课程的学生学号n投影出所有学生的选课情况投影出所有学生的选课情况qSNO,CNO(SC)n投影出学生投影出学生S3所学的全部课程的课程号所学的全部课程的课程号qCNO(SNO=S3(SC)n用除法计算所学课程包含学生用除法计算所学课程包含学生S3所学课程的学生学号所学课程的学生学号qSNO,CNO(SC)CNO(SNO=S3(SC)n注注q式与式与S自然连接,投影自然连接,投影q(S()?对应的查询:对应的查询:Select Distinct Sno From SC as XWhere not Exists(Select*From SC as Y Where Y.Sno=S3 and not Exists(Select*From SC as Z Where Sno=X.Sno and Cno=Y.Cno);关系代数关系代数n关系代数运算的应用实例关系代数运算的应用实例q总结总结n查询语句的关系代数表达式的一般形式是:查询语句的关系代数表达式的一般形式是:q(RS)或者或者(R S)q先选择,后投影先选择,后投影n查询涉及到查询涉及到“否定否定”问题,用减法(差)来解决问题,用减法(差)来解决n查询涉及到查询涉及到“全部全部”问题,用除法来解决问题,用除法来解决

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

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

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁