第2章关系数库系统_第1页
第2章关系数库系统_第2页
第2章关系数库系统_第3页
第2章关系数库系统_第4页
第2章关系数库系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第2章章 关系数据库系统关系数据库系统22第第2章章 关系数据库系统关系数据库系统n 2.1 2.1 关系模型的基本概念关系模型的基本概念n 2.2 2.2 关系代数关系代数n 2.3 2.3 关系规范化关系规范化32.1 关系模型的基本概念关系模型的基本概念n 关系模型的基本术语关系模型的基本术语 部门号部门号部门名部门名部门经理部门经理电话号码电话号码101技术部技术部林克林克26540214102财务部财务部徐莹华徐莹华26540652103公关部公关部张文韬张文韬26544852104策划部策划部谢海谢海26543298职工号职工号职工名职工名性别性别年龄年龄部门号部门号10100

2、1王军王军男男24101101003黄明业黄明业男男34101103018张华张华女女35103104024吴林华吴林华女女27104表表2.1 职工信息表职工信息表表表2.2 部门信息表部门信息表42.1 关系模型的基本概念关系模型的基本概念1关系关系一个关系就是一张二维表,通常将一个没有重复行、重一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。复列的二维表看成一个关系,每个关系都有一个关系名。2. 属性及值域属性及值域二维表的每一列在关系中称为属性二维表的每一列在关系中称为属性(attribute),每个属性,每个属性都有一个属性名,各个属

3、性的取值称为属性值。每个属性有都有一个属性名,各个属性的取值称为属性值。每个属性有一定的取值范围,称为值域。一定的取值范围,称为值域。3. 关系模式关系模式对关系的描述称为关系模式,关系模式的一般形式为:对关系的描述称为关系模式,关系模式的一般形式为: 关系名关系名(属性属性1,属性,属性2,属性,属性n) 例如,职工信息关系例如,职工信息关系(职工号,职工名,性别,年龄,职工号,职工名,性别,年龄,部门号部门号)52.1 关系模型的基本概念关系模型的基本概念4元组元组二维表的每一行在关系中称为元组二维表的每一行在关系中称为元组(tuple)。一行描述了。一行描述了现实世界中的一个实体,或者描

4、述了不同实体间的一种联系。现实世界中的一个实体,或者描述了不同实体间的一种联系。5. 键键(1) 超键:在关系中能唯一标识元组的属性或属性的组超键:在关系中能唯一标识元组的属性或属性的组合称为该关系的超键。合称为该关系的超键。(2)候选键:不含有多余属性的超键称为候选键。)候选键:不含有多余属性的超键称为候选键。(3)主键:用户选作元组标识的一个候选键称为主键。)主键:用户选作元组标识的一个候选键称为主键。 例如,表例如,表2.1的职工信息关系中,属性组合的职工信息关系中,属性组合(职工号,职工职工号,职工名名)是超键,但不是候选键是超键,但不是候选键 。62.1 关系模型的基本概念关系模型的

5、基本概念6. 主属性与非主属性主属性与非主属性关系中包含在任何一个候选键中的属性称为主属性,不关系中包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性称为非主属性。包含在任何一个候选键中的属性称为非主属性。 例如,表例如,表2.1职工关系中,职工号和职工名是主属性,其职工关系中,职工号和职工名是主属性,其他属性是非主属性。他属性是非主属性。7. 外键、参照关系与依赖关系外键、参照关系与依赖关系如果关系中某个属性或属性组合并非关键字,但却是另如果关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,则称此属性或属性组合为本关系的外一个关系的主关键字,则称此属性或属性

6、组合为本关系的外部关键字或外键部关键字或外键(foreign key)。在关系数据库中,用外部关键字表示两个表间的联系。在关系数据库中,用外部关键字表示两个表间的联系。以外键作为主键的关系称为参照关系或主关系,外键所在的以外键作为主键的关系称为参照关系或主关系,外键所在的关系称为依赖关系或从关系。关系称为依赖关系或从关系。 72.1 关系模型的基本概念关系模型的基本概念n 关系的定义和性质关系的定义和性质 在关系模型中,对关系作了下列规范性限制。在关系模型中,对关系作了下列规范性限制。(1)关系中的每一个属性值是不可分解的。)关系中的每一个属性值是不可分解的。 (2)每一个关系模式中属性的数据

