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

上传人:pu****.1 文档编号:568205120 上传时间:2024-07-23 格式:PPT 页数:34 大小:1.08MB
返回 下载 相关 举报
关系模型及其定义关系代数_第1页
第1页 / 共34页
关系模型及其定义关系代数_第2页
第2页 / 共34页
关系模型及其定义关系代数_第3页
第3页 / 共34页
关系模型及其定义关系代数_第4页
第4页 / 共34页
关系模型及其定义关系代数_第5页
第5页 / 共34页
点击查看更多>>
资源描述

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

1、4.1 4.1 关系模型及其定义关系模型及其定义4.2 4.2 关系代数关系代数第四章第四章 关系数据库关系数据库SQL Server 2000 关系模型由关系模型由关系数据结构关系数据结构、关系操作集合关系操作集合和和完整性完整性约束约束三部分组成。三部分组成。一、关系数据结构一、关系数据结构1 1、域域:一组具有相同数据类型的值的集合。:一组具有相同数据类型的值的集合。 例:正数,例:正数, 男,女男,女 ,信管系所有学生的姓名,信管系所有学生的姓名4.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000一、关系数据结构一、关系数据结构2 2、笛卡尔积笛卡尔积: 设给定

2、一组域设给定一组域D D1 1,D D2 2,D Dn n,这些域可以完全不同,也可这些域可以完全不同,也可以部分或全部相同。以部分或全部相同。 D D1 1,D D2 2,D Dn n的笛卡尔积为的笛卡尔积为D D1 1 D D2 2 D Dn n=(d=(d1 1,d d2 2,d dn n)| )| d di i D Dj j , j1,2,j1,2,n,n其中每一个元素其中每一个元素(d(d1 1,d d2 2,d dn n) )称为一个称为一个n n元组,简称元组。元组,简称元组。元素中的每一个值元素中的每一个值d di i称作一个分量。称作一个分量。D D1 1 D D2 2 D

3、Dn n的的基数为:基数为:M= mM= mi i 笛卡尔积可以表示成一个二维表。表中的每一行对应一个笛卡尔积可以表示成一个二维表。表中的每一行对应一个元组每一列对应一个域。元组每一列对应一个域。 4.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000例:例: D D1 1= =姓名姓名=王平,李丽王平,李丽 D D2 2= =性别性别=男,女男,女 D D3 3= =年龄年龄=19=19,2020 则则D D1 1 D D2 2 D D3 3=(=(王平,男,王平,男,19), (19), (王平,男,王平,男,20),(20),(王平,女,王平,女,19)19),(

4、(王平,女,王平,女,20)20),( (李丽,男,李丽,男,19)19),( (李丽,男,李丽,男,20)20),( (李丽,女,李丽,女,19)19),( (李丽,女,李丽,女,20)20) 基数基数=2=22 22=82=84.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000一、关系数据结构一、关系数据结构 3 3、关系关系 D D1 1 D D2 2 D 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为关系的目或度为

5、关系的目或度关系也是一个二维表。关系也是一个二维表。4.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000关系的性质:关系的性质:同一个属性的数据是同质的,即来自同一个域同一个属性的数据是同质的,即来自同一个域同一个关系的属性名不能重复同一个关系的属性名不能重复列位置顺序无关列位置顺序无关关系具有元组无冗余性关系具有元组无冗余性元组位置顺序无关元组位置顺序无关每个分量必须是不可分的数据项每个分量必须是不可分的数据项4.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000关系的组成:关系的组成:关系关系数据数据结构结构关系模式关系模式元组元组4.1 4.

6、1 关系模型及其定关系模型及其定义SQL Server 2000二、关系操作二、关系操作1、内容内容 关系操作包括关系操作包括数据查询数据查询、数据维护数据维护和和数据控制数据控制三大功能。三大功能。 数据查询指数据检索、统计、排序、分组以及用户对信数据查询指数据检索、统计、排序、分组以及用户对信息的需求等功能。息的需求等功能。 数据维护指数据增加、删除、修改等数据自身更新的功数据维护指数据增加、删除、修改等数据自身更新的功能。能。 数据控制指为了保护数据的安全性和完整性而采用的数数据控制指为了保护数据的安全性和完整性而采用的数据存取控制和并发控制等功能。据存取控制和并发控制等功能。4.1 4

7、.1 关系模型及其定关系模型及其定义SQL Server 2000二、关系操作二、关系操作 2 2、特点特点 关系操作的方式为一次一关系操作的方式为一次一集合集合。 3 3、关系操作语言关系操作语言 关系代数语言:用关系的运算来表达查询要求的语言。关系代数语言:用关系的运算来表达查询要求的语言。 关系演算语言:用查询得到的元组替代满足的谓词条件关系演算语言:用查询得到的元组替代满足的谓词条件来表达查询要求的语言。来表达查询要求的语言。 基于映射的语言:具有关系代数和关系演算双重特点的基于映射的语言:具有关系代数和关系演算双重特点的语言。语言。SQLSQL是关系数据库的标准语言是关系数据库的标准

