已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用,数据库系统概论 第4版 王 珊 萨师煊,第3章 关系数据库,关系模型的三个要素 关系的数据结构 关系的操作 关系的完整性约束 关系代数 传统的集合运算 专门的关系运算,3.1 关系数据结构及形式化定义,1、关系模型的数据结构关系 关系:二维表。 属性(字段):二维表中的列。 域:属性的取值范围。 元组(记录):二维表中的行。 关系模式:二维表的结构,由关系名和属性集合表示。 如:学生(学号,姓名,性别,年龄),3.1 关系数据结构及形式化定义(续),1、关系模型的数据结构关系 候选码(候选关键字):如果一个属性或属性集的值能够唯一表示一个关系的元组而又不包含多余的属性,则称为候选码。一个关系中可以有多个候选码。 主码:当一个关系中有多个候选码时,可以从中选择一个作为主码。每个关系只有一个主码。 学生(学号,姓名,性别,年龄) 主码的定义应与其实际语义和表设计者的意图有关。,3.1 关系数据结构及形式化定义(续),2、关系的形式化定义 域:又称值域,是一组具有相同数据类型的值的集合。域中所包含的值的个数称为域的基数。 D1(导师)张清枚,刘逸 D2(专业)计算机专业,信息专业 D3(研究生)李勇,刘晨,王新,3.1 关系数据结构及形式化定义(续),2、关系的形式化定义 笛卡尔积: 给定一组域D1,D2, ,Dn(这些域中可以包含相同的元素)。其笛卡尔积为: 其中每一个元素(d1,d2, ,dn)叫做元组,元组中的每一个值 di 叫做一个分量。 基数 即笛卡尔积的元组个数。,D1,D2,D3的笛卡尔积,笛卡尔积是每一个域中各分量组合的集合。可表示为一个二维表,表中的每行对应一个元组,表中的每列对应一个域。,关系是笛卡尔积的有意义的子集,也是一个二维表。,D1,D2,D3的笛卡尔积,3.1 关系数据结构及形式化定义(续),2、关系的形式化定义 关系 的子集叫做在域D1,D2, ,Dn上的关系,表示为: 其中:R表示关系的名字,n是关系的目或度 n=1,单元关系或一元关系 n=2,二元关系 n=m,m元关系 关系中的每个元素是关系中的元组,通常用t表示。,3.1 关系数据结构及形式化定义(续),3、对关系的限定 关系中每个分量都是不可再分的数据项 同列的数据必须是同类型,来自同一个域 同一个关系中元组不能重复,3.2 关系代数,关系代数的运算对象是关系,运算结果也是关系。 1、传统的集合运算 并运算() 交运算() 差运算() 广义笛卡尔积(),广义笛卡尔积,并运算对应于插入或添加记录操作 差运算对应于删除记录操作 交运算对应于寻找两个关系共有记录的操作 笛卡尔积对应于两个关系记录横向合并操作,练习:,设有关系:R,S,计算R和S的并、交、差、广义笛卡尔积。,3.2 关系代数(续),2、专门的关系运算 选择(select) 在关系R中选择满足给定条件的元组。记作: 其中:F为选择条件,它是一个逻辑表达式。 选择操作是从行的角度进行选择 投影(projection) 在关系R中选择出若干属性列组成新的关系。记作: 其中:A为R中的属性列 投影操作是从列的角度进行选择,练习:,设有三个关系: S(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) C(CNO,CNAME,TEACHER) 试用关系代数表达式表示下列查询语句: (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索讲授课程名为C语言的教师的姓名 (4)检索成绩在50-60之间的学生的学号和课程号,3.2 关系代数(续),2、专门的关系运算 连接(join) 从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作: 其中A,B分别为R和S上度数相等且可比的属性组。是比较运算符。连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。,举例,R,S,例1: 连接,R,S,3.2 关系代数(续),2、专门的关系运算 连接(join) 两种最常用的连接 (1)等值连接:选取广义笛卡A、B属性值相等的那些元组。 (2)自然连接:特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。,例2:等值连接,R,S,例3:自然连接,R,S,练习: 设有关系R和S,如下图所示。试计算:,R,S,3.4 关系代数(续),2、专门的关系运算 连接运算(join) 如果把舍弃的元组也保存在结果关系中,而在其他属性上填NULL,就是外连接。,3.4 关系代数(续),2、专门的关系运算 除运算(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上投影的集合。记作: 其中: Yx为x在R中的象集,x= 除运算同时从行和列的角度进行运算。,a1的象集(b1,c2),(b2,c3),(b2,c1) a2的象集(b3,c7).(b2,c3) a3的象集(b4,c6) a4的象集(b6,c6) S在(B,C)上的投影为(b1,c2),(b2,c3),(b2,c1),练习: 设有关系R和S,如下图所示,求RS。,R,S,ab的象集(c,d),(e,f),(h,k) bd的象集(e,f),(d,l) ck的象集(c,d),(e,f) S在(C,D)上的投影为(c,d),(e,f RS,设有三个关系: S(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) C(CNO,CNAME,TEACHER) 试用关系代数表达式表示下列查询语句: (1)检索学习课程号为C2的学生的学号和成绩 (2)检索学习课程号为C2的学生的学号与姓名 (3)检索选修课程名为Maths的学生的学号与姓名 (4)检索选修课程号为C2或C4的学生的学号 (5)检索至少选修课程号为C2和C4的学生的学号 (6)检索学习全部课程的学生的姓名 (7)检索所学课程包含学生S3所学课程的学生的学号,(1)检索学习课程号为C2的学生的学号和成绩,(2)检索学习课程号为C2的学生的学号与姓名,(3)检索选修课程名为Maths的学生的学号与姓名,(4)检索选修课程号为C2或C4的学生的学号,(5)检索至少选修课程号为C2和C4的学生的学号,(6)检索学习全部课程的学生的姓名,(7)检索所学课程包含学生S3所学课程的学生的学号,3.3 关系模型的完整性约束,1、实体完整性 实体完整性规则:若属性A是基本关系R的主属性,则A不能取空值。 例如:学生表中的学号为主码,因此输入学生的基本情况时,学号不能为空,也不能出现重复值。,3.3 关系模型的完整性约束(续),2、参照完整性 外码:设F是关系R的一个属性,如果F是关系S的主码,则称属性F是关系R的外码。 学生(学号,姓名,性别,系编号) 系(系编号,系名,系主任) 参照完整性就是定义外码与主码之间的引用规则。 参照完整性规则: 若属性F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元组在F上的值必须为: 或者取空值 或者等于S中某个元组的主码值,3.3 关系模型的完整性约束(续),3、用户自定义的完整性 不同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胆道系统恶性肿瘤诊疗指南解读与实践的答案
- 施工段划分与调度方案
- 输电线路穿越山区水土保持方案
- 粮食储备库项目风险评估与应对措施
- 锂电池资源优化梯次再生利用项目技术方案
- 2025年诚信面试题目及答案简短
- 零碳园区绿色建筑材料选型方案
- 云南普岗美术真题及答案
- 2025年泰州社区招聘试题及答案
- 2026届河南省重点高中化学高二上期末考试试题含答案
- 车辆转让协议书
- 食品加工企业会计核算流程
- 生物质燃料颗粒可行性研究报告
- 网络安全教师培训会议
- 【MOOC】《研究生英语科技论文写作》(北京科技大学)中国大学MOOC慕课答案
- 货代操作手册
- 神话故事民间故事《后羿射日》绘本课件
- 屋架平房仓计算书
- 《安全阀培训》课件
- GB/T 32151.30-2024温室气体排放核算与报告要求第30部分:水运企业
- 大模型在医疗AI中的应用
评论
0/150
提交评论