7、类型以及属性的个数)每一个关系模式中属性的数据类型以及属性的个数是固定的,并且每个属性必须命名,在同一个关系模式中,是固定的,并且每个属性必须命名,在同一个关系模式中,属性名必须是不同的。属性名必须是不同的。(2)每一个关系仅有一种关系模式。)每一个关系仅有一种关系模式。(4)在关系中没有行序。)在关系中没有行序。 (5)在关系中没有列序。)在关系中没有列序。(6)在同一个关系中不允许出现完全相同的元组。)在同一个关系中不允许出现完全相同的元组。 82.1 关系模型的基本概念关系模型的基本概念n 关系模型的三要素关系模型的三要素1. 数据结构数据结构2. 关系操作关系操作(1)代数方法,也称为

8、关系代数,是以集合)代数方法,也称为关系代数,是以集合(关系是元关系是元组的集合组的集合)操作为基础,应用对关系的专门运算来表达查询操作为基础,应用对关系的专门运算来表达查询的要求。的要求。(2)逻辑方法,也称为关系演算,是以谓词演算为基础,)逻辑方法,也称为关系演算,是以谓词演算为基础,通过元组必须满足的谓词公式来表达查询要求。通过元组必须满足的谓词公式来表达查询要求。3. 关系模型的三类完整性规则关系模型的三类完整性规则92.1 关系模型的基本概念关系模型的基本概念(1)实体完整性)实体完整性所谓实体完整性,就是一个关系模型中的所有元组都是所谓实体完整性,就是一个关系模型中的所有元组都是惟

9、一的,没有两个完全相同的元组,也就是一个二维表中没惟一的,没有两个完全相同的元组,也就是一个二维表中没有两个完全相同行,也称为行完整性。有两个完全相同行,也称为行完整性。 例如,表例如,表2.1的职工信息关系,根据实体完整性,的职工信息关系,根据实体完整性,“职工职工号号”不能取空值不能取空值 。(2)参照完整性)参照完整性当一个数据表中有外部关键字当一个数据表中有外部关键字(即该列是另外一个表的关即该列是另外一个表的关键字键字)时,外部关键字列的所有值,都必须出现在其所对应时,外部关键字列的所有值,都必须出现在其所对应的表中,这就是参照完整性的含义的表中,这就是参照完整性的含义 。例如,表例

10、如,表2.1的职工信息表和表的职工信息表和表2.2的部门信息表。的部门信息表。(3)用户定义完整性)用户定义完整性102.2 关系代数关系代数n 传统的集合运算传统的集合运算 对二维表格进行运算的机制。对二维表格进行运算的机制。 1并并设设a、b同为同为n元关系,则元关系,则a、b的并也是一个的并也是一个n元关系,元关系,记作记作ab。2差差设设a、b同为同为n元关系,则元关系,则a、b的差也是一个的差也是一个n元关系,元关系,记作记作a-b。a-b包含了所有属于包含了所有属于a但不属于但不属于b的元组。的元组。 3交交设设a、b同为同为n元关系,则元关系,则a、b的交也是一个的交也是一个n元

11、关系,元关系,记作记作ab。ab包含了所有同属于包含了所有同属于a、b的元组。的元组。112.2 关系代数关系代数4广义笛卡尔积广义笛卡尔积设设a1、a2、an为任意集合,为任意集合,a1、a2、an的笛的笛卡尔乘积记做:卡尔乘积记做:a1a2an,并且定义并且定义d= a1a2an =(a1,a2,an)|aiai,i=1,2,n,其中,其中(a1,a2,an)是一个元组,它的每个元素是一个元组,它的每个元素ai取取自对应的集合自对应的集合ai。例如,设例如,设a=1,2,b=a,b,则,则ab=(1,a),(1,b),(2,a),(2,b)。12 r a b c a1 b1 c1 a1 b