8、语言。4.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000 三、关系的完整性三、关系的完整性 1 1、实体完整性规则实体完整性规则:主属性的值不能为空值:主属性的值不能为空值 候选码候选码(码、关键字):关系中能唯一地标识一个元组的(码、关键字):关系中能唯一地标识一个元组的属性或属性组。属性或属性组。 主码主码(主键、主关键字):当一个关系有多个候选码时,(主键、主关键字):当一个关系有多个候选码时,应选定其中一个候选码为主码。应选定其中一个候选码为主码。 主属性主属性:候选码中的属性称为主属性。:候选码中的属性称为主属性。 全码全码:若关系中只有一个侯选码,且这个侯

9、选码中包括全:若关系中只有一个侯选码,且这个侯选码中包括全部属性,则这种侯选码称为全码。部属性,则这种侯选码称为全码。4.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000注:注: 候选码是一个属性或一组属性,主属性则指单个的属性。候选码是一个属性或一组属性,主属性则指单个的属性。 如果候选码由单个属性组成,主属性就是候选码如果候选码由单个属性组成,主属性就是候选码。如对于。如对于学生关系(学号,姓名,性别学生关系(学号,姓名,性别) ),学号既是候选码,也是主属,学号既是候选码,也是主属性。性。 如果候选码由多个属性组成,主属性就不是候选码如果候选码由多个属性组成,主属

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

