关系模型及其定义关系代数.ppt

上传人:本田雅阁 文档编号:2440909 上传时间:2019-03-29 格式:PPT 页数:34 大小:1.08MB
返回 下载 相关 举报
关系模型及其定义关系代数.ppt_第1页
第1页 / 共34页
关系模型及其定义关系代数.ppt_第2页
第2页 / 共34页
关系模型及其定义关系代数.ppt_第3页
第3页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《关系模型及其定义关系代数.ppt》由会员分享,可在线阅读,更多相关《关系模型及其定义关系代数.ppt(34页珍藏版)》请在三一文库上搜索。

1、SQL Server 2000,4.1 关系模型及其定义 4.2 关系代数,第四章 关系数据库,SQL Server 2000,关系模型由关系数据结构、关系操作集合和完整性约束三部分组成。 一、关系数据结构 1、域:一组具有相同数据类型的值的集合。 例:正数,男,女,信管系所有学生的姓名,4.1 关系模型及其定义,SQL Server 2000,一、关系数据结构 2、笛卡尔积: 设给定一组域D1,D2,Dn,这些域可以完全不同,也可 以部分或全部相同。 D1,D2,Dn的笛卡尔积为 D1 D2 Dn=(d1,d2,dn)| di Dj , j1,2,n 其中每一个元素(d1,d2,dn)称为一

2、个n元组,简称元组。 元素中的每一个值di称作一个分量。 D1 D2 Dn的基数为:M= mi 笛卡尔积可以表示成一个二维表。表中的每一行对应一个 元组每一列对应一个域。,4.1 关系模型及其定义,SQL Server 2000,例: D1=姓名=王平,李丽 D2=性别=男,女 D3=年龄=19,20 则D1 D2 D3=(王平,男,19), (王平,男,20),(王平,女,19),(王平,女,20),(李丽,男,19),(李丽,男,20),(李丽,女,19),(李丽,女,20) 基数=222=8,4.1 关系模型及其定义,SQL Server 2000,一、关系数据结构 3、关系 D1 D2

3、 Dn的子集叫做域D1,D2,Dn上的关系,表示为R( D1,D2,Dn),R为关系名,n为关系的目或度关系也是一个二维表。,4.1 关系模型及其定义,SQL Server 2000,关系的性质: 同一个属性的数据是同质的,即来自同一个域 同一个关系的属性名不能重复 列位置顺序无关 关系具有元组无冗余性 元组位置顺序无关 每个分量必须是不可分的数据项,4.1 关系模型及其定义,SQL Server 2000,关系的组成:,4.1 关系模型及其定义,SQL Server 2000,二、关系操作 1、内容 关系操作包括数据查询、数据维护和数据控制三大功能。 数据查询指数据检索、统计、排序、分组以及

4、用户对信息的需求等功能。 数据维护指数据增加、删除、修改等数据自身更新的功能。 数据控制指为了保护数据的安全性和完整性而采用的数据存取控制和并发控制等功能。,4.1 关系模型及其定义,SQL Server 2000,二、关系操作 2、特点 关系操作的方式为一次一集合。 3、关系操作语言 关系代数语言:用关系的运算来表达查询要求的语言。 关系演算语言:用查询得到的元组替代满足的谓词条件来表达查询要求的语言。 基于映射的语言:具有关系代数和关系演算双重特点的语言。SQL是关系数据库的标准语言。,4.1 关系模型及其定义,SQL Server 2000,三、关系的完整性 1、实体完整性规则:主属性的

5、值不能为空值 候选码(码、关键字):关系中能唯一地标识一个元组的属性或属性组。 主码(主键、主关键字):当一个关系有多个候选码时,应选定其中一个候选码为主码。 主属性:候选码中的属性称为主属性。 全码:若关系中只有一个侯选码,且这个侯选码中包括全部属性,则这种侯选码称为全码。,4.1 关系模型及其定义,SQL Server 2000,注: 候选码是一个属性或一组属性,主属性则指单个的属性。 如果候选码由单个属性组成,主属性就是候选码。如对于学生关系(学号,姓名,性别),学号既是候选码,也是主属性。 如果候选码由多个属性组成,主属性就不是候选码。如对于学生选课关系(学号,课程号,成绩),(学号,

6、课程号)是候选码,学号是主属性,课程号也是主属性,而单个的学号和课程号都不是候选码。,4.1 关系模型及其定义,SQL Server 2000,2、参照完整性规则:外码必须为空值或等于被参照表中某个元组的主码。 外码:设F是基本关系R的一个属性或属性组,但不是R的主码,如果F与关系S的主码SF相对应,则称F是R的外码,R为参照表,S为R的被参照表,,4.1 关系模型及其定义,SQL Server 2000,例:学生(学号,姓名,性别,专业号) 专业(专业号,专业名称) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩) 则学生表中的专业号为外码,专业表为学生表的被参照表,选课表中的学号、

7、课程号为外码,学生表是选课表的被参照表,课程表也是选课表的被参照表。,4.1 关系模型及其定义,SQL Server 2000,3、用户定义的完整性:是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。 例:考试成绩必须在0100之间 身份证号必须是18位数字,4.1 关系模型及其定义,SQL Server 2000,定义 一组建立在关系上的高级运算,每个运算都以一个或多个关系作为它的运算对象,并且生成一个关系作为运算结果。 (1) 运算对象:关系 (2) 运算结果:关系 关系运算分两类 (1)一般的集合运算:合并、相交、求差、乘积(广义笛卡尔积) (2)专门

