




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统概论 An Introduction to Database System 第2章 关系模型与关系代数,主要内容,关系模型概述 关系数据结构 关系的完整性 关系操作 关系代数,2.1关系模型概述,2.1.1关系数据模型 由E.F.Codd 1970年提出 之后,提出了关系代数和关系演算的概念,1NF5NF(范式) 关系数据库应用数学方法处理数据库中的数据 80年代后,关系数据库系统成为最重要、最流行的数据库系统 典型商用系统 ORACLE SYBASE INFORMIX DB2 INGRES MySQL,E.F.Codd 1923-2003,美国IBM公司研究员 1981获Turing Award得主 关系数据库之父,A.M.Turing,Dijkstra,姚 期 智,2.1.2 漫谈关系,关系(relation) 1、 在用户看来, 关系模型中数据的逻辑结构是一张扁平的二维表。,2、从数学的角度看,关系是集合。 笛卡尔(Descartes) 15961650 (1) Cartesian Product定义: 给定一组域D1,D2,Dn,这些域中可有 相同的。D1,D2,Dn的笛卡尔积为: D1D2Dn(d1,d2,dn))diDi,i1,2,n,(2)关系(Relation) D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为 R(D1,D2,Dn),关系数据库(Relational DataBase) 在一个给定的应用领域中,所有关系的集合 构成关系数据库。,2.1.3关系中的术语 元组(tuple) 属性(attribute) 域(domain) 候选码(Candidate Key) 主码(Primary Key) 主属性(Prime Attribute) 非主属性(Nonprimary attribute) 外码(Foreign Key),候选码(Candidate key) 举例 能够唯一地标识一个元组的属性组。 主码(Primary key) 用户选定的候选码称为主码。 主属性: 候选码中的属性称为主属性。 非主属性: 不是主属性的属性称为非主属性。 外码(Foreign key) 若模式R中的属性组K是其它模式S(S可以是R!) 的主码,则K称为模式R的外码。 其中,称R是参考关系,S是被参考关系,关系的基本性质, 列是同质的(Homogeneous) 不同的列可出自同一个域 列的顺序无所谓 任意两个元组不能完全相同 行的顺序无所谓 分量必须取原子值,关系模式(Relational Schema) 关系模式是关系的描述。它的形式化表示为: R(U,D,DOM,F) R-关系名,U-属性,D-属性域, DOM-属性向域的映射 , F-属性间的依赖 说明: 关系模式是静态的、稳定的,是型; 关系是关系模式某一时刻的状态, 是变化的,是值;,2.1.4 关系的完整性,实体完整性 参照完整性 用户定义的完整性,1.实体完整性,实体完整性规则(Entity Integrity) 若A是关系R的主码,则A不能取空值或重复值,若属性组FK是关系R的外码,它与关系S的主码PK 相对应。 则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的PK的值(主码值) 举例说明,分院 学生会主席,10018,99999,10002,10018,10002,NULL,3. 用户定义的完整性,用户定义的完整性是针对某一具体关系数据 模式的约束条件,反映某一具体应用所涉及 的数据必须满足的语义要求。,例如:关系模式S、C、SC中 age在15 - 30岁;sex取值男、女 grade 在0-100分之间,Create table SC ( S# CHAR(4) , c# CHAR(4) , grade int, primary key(S#,c#), foreign key(S#) reference S(S#), foreign key(c#) reference C(c#), CHECK (grade is null ) OR (grade between 0 and 100) ),如何实现中完整性?很简单 举例:定义学生选课表SC(S#,c#,grade),1.关系代数语言 ISBL ( Information System Base Language) 2.关系演算语言 3.SQL语言 Oracle、Sybase、DB2,元组演算 ALPHA 域演算 QBE,2.1.5关系操作,1.关系结构 2.关系的完整性(约束条件) 实体完整性(用主健实现 PK) 参照完整性(用外健实现 FK) 用户定义完整性(用触发器实现 Tragger)3.关系的操作,总结:关系的三要素,重要说明: 如何设计关系模式,既关系结构和 关系完整性,是个复杂的、意义非常重大的问题, 属于数据库设计领域 实现关系模式,是非常容易解决的问题,只是 SQL的一条语句而已,2.2 关系代数,1. 关系代数 一种对关系抽象的查询语言询,2关系代数运算的三个要素 运算对象:关系 运算结果:关系 运算符:四类,3. 写好关系查询语句要点 之一:关系操作是对关系的运算,其运算结果也是关 系。要问:关系的结构是什么?元组是什么? 之二:了解关系操作的过程,关系代数运算符,关系代数运算符(续),一. 传统的集合运算,并 差 交 广义笛卡尔积,温馨提示:写好关系查询语句要点 之一:关系操作是对关系的运算,其运算结果也是关 系。要问:关系的结构是什么?元组是什么? 之二:了解关系操作的过程,学会手工模拟最重要,1. 并(Union),R和S 具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域 RS 仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S ,c1,b2,a2,c2,b2,a1,c1,b1,a1,C,B,A,c2,b3,a1,c1,b2,a2,c2,b2,a1,c1,b1,a1,C,B,A,c1,b2,a2,c2,b3,a1,c2,b2,a1,C,B,A,R,S,RS,2. 差(Difference),R和S 具有相同的目n 相应的属性取自同一个域 R - S 仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|tRtS ,c1,b2,a2,c2,b2,a1,c1,b1,a1,C,B,A,c1,b1,a1,C,B,A,c1,b2,a2,c2,b3,a1,c2,b2,a1,C,B,A,R,S,R-S,3. 交(Intersection),R和S 具有相同的目n 相应的属性取自同一个域 RS 仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S RS = R (R-S),R,S,R S,4. 广义笛卡尔积 (Extended Cartesian Product),R: n目关系,k1个元组 S: m目关系,k2个元组 RS : 列:(n+m)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1k2个元组 RS = tr ts |tr R tsS ,R,S,R S,S,s# sn sex age 01 刘欢 男 36 02 韩红 女 28 03 刀郎 男 30,SC,s# c# G 01 c1 59 01 c2 80 02 c1 62 03 c1 null,求SSC?,SSC,01 刘欢 男 36 01 C1 59 01 刘欢 男 36 01 C2 80 01 刘欢 男 36 02 C1 62 01 刘欢 男 36 03 C1 null,02 韩红 女 28 01 C1 59 02 韩红 女 28 01 C2 80 02 韩红 女 28 02 C1 62 02 韩红 女 28 03 C1 null,03 刀郎 男 30 01 C1 59 03 刀郎 男 30 01 C2 80 03 刀郎 男 30 02 C1 62 03 刀郎 男 30 03 C1 null,思考:SSC与S,SC信息等价吗?,二. 专门的关系运算,选择(selection) 投影(projection) 连接(join) 除(division),温馨提示:写好关系查询语句要点 之一:关系操作是对关系的运算,其运算结果也是关 系。要问:关系的结构是什么?元组是什么? 之二:了解关系操作的过程,学会手工模拟最重要,1. 选择(Selection),1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组 F(R) = t|tRF(t)= 真 F:选择条件,是一个逻辑表达式 比较运算符: ,, 逻辑运算符: , , 例如: sex=男 age15 sex=女 age 12,3) 选择运算是从行的角度进行的运算 4) 举例 设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。,举例: 设有一个学生-课程数据库 学生关系 Student 课程关系 Course 选修关系 SC,请你记住,Student,Course,SC,例1 查询信息系(IS系)全体学生 Sdept = IS (Student) 结果:,2. 投影(Projection),1)投影运算符的含义 从R中选择出若干属性列组成新的关系 A(R) = tA | t R A:R 中的属性列,2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),例3 查询学生的姓名和所在系 Sname,Sdept(Student) 结果:,2.3 关系代数举例,温馨提示:写好关系查询语句要点 之一:关系操作是对关系的运算,其运算结果也是关 系。要问:关系的结构是什么?元组是什么? 之二:了解关系操作的过程,学会手工模拟最重要 之三:对查询请求,先手工解决,然后使用计算机语 言解决,S,s# sn sex age 01 刘欢 男 36 02 韩红 女 28 03 刀郎 男 29,检索30岁以下男学生的姓名和年龄? sn,age (age30sex=男(S),问题: 检索30岁以下男学生的情况? age30sex=男(S),S,s# sn sex age 01 刘欢 男 36 02 韩红 女 28 03 刀郎 男 30,C,c# cn T c1 OS 关羽 c2 DB 张飞,SC,s# c# G 01 c1 59 01 c2 80 02 c1 62 03 c1 null,设教学数据库中有三个关系:S、 C、 SC,以下讲解关系的运算!,S,s# sn sex age 01 刘欢 男 36 02 韩红 女 28 03 刀郎 男 30,SC,s# c# G 01 c1 59 01 c2 80 02 c1 62 03 c1 null,求 SSC?,SSC,01 刘欢 男 36 01 C1 59 01 刘欢 男 36 01 C2 80 01 刘欢 男 36 02 C1 62 01 刘欢 男 36 03 C1 null,02 韩红 女 28 01 C1 59 02 韩红 女 28 01 C2 80 02 韩红 女 28 02 C1 62 02 韩红 女 28 03 C1 null,03 刀郎 男 30 01 C1 59 03 刀郎 男 30 01 C2 80 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省运城市夏县2024-2025学年化学九上期末监测模拟试题含解析
- 河南职业技术学院《世界现代设计史》2023-2024学年第一学期期末试卷
- 公共卫生应急响应2025年资金申请与公共卫生舆情监控报告
- 陕西省西安市78中学2025届九年级化学第一学期期末达标检测模拟试题含解析
- 2024-2025学年湖南省长沙市长郡滨江中学七年级数学第一学期期末质量跟踪监视试题含解析
- 公路货运行业数字化转型效率提升的物流行业物流智能化技术应用报告
- 共享出行市场技术创新对行业格局的影响:2025年商业模式创新报告
- 能源设备环境监测技术培训与应用解析
- 西安美术学院《影视动画作品赏析》2023-2024学年第一学期期末试卷
- 油料运输使用管理办法
- 高压旋喷桩质量控制标准及检查方法
- 压缩机拆除方案上传
- 【医疗】急诊预检分诊专家共识课件
- 人工智能数学基础高职PPT完整全套教学课件
- 2023年全国高考地理试题及答案-上海卷
- 国家开放大学《农村政策法规》形成性考核(平时作业)参考答案
- 二级三级护理质量评价标准
- 某工程轧辊磨床设备基础施工方案
- 佳木斯电机股份有限公司主氦风机成套产业化项目(老厂区)环境影响报告
- GB/T 41426-2022牙科学一体式手柄牙线
- GA/T 1437-2017法庭科学平面鞋印形象特征检验技术规范
评论
0/150
提交评论