12、2 c2 a2 b2 c1 (a) s a b c a1 b2 c2 a1 b3 c2 a2 b2 c1 (b) r? s a b c a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 (c) rs a b c a1 b1 c1 (d) rs a b c a1 b2 c2 a2 b2 c1 (e) rs r.a r.b r.c s.a s.b s.c a1 b1 c1 a1 b2 c2 a1 b1 c1 a1 b3 c2 a1 b1 c1 a2 b2 c1 a1 b2 c2 a1 b2 c2 a1 b2 c2 a1 b3 c2 a1 b2 c2 a2 b2 c1 a2 b

13、2 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 a2 b2 c1 a2 b2 c1 (f) 2.2 关系代数关系代数【例【例2.1】132.2 关系代数关系代数n 专门的关系运算专门的关系运算1. 选择选择对关系作水平分割对关系作水平分割 定义如下:定义如下:t是元组变量,是元组变量,f是元组需满足的公式。是元组需满足的公式。2. 投影投影对关系作垂直分割对关系作垂直分割设关系设关系r是是k元关系,元关系,r在其分量,在其分量,(mk,i1,im为为1到到k间的整数间的整数)上的投影用上的投影用 表示,表示,它是一个它是一个m元元组的集合,定义如下元元组的集合,定义如下:(:(

14、t是元组变量是元组变量 ))(|)(truetfrttrf11,1(r),rmmiiiik t|ttttt1,(r)mii142.2 关系代数关系代数【例【例2.2】 (a)是关系是关系r,(b)表示表示 c3(r),(c)表示表示c,a(r)。r a b c 5 2 8 1 7 4 6 9 3 (a) c3(r) a b c 5 2 8 1 7 4 (b) c,a(r) c a 8 5 4 1 3 6 (c) 152.2 关系代数关系代数3. 连接连接连接运算的结果是笛卡尔积的子集连接运算的结果是笛卡尔积的子集(1) 连接连接从关系从关系r和和s的笛卡尔积中选取属性值满足某一的笛卡尔积中选取

15、属性值满足某一 操作的元组。操作的元组。形式定义如下:形式定义如下:,|ttttttsjissjisrttsrttsji,分别表示元组分别表示元组tr的第的第i个分量、元组个分量、元组ts的第的第j个分量个分量 ttsji表示这两个分量的表示这两个分量的 操作操作162.2 关系代数关系代数(2)f连接连接f连接操作是连接操作是从关系从关系r和和s的笛卡尔积中选取属性值满足的笛卡尔积中选取属性值满足某一公式某一公式f的元组的元组,记为,记为 r s。(3)自然连接)自然连接两个关系两个关系r和和s的自然连接操作用的自然连接操作用rs表示,计算过程表示,计算过程如下:如下:计算计算rs;设设r和

16、和s的公共属性是的公共属性是a1,ak,挑选,挑选rs中满足中满足r.a1=s.a1,r.ak=s.ak的那些元组;的那些元组;去掉去掉s.a1,s.ak这些列。这些列。因而因而rs定义如下:定义如下:rsf111,.()mkkiir as ar as ars172.2 关系代数关系代数【例【例2.3】 (a)和和(b)是两个关系是两个关系r和和s,(c)表示连接,表示连接,(d)表示表示f连接,连接,(e)表示自然连接。表示自然连接。r a b c 4 3 6 4 3 7 2 9 1 (a) rs a b c 4 3 6 4 3 7 (e) r22 1 2 s r.a r.b r.c s.a

17、 s.b 2 9 1 4 3 2 9 1 2 3 (d) s a b 4 3 8 1 2 3 (b) 182.2 关系代数关系代数4. 除法除法设关系设关系r和和s的元数分别为的元数分别为r和和s(设设rs0),那么,那么r s是一个是一个(r-s)元的元组集合元的元组集合。 (r s)是满足下列条件的最大关系:其是满足下列条件的最大关系:其中每个元组中每个元组t与与s中每个元组中每个元组u组成的新元组组成的新元组必在关系必在关系r中。中。 192.2 关系代数关系代数【例【例2.4】 (a)和和(b)是两个关系是两个关系r和和s,(c)表示除法运算。表示除法运算。 r a b c d 5 7