8、的关系运算:选择、投影、连接、除,4.2 关系代数,SQL Server 2000,1、合并 具有相同的属性的两个关系R1,R2 的合并,是由属于R1或属于R2(或属于两者)的所有元组t(不计重复元组)组成的一个新的关系, 新关系具有和R1 或R2相同的属性名集合。 运算符:“” ,记为:,一、传统的集合运算,4.2 关系代数,SQL Server 2000,2、求差(相减) 具有相同的属性的两个关系R1, R2的求差,是由属于R1而不属于R2的所有元组t组成的一个新的关系,新关系具有和R1或R2相同的属性名集合。 运算符:“ 记为:,4.2 关系代数,一、传统的集合运算,SQL Server

9、 2000,3、相交 具有相同的属性的两个关系R1, R2的相交,是由既属于R1又属于R2的所有元组t组成的一个新的关系,新关系具有和R1或R2相同的属性名集合。 运算符:“ 记为:,4.2 关系代数,一、传统的集合运算,SQL Server 2000,4、乘积 两个关系R,S(设R为n目的k1元关系,S为m目的k2元关系)的广义笛卡儿乘积,是一个(n+m)目的元组集合,由属于R1的任何一个元组tk1和属于S的元组tk2连接而成的新元组t所组成的 一个新关系。 运算符:“” 记为:,4.2 关系代数,一、传统的集合运算,SQL Server 2000,例:,R1,R2,R1R2,4.2 关系代

10、数,SQL Server 2000,二、专门的关系运算 1、选择 指关系R中选择满足给定条件的元组 记为: F(R)=t|t R F(t)=真,4.2 关系代数,SQL Server 2000,例 查询计算机系的所有学生,学生, 所在系=计算机 (学生),4.2 关系代数,SQL Server 2000,二、专门的关系运算 2、投影 指关系R中选择出若干属性列组成新的关系 记为: A(R)=tA|t R 其中A为R中的属性列,4.2 关系代数,SQL Server 2000,例 查询学生的姓名和所在系, 姓名,所在系 (学生),4.2 关系代数,学生,SQL Server 2000,注:投影操

11、作是从列的角度进行运算的,但投影操作 后,不仅取消了某些列,而且也取消了某些元组,因为取消了某些属性后,就可能出现重复元组,关系操作自动取消重复元组。 例: 年龄,所在系 (学生),4.2 关系代数,SQL Server 2000,3、连接 指从两关系R,S的广义笛卡尔积中选取属性间满足一定条件的元组,记为: R S=tr ts|tr R ts S trA tsB AB 其中A和B分别为R和S上度数相等且可比的属性组,为比较运算符。 连接运算中有两种常用的连接:一种是等值连接,另一种是自然连接。等值连接是从关系R和S的广义笛卡尔积中选取A和B属性相等的元组,自然连接是一种特殊的等值连接,它要求

12、两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,4.2 关系代数,学生,选课,学生 选课,学生 选课 学生.学号=选课.学号,等值连接,学生,选课,学生 选课,自然连接,学生,选课,SQL Server 2000,三、用关系代数表示检索的例子,学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,先行课) 选课(学号,课程号,成绩),学号,姓名(课程号=C2(选课 学生),例1、求选修了课程号为“C2”课程的学生学号,学号(课程号=C2(选课),例2、求选修了课程号为“C2”课程的学生学号和姓名,4.2 关系代数,SQL Serve

13、r 2000,学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,先行课) 选课(学号,课程号,成绩),例3、求年龄大于20的所有女学生的学号、姓名,学号,姓名(年龄20 性别=女(学生),例4、求选了课的学生的学号和姓名,例5、求没有选课的学生的学号和姓名,学号,姓名(选课 学生),学号,姓名(学生)-学号,姓名(选课 学生),4.2 关系代数,SQL Server 2000,学号(课程号=C2(选课)学号(课程号=C3(选课) 或学号(课程号=C2 课程号=C3(选课),例6、求没有选修课程号为“C1”课程的学生学号,学号(学生)-学号(课程号=C1(选课),例7、选修“C2”课

14、程或选修“C3”课程的学生学号,学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,先行课) 选课(学号,课程号,成绩),不能写成:学号(课程号 C1(选课),4.2 关系代数,SQL Server 2000,例8、既选修“C2”课程又选修“C3”课程的学生学号,学号(课程号=C2(选课)学号(课程号=C3(选课),不能写为: 学号(课程号=C2 课程号=C3(选课),因为选择运算是集合运算,在同一元组中的课程号不可能既是“C2”又是“C3”,学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,先行课) 选课(学号,课程号,成绩),4.2 关系代数,SQL Server 2000,1、P109 3,4,5,13(1、2、3) ,14(1,2,3,4) 补充题: (1)求使用天津供应商生产的“红色”零件的工程的工程代码 (2)求使用零件名为“阀门”的工程的工程代码 (3)求使用零件名为“阀门”的工程的工程名 (4)求没有使用零件名为“阀门”的工程的工程代码 2、预习:课本第五章内容,课后作业,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1