




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习目标第2章关系数据库理解关系的域与笛卡尔积掌握关系的主码、主属性等术语理解关系的性质掌握关系的完整性熟练掌握关系代数等方法2.1 关系模型概述三要素:关系数据结构、关系操作、关系完整性约束关系数据结构 关系模型中数据的逻辑结构是一张二维表。关系操作 查询操作:选择,投影,连接 ,除,并 ,交 ,差 更新操作: 增加 ,删除 ,修改 关系操作的特点是集合。即操作的对象和操作的 结果都是集合。2.1.1 关系模型的基本概念关系完整性约束实体完整性参照完整性用户自定义完整性关系语言:一种高度非过程化语言 关系代数: 关系演算:谓词 介于关系代数和关系演算之间的语言SQL2.1.2 关系的定义1.
2、域:一组具有相同数据类型的值的集合 例:正数,男,女,计算机系所有学生的姓名2.笛卡尔积:1) 设给定一组域D1,D2,Dn,这些域可以完全不同,也可以部分或全部相同。 D1,D2,Dn的笛卡尔积为 D1 D2 Dn=(d1,d2,dn)| diDi , i1,2,n,其中每一个元素(d1,d2,dn)称为一个n元组。元素中的每一个值di称作一个分量。2) D1 D2 Dn的基数为:M=mi(i=1,2,n)3) 笛卡尔积可以表示成一个二维表。表中的每一行对应一个元组,每一列对应一个域。例:D1=姓名=王平,李丽,D2=性别=男,女,D3=年龄=19,20。则D1 D2 ?,D1 D2 D3=
3、?(a1,a2),(a3,a4) (x1,y1),(x2,y2)姓名性别王平男王平女李丽男李丽女D1D2的笛卡尔积姓名性别年龄王平男19王平男20王平女19王平女20李丽男19李丽男20李丽女19李丽女20D1,D2,D3的笛卡尔积元组个数?3.关系与度关系是笛卡尔积的有限子集,所以关系也是一个二维表。表中的每一行对应一个元组,表中的每一列对应一个域。由于域可以相同,为了加以区别,必须对每列取一个名字,称为属性。关系中属性的个数称为元数,元组中的一个属性值称为分量。 表示为: R(D1,D2,.,Dn)n称为度或目n=1 单元关系n=2 二元关系关系S(姓名,性别,年龄)姓名性别年龄王平男19
4、李丽女192.1.3 关系的六大性质同一属性的数据具有同质性 如学生关系S2中,属性列性别必须来自集合男,女。 同一关系的属性名具有不能重复性 关系中的列位置具有顺序无关性 即列的次序可以任意的交换,看下表:关系具有元组无冗余性例如表中存在两个元组相同的情况,重复的元组应该删除。关系中的元组位置具有顺序无关性即行的次序可以任意交换,这个与列的次序交换类似。关系中每一个分量都必须是不可分的数据项,即原子数据。父亲母亲孩子大小老陈小惠陈大陈小老张小芝小张2.2 关系的键候选码(候选键)与主码(主键)能唯一标识关系中元组的一个属性或属性集,称为候选码 (Candidate key),也称候选关键字。
5、若一个关系有多个侯选码,则待定其中一个作为主码( primary key), 也称为主关系码。(1)唯一性(2)最小性每个关系必定有且仅有一个主码。主属性与非码属性 包含在任何一个候选码中的属性( prime attribute) ,如关系SC中的属性 Snum、 Cnum被称之为主属性。不包含在任何候选码中的属性称为非码属性( non-key attribute), 如关系SC中的属性Score.外部关键码(外键) 本关系引用外部关系的主键(或者候选键)判断的三个条件:(1)在本关系中不是候选码(2)在外部关系中是候选码 (3)有对应关系参考关系被参考关系本关系选修表 ( P10)中,什么是
6、外键?Snum是外键。学生表是被参考关系,选修关系是参考关系。Cnum是外键。课程表是被参考关系,选修关系是参考关系。外部关系2.3 关系模型的完整性关系模型的完整性规则是对关系的某种约束条件。实体完整性 若属性A是基本关系R 的主属性,则属性A不能取空值,空值即不知道或无意义的值 。例,教师关系表(Tnum,Tname,Tsex,Tbirth,Tsalary,Tphone,Dnum)Tnum是主码,也是主属性,所以不能取空例1对于学生选课关系(学号,课程号,成绩)都不能取空值 所有主属性都不能取空值,而不仅是主码整体 不能取空。参照完整性(定义外码与主码的引用规则)参照完整性规则:若属性(或
7、属性组)F是关系R 的外码,它与关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值要么为空值(即f的每个属性值均为空值),要么等于S中某个元组的主码值。如果关系R的某个元组t2 参照了关系S的某个元组t1,则t1必须存在。例2,学生和系可以用下面的关系表示,其中主码用下划线标识:学生(学号,姓名,性别,出生年月,电话,系编号)院系(系编号,系名称,负责人)系编号是学生关系的外码,参照了院系关系的主码,则学生关系中的每个元组的系编号属性只能取下面两类值:1)空值,表示该学生所在的系未知或未确定。2)非空值,这时该值必须是院系关系中确实存在的系编号。例3,在学
8、生课程关系数据库中,包括学生关系S、课程关系C和选修关系SC,这三个关系分别为:学生(学号,姓名,性别,出生年月,电话,系编号)课程(课程号,课程名称,学分)选修(学号,课程号,成绩)选修关系中学号和课程号是外码,所以对于学号取 1)空值,表示尚未有学生选课。 2)非空值,这时该值必须是学生关系中某个学生的学号,表示能够参加选课的必须是已经存在的学生。同样,选修关系中每个元组的课程号属性只能取下面两值: 1)空值,表示尚未开课。 2)非空值,这时该值必须是课程关系中的某个课程号,表示只能选已经开设的课。 但是由于“学号”和“课程号”是选修关系的主属性,按照实体完整性规则,它们均不能取空值。所以
9、选修关系中的“学号”和“课程号”属性实际上只能取相应被参照关系中已经存在的主码值。用户定义完整性 用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。实体完整性和参照完整性适用于任何关系数据库系统。而用户定义完整性则根据数据库环境的不同而不同。考试成绩必须在0100之间 身份证号必须是18位数字2.3 关系数据库模式与关系数据库关系模式: 关系的描述称为关系模式。一个关系模式应当是一个五元组。形式化地表示为:R(U,D,DOM,F). 关系模式通常简记为(U)或R(A1,A2,A3,.An)为关系名, A1,A2,A3,.An为属性名。一般用
10、下划线表示出关系中的主码。如学生关系可表示为S( Snum, Sname ,Ssex, Sbirth, Sphone, Dnum)关系数据库:基于关系模式的数据库。在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。 关系与关系模式 关系模式是型,关系是它的值。2.4 关系代数是一种抽象的查询语言。每个运算都以一个或多个关系作为它的运算对象,并且生成一个关系作为运算结果。运算对象运算符运算结果关系关系(1) 传统的集合运算符 : ( 并运算 ), 一 ( 差运算 ),( 交运算 ), ( 广义笛卡尔积 )(2) 专门的关系运算符: ( 选择 ), ( 投影 ), (
11、连接 ), ( 除 ) (3) 比较运算符 : (大于), (大于等于),20(S)数字不用单引号例4:S( Snum, Sname,Sage,Dept) 投影 (Projection) 运算(垂直方向,列的角度)关系 R 上的投影是从 R 中选择出若干属性列组成新的关系。记作: A (R)=tA| tR投影的本质就是筛除不需要的属性例5 查询学生的姓名和所在系 Snum,Dept (S)或2, 4(S)SnumDept王平计算机李丽数学陈红计算机为中的属性列注:投影操作是从列的角度进行运算的,但投影操作后,不仅取消了某些列,而且也取消了某些元组,因为取消了某些属性后,就可能出现重复元组,关系
12、操作自动取消元组例6 查询计算机系学生的姓名和学号Sname,Snum (S))Dept=计算机 (连接 (Join) 运算指从两关系R,S的广义笛卡尔积中选取属性间满足一定条件的元组。记为:其中A和B分别为R和S上度数相等且可比的属性组,为比较运算符。 RS=t1,t2|t1Rt2St1At2BAB连接运算中有两种常用的连接:等值连接(当为“”)是从关系R和S的广义笛卡尔积中选取A和B属性值相等的元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组即A和B是相同的组,并且在结果中把重复的属性列去掉。例6,设关系R、S如下,求小于连接RS,等值连接RS和自然连接
13、RS的结果。BCB=CAB12ACD1a2b3b4cRSR.AR.BS.AS.CS.D11a12b13b14c21a22b23b24cRS除 (Division) 运算给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须来自同个域。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影: 元组在X上分量值x的像集Yx包含S在Y上的投影的集合。记作:RS =t r X| t r R Y (S) Yx其中Yx为x在R中像集,x t r X例7 有关系R和S分别为下图中的(a)和(b),求R S学生教师课程张会t1c2
14、李学t3c7王大t4c6张会t2c3赵四t6c6李学t2c3张会t2c1教师课程学分t1c2d1t2c1d1t2c3d2RSR S的结果学生张会除法运算的分析过程:在关系R中,三个属性分为(学生)和(教师,课程)。在关系S中,三个属性分为(教师,课程)和学分。计算RS,实际上是要从学生选修的教师和课程关系中,找出选课符合关系S中所有的教师和课程元组集合的学生。 在R关系中学生取4个值:张会,李学,王大,赵四,其中张会的像集为:李学的像集:王大的像集:赵四的像集:(t1,c2),(t2,c3),(t2,c1)(t3,c7),(t2,c3)(t4,c6)(t6,c6)S在(教师,课程)上 的投影为
15、(t1,c2),(t2,c3),(t2,c1)。分析前面的四个像集,只有张会符合。 (数据库系统工程师2009年5月试题44)设有如下关系:关系代数R S的运算结果是()(44) 在本题中,R的属性有A、B、C、D,而S的属性有C、D、E,因此,RS的属性有A、B。 求除法的简单方法是在关系R中寻找属性C和D的值同时满足关系S中属性C和D的所有元组的元组。在关系R中,第1个元组(2,1,a,c)和第5个元组(2,1,b,d),其A和B的属性值相同,而C和D的属性值满足关系S中的C和D的所有属性值,因此(2,1)将是RS的元组。综合运算例9,求选修了课程号为“04”课程的学生学号Snum( Cn
16、um=c04(SC) )SnumS030101S030102S030304S030404例10,求没有选修课程号为“C04”课程的学生学号解题思路:在全部学号中去掉选修“C04”课程的学生学号,就得出没有选修课程号为”C04”课程的学生学号。Snum( S)- Snum(Cnum=C04 (SC)Snum(Cnum=C04 (SC)错例11,查询选修了课程名为“网络原理”的学生姓名Sname( (Cname=网络原理 (C) SC )S)雷吉平Snum(Cnum= C02 (SC)Snum(Cnum= C04(SC)例12 求既选修“C02”课程,又选修“C04”课程的学生学号。SnumCnu
17、mScoreS030101C0293RSRS的结果是S030101SnumCnumScoreS030101C0489注:选择运算为元组运算,在同一元组中课程号不可能既是”C02”同时又是”C04”不能写Snum(Cnum= C02 Cnum= C04 (SC)Snum(Cnum=C02(SC)Snum(Cnum=C04(SC)例13 求选修课程号为“C02”或“C04”课程的学生学号。或 Snum(Cnum=C02 Cnum=C04(SC)例14 查询选修了课程号为C02和04的学生学号.Snum,Cnum(SC) Cnum( cnum=c02vcnum=c04(C)Snum,Cnum(SC) Cnum(C)例15 求选修了全部课程的学生学号。Snum,Snam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人技能提升计划与进度表
- 口腔助理医师-《口腔执业助理医师》点睛提分卷八
- 电子商务市场调研分析手册
- 2025-2030前置婴儿背带行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 3公民意味着什么(第3课时)教学设计-2024-2025学年道德与法治六年级上册统编版
- 2025上海市安全员-A证考试题库附答案
- 两体系建设培训
- 关注2024年人力资源管理师试题及答案
- 2024年投资咨询工程师考生自测试题及答案
- 用心准备2024年计算机二级考试试题
- 医学影像学---泌尿系统课件
- 企业安全生产责任制的安全责任和责任追究
- MatLab考试题-期中文档
- 单位就业人员登记表
- 大姚大平地光伏项目环评报告
- 工程询价记录表
- 2023年监理工程师之水利工程监理案例分析真题精选附答案
- 非暴力沟通 情绪篇
- 2023年(第九届)全国大学生统计建模大赛 论文模板及说明
- 2023-尔雅《星海求知:天文学的奥秘》课后章节答案
- 大学成绩单(大专)
评论
0/150
提交评论