18、 2 8 5 7 7 4 5 1 5 7 3 6 4 1 9 8 2 8 9 8 7 4 (a) s c d 2 8 7 4 (b) rs a b 5 7 9 8 (c) 202.2 关系代数关系代数n 关系代数表达式及其应用实例关系代数表达式及其应用实例 【例【例2.5】设教学数据库中有三个关系:】设教学数据库中有三个关系: 学生关系学生关系(学号学号,姓名,性别,年龄,所在系,专业,姓名,性别,年龄,所在系,专业) 课程关系课程关系(课程号课程号,课程名,学时数,课程名,学时数) 选课关系选课关系(学号,课程号学号,课程号,成绩,成绩) 下面用关系代数表达式表达每个查询语句。下面用关系代数

19、表达式表达每个查询语句。(1)检索课程号为)检索课程号为c201的学生的学号与成绩。的学生的学号与成绩。(2)检索选修课程名为应用数学的学生的学号与姓名。)检索选修课程名为应用数学的学生的学号与姓名。选课课程名成绩学号201,c1,3(课程选课学生应用数学课程名学号,姓名212.2 关系代数关系代数(3)检索选修全部课程的学生姓名。)检索选修全部课程的学生姓名。 过程如下:过程如下: 学生选课情况表示如下:学生选课情况表示如下: 全部课程表示如下:全部课程表示如下: 选修了全部课程的学生学号可用除法操作表示,操选修了全部课程的学生学号可用除法操作表示,操作结果是学号集作结果是学号集 ,表示如下

20、:,表示如下:从学号求学生姓名,可用自然连接和投影操作组合而从学号求学生姓名,可用自然连接和投影操作组合而成:成:课程选课学生课程名学号,课程名姓名选课学号,课程号课程课程号课程选课课程号学号,课程号222.3 关系规范化关系规范化n 关系模式的设计问题关系模式的设计问题引例引例:表:表2.3关系模型存在如下几方面的问题。关系模型存在如下几方面的问题。数据冗余;修改异常;插入异常;删除异常数据冗余;修改异常;插入异常;删除异常 snosnamescitycodepnopnameweightqtys1迅飞公司上海021p102六角螺栓2.58280s2网达公司天津022p432转管45.1436

21、0s2网达公司天津022p761水暖三通34.96200s3新嘉公司北京010p432转管45.14480s4中联公司北京010p761水暖三通34.96100表表2.3 商品供应关系模式商品供应关系模式supply的实例的实例232.3 关系规范化关系规范化要解决上述要解决上述3个问题,可将商品供应关系模式个问题,可将商品供应关系模式supply分分解以下为四个模式:解以下为四个模式:supplier(sno,sname,scity)city(scity,code)part(pno,pname,weight)s_p(sno,pno,qty)24sno sname scity s1 迅飞公司迅

22、飞公司 上海上海 s2网达公司网达公司 天津天津 s3 新嘉公司新嘉公司 北京北京 s4 中联公司中联公司 北京北京 sno pno qty s1p102280s2p432360s2p761200s3 p432480s4 p761100scity sname 上海上海 021天津天津 022 北京北京 010pno pname weight p102六角螺栓六角螺栓 2.58 p432转管转管 45.14 p761水暖三通水暖三通 34.96 关系模式关系模式supplier的实例的实例 关系模式关系模式city的实例的实例 关系模式关系模式part的实例的实例 关系模式关系模式s_p的实例的

23、实例 表表2.4 关系模式关系模式supply的分解实例的分解实例252.3 关系规范化关系规范化n 函数依赖函数依赖 定义定义1 设设rr(a1,a2,an)是一个关系模式是一个关系模式(a1,a2,an是是r的属性的属性),x a1,a2,an ,y a1,a2,an ,即,即x和和y是是r的属性子集,的属性子集,t1、t2是是r的两个任意元组,即的两个任意元组,即t1t1(a1,a2,an),t2t2(a1,a2,an),如果当,如果当t1(x)t2(x)成立时,总有成立时,总有t1(y)t2(y),则称,则称x决定决定y,或称,或称y函数依赖于函数依赖于x。记为:。记为:xy。262.3 关系规范化关系规范化定义定义2 r,x,y如定义如定义1所设,如果所设,如果xy成立,但对成立,但对x的任意真子集的任意真子集x1,都有,都有x1y不成立,称不成立,称y完全函数依赖

温馨提示

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

评论

0/150

提交评论