收藏 分销(赏)

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

上传人:人****来 文档编号:4469053 上传时间:2024-09-24 格式:PPTX 页数:59 大小:1.52MB
下载 相关 举报
关系数据库基本原理-关系模型和关系代数.pptx_第1页
第1页 / 共59页
关系数据库基本原理-关系模型和关系代数.pptx_第2页
第2页 / 共59页
关系数据库基本原理-关系模型和关系代数.pptx_第3页
第3页 / 共59页
关系数据库基本原理-关系模型和关系代数.pptx_第4页
第4页 / 共59页
关系数据库基本原理-关系模型和关系代数.pptx_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、引言引言n关系模型是当前的主流关系模型是当前的主流逻辑数据模型数据模型 q由由IBM公司的高公司的高级研究研究员E.F.Codd于于1970年提出年提出 n应用广泛的原因:用广泛的原因:q单一的数据建模概念一的数据建模概念 q坚实的数学理的数学理论基基础 q提供高提供高级接口:数据接口:数据库语言言SQL关系模型的基本概念关系模型的基本概念n关系模型(关系模型(Relational Model)q用二用二维表格表示表格表示实体集,用关体集,用关键码表示表示实体之体之间联系的数据模系的数据模型称型称为关系模型关系模型q理解理解n用二用二维表格(表格(table)表示表示实体集及其体集及其间联系,

2、系,n用关用关键码(或(或键)进行数据行数据导航航n关系模型是关系模型是逻辑模型的一种,也具有三个要素模型的一种,也具有三个要素q关系数据关系数据结构构q关系操作关系操作q数据完整性数据完整性约束束规则关系模型的基本概念关系模型的基本概念n示例示例关系模型的基本概念关系模型的基本概念n关系数据关系数据结构:二构:二维表表q字段称字段称为属性,也称属性,也称为列(列(column)n反映事物的一个特征,每个字段都有字段名和字段反映事物的一个特征,每个字段都有字段名和字段值n属性的取属性的取值范范围(所有可取所有可取值的集合的集合)称称为属性域属性域Domain n大写字母大写字母A、B、C、表示

3、表示单个属性;大写字母个属性;大写字母、X、Y、Z 表示属性集表示属性集n小写字母小写字母a、b、c、表示属性表示属性值q记录称称为元元组(tuple),),也称也称为行(行(row)n记录类型称型称为关系模式,由模式名和属性列表关系模式,由模式名和属性列表组成成n元元组集合称集合称为关系(关系(relation)或或实例(例(instance),),也称也称为表格表格关系模型的基本概念关系模型的基本概念n关系数据关系数据结构:二构:二维表表q元元组用关用关键字(字(Key word简称称键)来)来标识q属性个数称属性个数称为元数(元数(Arity),),也称也称为目目q元元组个数个数为基数(

4、基数(Cardinality)一般术语一般术语关系模型术语关系模型术语字段、数据项字段、数据项属性属性记录类型记录类型关系模式关系模式记录记录1 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)候候选键(Ca

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

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

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

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

9、一就起不了惟一标识元元组的作用的作用关系模型的基本概念关系模型的基本概念n关系模型的完整性关系模型的完整性规则q实体完整性体完整性规则(entity integrity rule)n例如例如关系模型的基本概念关系模型的基本概念n关系模型的完整性关系模型的完整性规则q参照完整性参照完整性规则(reference integrity rule)n不同关系或同一关系的不同元不同关系或同一关系的不同元组间的的约束束n参照完整性参照完整性规则的形式定的形式定义q如果属性集如果属性集K是关系模式是关系模式R1的主的主键,K也是关系模式也是关系模式R2的的外外键,那么在,那么在R2的关系中,的关系中,K的取

10、的取值只允只允许两种可能,或两种可能,或者者为空空值,或者等于,或者等于R1关系中某个主关系中某个主键值n规则的的实质:不允不允许引用不存在的引用不存在的实体体n在上述形式定在上述形式定义中中q关系模式关系模式R1的关系称的关系称为“参照关系参照关系”,也称,也称“主表主表”、“父表父表”q关系模式关系模式R2的关系称的关系称为“依依赖关系关系”,也称,也称“副表副表”、“子表子表”关系模型的基本概念关系模型的基本概念n关系模型的完整性关系模型的完整性规则q参照完整性参照完整性规则(reference integrity rule)n规则在具体使用在具体使用时,有三点,有三点变通:通:n外外键

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

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

13、的基本概念n关系模型的完整性关系模型的完整性规则q用用户定定义的完整性的完整性规则n示例示例1关系模型的基本概念关系模型的基本概念n关系模型的完整性关系模型的完整性规则q用用户定定义的完整性的完整性规则n示例示例2关系模型的基本概念关系模型的基本概念n关系模型的三关系模型的三层体系体系结构构关系模型也遵循数据关系模型也遵循数据库的三的三级体系体系结构构q关系模式关系模式n记录类型称型称为关系模式关系模式n关系模式的集合就是数据关系模式的集合就是数据库的概念模式,是的概念模式,是问题域数据的全域数据的全局局逻辑视图n是是对数据的特征描述,不涉及物理存数据的特征描述,不涉及物理存储方面的描述方面的

14、描述n由数据定由数据定义语言(言(DDL)实现q定定义模式名、属性名、模式名、属性名、值域、模式主域、模式主键q定定义时,模式名和属性名一般都用英文,模式名和属性名一般都用英文单词表示表示关系模型的基本概念关系模型的基本概念n关系模型的三关系模型的三层体系体系结构构关系模型也遵循数据关系模型也遵循数据库的三的三级体系体系结构构q关系模式关系模式 用户用户(应用程序应用程序)用户记录用户记录模式模式/内模式映像内模式映像外模式外模式模式模式内模式内模式DB模式模式/外模式映像外模式映像关系模型的基本概念关系模型的基本概念n关系模型的三关系模型的三层体系体系结构构关系模型也遵循数据关系模型也遵循数

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

16、、示学号、姓名、课程号和成程号和成绩G(S#,SNAME,C#,SCORE)关系模型的基本概念关系模型的基本概念n关系模型的三关系模型的三层体系体系结构构关系模型也遵循数据关系模型也遵循数据库的三的三级体系体系结构构q子模式子模式 用户用户(应用程序应用程序)用户记录用户记录模式模式/内模式映像内模式映像外模式外模式模式模式内模式内模式DB模式模式/外模式映像外模式映像关系模型的基本概念关系模型的基本概念n关系模型的三关系模型的三层体系体系结构构关系模型也遵循数据关系模型也遵循数据库的三的三级体系体系结构构q存存储模式模式n在有些在有些DBMS中,关系存中,关系存储是作是作为文件看待的文件看待

17、的n每个元每个元组就是一个就是一个记录n由于关系模式有由于关系模式有键,因此存,因此存储一个关系可用散列方法或索引一个关系可用散列方法或索引方法方法实现n如果关系的元如果关系的元组数目数目较少(少(100个以内),那么也可以用个以内),那么也可以用“堆文件堆文件”方式方式实现(即没有特定的次序)(即没有特定的次序)n可可对任意的属性集建立任意的属性集建立辅助索引助索引关系模型的基本概念关系模型的基本概念n关系模型的形式定关系模型的形式定义和和优点点q关系模型的三个要素关系模型的三个要素n1)关系数据)关系数据结构构q关系,二关系,二维表表q数据数据库中全部数据及其相互中全部数据及其相互联系都被

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

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

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

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

22、|t tr R ts SRS的元数的元数为r+s,基数基数mn参与运算的参与运算的R和和S关系,不要求有同名属性关系,不要求有同名属性若有同名属性,在属性名前加若有同名属性,在属性名前加“关系名关系名.”来来标注注关系代数关系代数n五个基本操作五个基本操作q投影(投影(Projection)n对关系关系进行垂直分割(感行垂直分割(感兴趣的列),属性可任意排列趣的列),属性可任意排列n表示表示q()n形式定形式定义qi1,im(R)t|t R n性性质q((R))(R)属性表属性表1属性表属性表2关系代数关系代数n五个基本操作五个基本操作q选择(Selection)n据条件据条件对关系做水平分割

23、,关系做水平分割,选取符合条件的元取符合条件的元组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相同的关系模式(并兼容:两关系具有相同的目,相同的关系模式(并兼容:两关系具有相同的目,对应属属性域相同且两个关系的属性排列次序一性域相同且两个关系的属性排列次序一样)n定定义qR和和S的交,是由属于的交,是由属于R又属于又属于S的元的元组构成的集合构成的

24、集合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的元数的元数q表示表示连接是在接是在(R S)中,挑中,挑选第第i个分量和第个分量和第(r+j)个分个分量量满足足操作的元操作的元组n说明:两个关系的同域属性比明:两个关系的同域属性比较q连接:接:

25、,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两个关系公共属性上的等两个关系公共属性上的等值连接接n推推导qR S=i1,im(R.A1=S.A1 R.Ak=S.Ak(RS)qA1,Ak是关系是关系R和和S的公共属性列表的公共属性列表qi1,im是两个关系属性的并集是两个关系属性的并集n计算算过程

26、程 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)n注:注:q参与自然参与自然连接运算的接运算的2个关系,若没有公共属性,个关系,若没有公共属性,则自然自然连接运算自接运算自动转化化为笛卡笛卡尔积运算。运算。关系代数关系代数n四个四个组合操作合操作q除法(除法(division)n前提前提qR中的属性包含中的

27、属性包含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为不包含在不包含在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四个四个

28、组合操作合操作q除法(除法(division)n示例示例 b c c db c c d被除关系对除关系被除关系对除关系有覆盖有覆盖关系代数关系代数n关系代数运算的关系代数运算的应用用实例例q关系代数表达式关系代数表达式n五个基本操作的有限次复合的式子五个基本操作的有限次复合的式子n表达式的运算表达式的运算结果仍是一个关系果仍是一个关系n用关系代数表达式表示各种数据用关系代数表达式表示各种数据查询操作操作关系代数关系代数n关系代数运算的关系代数运算的应用用实例例q关系代数表达式关系代数表达式n示例示例关系代数关系代数n关系代数运算的关系代数运算的应用用实例例q1)检索学索学习课程号程号为C2课程

29、的学生学号与成程的学生学号与成绩 nSNO,Grade(CNO=C2(SC)n1,3(2=C2(SC)nCNO=C2(SNO,Grade(SC)n2=C2(1,3(SC)关系代数关系代数n关系代数运算的关系代数运算的应用用实例例q1)检索学索学习课程号程号为C2课程的学生学号与成程的学生学号与成绩 nSNO,Grade(CNO=C2(SC)nCNO=C2(SNO,Grade(SC)对应的查询:对应的查询:Select Sno,GradeFrom SCWhere Cno=C2;关系代数关系代数n关系代数运算的关系代数运算的应用用实例例q2)检索学索学习课程号程号为C2的学生学号与姓名的学生学号与

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

31、om S,SCWhere S.Sno=SC.Sno and Cno=C2;关系代数关系代数n关系代数运算的关系代数运算的应用用实例例q3)检索至少索至少选修修LIU老老师所授所授课程一程一门课程的学程的学 生学号与姓名生学号与姓名 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或或

32、C4的学生学号的学生学号nSNO(CNO=C2 CNO=C4(SC)对应的查询对应的查询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关系代数运算的关系代数运算的应用用实例例q5)检索至少索至少选修修课程号程号为C2和和C4的学生学号的学生学号nSNO(CNO=C2 CNO=C4(SC)关系代数关系代数关系代数关系代数n关系代数运算的关系代数运算的应用用实

33、例例q5)检索至少索至少选修修课程号程号为C2和和C4的学生学号的学生学号n1(1=4 2=C2 5=C4(SCSC)对应的查询:对应的查询: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,A

34、GE(CNO C2(S SC)结论:结论:连接查询不能解决否定问题!连接查询不能解决否定问题!关系代数关系代数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

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

36、NAMEqSNAME(S(SNO,CNO(SC)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)检索所学索所学课程包含学生程包含学生

37、S3所学所学课程的学生学号程的学生学号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查询涉及到涉及到“全部全部”问题,用除法来解决,用除法来解决

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服