11、 R的的主码,如果主码,如果F F与关系与关系S S的主码的主码S SF F相对应,则称相对应,则称F F是是R R的外码,的外码,R R为为参照表,参照表,S S为为R R的被参照表,的被参照表,4.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000 例:例:学生(学号,姓名,性别,学生(学号,姓名,性别,专业号专业号专业号专业号) 专业(专业号,专业名称)专业(专业号,专业名称) 课程(课程号,课程名,学分)课程(课程号,课程名,学分) 选课(学号,课程号,成绩)选课(学号,课程号,成绩) 则学生表中的专业号为外码,专业表为学生表的被参照则学生表中的专业号为外码,专业

12、表为学生表的被参照表,选课表中的学号、课程号为外码,学生表是选课表的被表,选课表中的学号、课程号为外码,学生表是选课表的被参照表,课程表也是选课表的被参照表参照表,课程表也是选课表的被参照表。4.1 4.1 关系模型及其定关系模型及其定义SQL Server 20003 3、用户定义的完整性用户定义的完整性:是针对某一具体关系数据库的约束条:是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。件,它反映某一具体应用所涉及的数据必须满足的语义要求。 例:例:考试成绩必须在考试成绩必须在0 0100100之间之间 身份证号必须是身份证号必须是1818位数字位数字4

13、.1 4.1 关系模型及其定关系模型及其定义SQL Server 2000 定义定义 一组建立在关系上的高级运算,每个运算都以一个或一组建立在关系上的高级运算,每个运算都以一个或多个关系作为它的运算对象,并且生成一个关系作为运算结果。多个关系作为它的运算对象,并且生成一个关系作为运算结果。 (1) (1) 运算对象:运算对象:关系关系 (2) (2) 运算结果:运算结果:关系关系 关系运算分两类关系运算分两类 (1)(1)一般的集合运算一般的集合运算:合并、相交、求差、乘积(广义笛:合并、相交、求差、乘积(广义笛卡尔积)卡尔积) (2)(2)专门的关系运算专门的关系运算:选择、投影、连接、除:

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

15、 2、求差(相减)、求差(相减) 具有相同的属性具有相同的属性的两个关系的两个关系R R1 1, R, R2 2的求差,是由属于的求差,是由属于R R1 1而不属于而不属于R R2 2的所有元组的所有元组t t组成的一个新的关系,新关系具有组成的一个新的关系,新关系具有和和R R1 1或或R R2 2相同的属性名集合。相同的属性名集合。运算符:运算符: 记为:记为: 4.2 4.2 关系代数关系代数一、传统的集合运算一、传统的集合运算SQL Server 2000 3 3、相交、相交具有相同的属性具有相同的属性的两个关系的两个关系R R1 1, R, R2 2的相交,是由既的相交,是由既属于属

16、于R R1 1又属于又属于R R2 2的所有元组的所有元组t t组成的一个新的关系,新关系具组成的一个新的关系,新关系具有和有和R R1 1或或R R2 2相同的属性名集合。相同的属性名集合。 运算符:运算符:记为:记为: 4.2 4.2 关系代数关系代数一、传统的集合运算一、传统的集合运算SQL Server 2000 4 4、乘积、乘积 两个关系两个关系R,SR,S(设(设R R为为n n目的目的k k1 1元关系,元关系,S S为为m m目的目的k k2 2元关元关系)的广义笛卡儿乘积,是一个(系)的广义笛卡儿乘积,是一个(n+m)n+m)目的元组集合,由属于目的元组集合,由属于R R1

17、 1的任何一个元组的任何一个元组t tk1k1和属于和属于S S的元组的元组t tk2k2连接而成的新元组连接而成的新元组t t所组所组成的成的 一个新关系。一个新关系。 运算符:运算符:“” 记为:记为:4.2 4.2 关系代数关系代数一、传统的集合运算一、传统的集合运算SQL Server 2000例:例:ABCA1B1C1A2B2C2A3B3C3R1DED1E1D2E2R2R1R2A1B1C1D1E1A3B3C3D2E24.2 4.2 关系代数关系代数A1B1C1D2E2A3B3C3D1E1A2B2C2D2E2A2B2C2D1E1ABCDESQL Server 2000 二、专门的关系运

18、算二、专门的关系运算 1 1、选择、选择指关系指关系R R中选择满足给定条件的元组中选择满足给定条件的元组 记为:记为: F F(R R)=t|t R F(t)=t|t R F(t)=真真 4.2 4.2 关系代数关系代数SQL Server 2000学号学号姓名姓名年龄年龄所在系所在系9800198001王平王平2020计算机计算机9800298002李丽李丽2121数学数学9800398003陈红陈红2020计算机计算机例例查询计算机系的所有学生查询计算机系的所有学生学生学生所在系所在系=计算机计算机(学生)(学生)学号学号姓名姓名年龄年龄所在系所在系9800198001王平王平2020计

19、算机计算机9800398003陈红陈红2020计算机计算机4.2 4.2 关系代数关系代数SQL Server 2000二、专门的关系运算二、专门的关系运算 2 2、投影、投影指关系指关系R R中选择出若干属性列组成新的关中选择出若干属性列组成新的关系系 记为:记为: A A(R R)=tA|t R =tA|t R 其中其中A A为为R R中的属性列中的属性列4.2 4.2 关系代数关系代数SQL Server 2000例例查询学生的姓名和所在系查询学生的姓名和所在系姓名,所在系姓名,所在系(学生)(学生)姓名姓名所在系所在系王平王平计算机计算机李丽李丽数学数学陈红陈红计算机计算机4.2 4.

20、2 关系代数关系代数学号学号姓名姓名年龄年龄所在系所在系9800198001王平王平2020计算机计算机9800298002李丽李丽2121数学数学9800398003陈红陈红2020计算机计算机学生学生SQL Server 2000注:注:投影操作是从列的角度进行运算的,但投影操作投影操作是从列的角度进行运算的,但投影操作 后,不仅取消了某些列,而且也取消了某些元组,因为后,不仅取消了某些列,而且也取消了某些元组,因为取消了某些属性后,就可能出现重复元组,关系操作自取消了某些属性后,就可能出现重复元组,关系操作自动取消重复元组。动取消重复元组。例:例:年龄,所在系年龄,所在系(学生)(学生)

21、年龄年龄所在系所在系2020计算机计算机2121数学数学2020计算机计算机4.2 4.2 关系代数关系代数年龄年龄所在系所在系2020计算机计算机2121数学数学SQL Server 20003 3、连接、连接指从两关系指从两关系R R,S S的广义笛卡尔积中选取属性间满足一的广义笛卡尔积中选取属性间满足一定条件的元组定条件的元组, ,记为:记为: R S=R S=t tr r t ts s|t|tr r R R t ts s S S t tr rAA t ts sBB ABAB 其中其中A A和和B B分别为分别为R R和和S S上度数相等且可比的属性组,上度数相等且可比的属性组,为比为比

22、较运算符。较运算符。 连接运算中有两种常用的连接:一种是等值连接,另一种连接运算中有两种常用的连接:一种是等值连接,另一种是自然连接。是自然连接。等值连接等值连接是从关系是从关系R R和和S S的广义笛卡尔积中选取的广义笛卡尔积中选取A A和和B B属性相等的元组,属性相等的元组,自然连接自然连接是一种特殊的等值连接,它要求两是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉把重复的属性列去掉4.2 4.2 关系代数关系代数SQL Server 2000学号学号姓名姓名年龄年龄所在系所在系

23、9800198001王平王平2020计算机计算机9800298002李丽李丽2121数学数学9800398003陈红陈红2020计算机计算机学生学生学号学号课程号课程号成绩成绩9800198001C1C195959800198001C3C380809800398003C1C185859800398003C2C27575选课选课学生学生 选课选课学生学生. .学学号号姓名姓名年龄年龄所在系所在系选课选课. .学学号号课程号课程号成绩成绩9800198001王平王平2020计算机计算机9800198001C1C195959800198001王平王平2020计算机计算机9800198001C3C38

24、0809800198001王平王平2020计算机计算机9800398003C1C185859800198001王平王平2020计算机计算机9800398003C2C275759800298002李丽李丽2121数学数学9800198001C1C195959800298002李丽李丽2121数学数学9800198001C3C380809800298002李丽李丽2121数学数学9800398003C1C195959800298002李丽李丽2121数学数学9800398003C2C275759800398003陈红陈红2020计算机计算机9800198001C1C195959800398003陈

25、红陈红2020计算机计算机9800198001C3C380809800398003陈红陈红2020计算机计算机9800398003C1C185859800398003陈红陈红2020计算机计算机9800398003C2C27575SQL Server 2000学生学生. .学学号号姓名姓名年龄年龄所在系所在系选课选课. .学学号号课程号课程号成绩成绩9800198001王平王平2020计算机计算机9800198001C1C195959800198001王平王平2020计算机计算机9800198001C3C380809800398003陈红陈红2020计算机计算机9800398003C1C185

26、859800398003陈红陈红2020计算机计算机9800398003C2C27575学生学生选课选课学生学生.学号学号=选课选课.学号学号等值等值连接连接学号学号姓名姓名年龄年龄所在系所在系9800198001王平王平2020计算机计算机9800298002李丽李丽2121数学数学9800398003陈红陈红2020计算机计算机学生学生学号学号课程号课程号成绩成绩9800198001C1C195959800198001C3C380809800398003C1C185859800398003C2C27575选课选课SQL Server 2000学生学生选课选课自然连接自然连接学号学号姓名姓名

27、年龄年龄所在系所在系课程号课程号成绩成绩9800198001王平王平2020计算机计算机C1C195959800198001王平王平2020计算机计算机C3C380809800398003陈红陈红2020计算机计算机C1C185859800398003陈红陈红2020计算机计算机C2C27575学号学号姓名姓名年龄年龄所在系所在系9800198001王平王平2020计算机计算机9800298002李丽李丽2121数学数学9800398003陈红陈红2020计算机计算机学生学生学号学号课程号课程号成绩成绩9800198001C1C195959800198001C3C380809800398003

28、C1C185859800398003C2C27575选课选课SQL Server 2000三、用关系代数表示检索的例子三、用关系代数表示检索的例子学生选课库的关系模式为:学生选课库的关系模式为:学生(学号,姓名,性别,年龄,所在系)学生(学号,姓名,性别,年龄,所在系)课程(课程号,课程名,先行课)课程(课程号,课程名,先行课)选课(学号,课程号,成绩)选课(学号,课程号,成绩)学号,姓名学号,姓名(课程号课程号=C2(选课(选课学生)学生)例例1、求选修了课程号为、求选修了课程号为“C2”课程的学生学号课程的学生学号学号学号(课程号课程号=C2(选课)(选课)例例2、求选修了课程号为、求选修

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

30、姓名学号,姓名(选课选课 学生)学生)学号,姓名学号,姓名(学生)学生)-学号,姓名学号,姓名(选课选课 学生学生)4.2 4.2 关系代数关系代数SQL Server 2000学号学号(课程号课程号= =C2C2(选课)选课)学号学号(课程号课程号= =C3C3(选课)选课)或或学号学号(课程号课程号= =C2C2 课程号课程号= =C3C3(选课)选课)例例6、求没有选修课程号为、求没有选修课程号为“C1”课程的学生学号课程的学生学号学号学号(学生)(学生)-学号学号(课程号课程号= =C1C1(选课)选课)例例7、选修、选修“C2”课程或选修课程或选修“C3”课程的学生学号课程的学生学号

31、学生(学号,姓名,性别,年龄,所在系)学生(学号,姓名,性别,年龄,所在系)课程(课程号,课程名,先行课)课程(课程号,课程名,先行课)选课(学号,课程号,成绩)选课(学号,课程号,成绩)不能写成不能写成:学号(学号(课程号课程号C1(选课)(选课)4.2 4.2 关系代数关系代数SQL Server 2000例例8、既选修、既选修“C2”课程又选修课程又选修“C3”课程的学生学号课程的学生学号学号学号(课程号课程号= =C2C2(选课)选课)学号学号(课程号课程号= =C3C3(选课)选课)不能写为不能写为: 学号学号(课程号课程号= =C2C2 课程号课程号= =C3C3(选课)选课) 因

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号