数据库系统教程 教学课件 ppt 作者 何玉洁 李宝安 第3章 关系数据库

上传人:E**** 文档编号:89404260 上传时间:2019-05-24 格式:PPT 页数:97 大小:3.07MB
返回 下载 相关 举报
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第3章 关系数据库_第1页
第1页 / 共97页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第3章 关系数据库_第2页
第2页 / 共97页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第3章 关系数据库_第3页
第3页 / 共97页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第3章 关系数据库_第4页
第4页 / 共97页
数据库系统教程 教学课件 ppt 作者  何玉洁 李宝安 第3章 关系数据库_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《数据库系统教程 教学课件 ppt 作者 何玉洁 李宝安 第3章 关系数据库》由会员分享,可在线阅读,更多相关《数据库系统教程 教学课件 ppt 作者 何玉洁 李宝安 第3章 关系数据库(97页珍藏版)》请在金锄头文库上搜索。

1、数据库系统教程,第3章 关系数据库,1,第3章 关系数据库,3.1 关系数据模型 3.2 基本术语与形式化定义 3.3 完整性约束 3.4 关系代数,2019年5月24日6时35分,2,3.1 关系数据模型,关系数据模型源于数学。 1970年IBM研究员E.F.Codd博士在美国计算机学会会刊(Communication of the ACM)上发表了题为“A Relational Model of Data for Shared Data Banks”的论文,开创了数据库系统的新纪元。,2019年5月24日6时35分,3,关系模型,关系模型由三部分组成: 数据结构 操作集合 完整性约束 这三

2、部分也称为关系模型三要素。,2019年5月24日6时35分,4,3.1.1 数据结构,关系数据模型用二维表来组织数据。 这个二维表在关系数据库中就称为关系。 关系数据库就是表或者说是关系的集合。 表是逻辑结构而不是物理结构。,2019年5月24日6时35分,5,学生关系模型,2019年5月24日6时35分,6,学生,3.1.2 数据操作,关系数据模型中的操作包括: 传统的关系运算:并、交、差、广义笛卡尔乘积; 专门的关系运算:选择、投影、连接、除; 有关的数据操作:查询、插入、删除、更改。,2019年5月24日6时35分,7,操作特点,关系模型中操作的数据以及查询的结果都是完整的集合(或表),

3、 这些集合可以只包含一行数据,也可以是不包含任何数据的空集合。 非关系模型数据库中典型的操作是一次一行或一次一个记录。 集合处理能力是关系系统区别于其他系统的重要特征。,2019年5月24日6时35分,8,关系模型与非关系模型区别,在非关系模型中,各个数据记录之间是通过指针等方式连接的,当要定位到某条记录时,需要用户自己按指针的链接方向逐层查找导航。 在关系模型中,用户只需指定数据的定位条件,数据库管理系统就可以自动定位到该数据记录非导航。,2019年5月24日6时35分,9,层次模型查找示例,2019年5月24日6时35分,10,关系模型查找示例,2019年5月24日6时35分,11,关系操

4、作,关系模型的数据操作主要包括: 查询、插入、删除、更改 关系数据库中的信息表示方式:表中的行列位置有明确的值逻辑层。,2019年5月24日6时35分,12,关系数据库的物理层,关系数据库在物理层也使用指针,但这些物理层的存储细节对用户来说都是不可见的,用户所看到的物理层实际上就是存放数据的数据库文件: 文件名 存放位置,2019年5月24日6时35分,13,关系语言特点,关系操作是通过关系语言实现的,关系语言的特点是高度非过程化: 用户不必关心数据的存取路径和存取过程,只需要提出数据请求,DBMS会自动完成用户请求的操作; 用户没有必要编写程序代码来实现对数据的重复操作。,2019年5月24

5、日6时35分,14,3.1.3 数据完整性约束,数据的完整性是指保证数据正确性的特征。 数据完整性是一种语义概念,包括: 与现实世界中应用需求的数据的相容性和正确性; 数据库内数据之间的相容性和正确性。,2019年5月24日6时35分,15,数据完整性,数据完整性由一组完整性规则定义,关系模型的完整性规则是对关系的某种约束条件。 在关系数据模型中将数据完整性分为三类: 实体完整性 参照完整性(引用完整性) 用户定义的完整性,2019年5月24日6时35分,16,3.2 关系模型的基本术语与形式化定义,3.2.1 基本术语 3.2.2 形式化定义,2019年5月24日6时35分,17,3.2.1

6、 基本术语,关系:关系就是二维表,二维表的名字就是关系的名字。 属性:二维表中的每个列就称为一个属性(或叫字段), 每个属性有一个名字属性名 某一列的值属性值 列的个数关系的元数。如果一个二维表有n个列,则称其为n元关系。,2019年5月24日6时35分,18,基本术语(续),值域:二维表中属性的取值范围称为值域。 例如: “年龄”的取值为大于0的整数 “性别”列的取值为男,女,2019年5月24日6时35分,19,基本术语(续),元组:二维表中的一行数据称为一个元组(记录值)。,2019年5月24日6时35分,20,5个 元组,基本术语(续),分量:元组中的每一个属性值称为元组的一个分量。

7、n元关系的每个元组有n个分量。 例:(0811101,李勇,21,男,计算机系),有5个分量,2019年5月24日6时35分,21,基本术语(续),关系模式:二维表的结构称为关系模式。 设有关系名为R,属性分别为A1,A2,An,则关系模式可以表示为: R(A1,A2,An) 如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。,2019年5月24日6时35分,22,基本术语(续),关系数据库:对应于一个关系模型的所有关系的集合称为关系数据库。 候选键:如果一个属性或属性集的值能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。,2019年5月24日6时35

8、分,23,基本术语(续),主键:当一个关系中有多个候选键时,从中选择一个作为主键。 每个关系只能有一个主键。 主键也称为主码或主关键字,用于惟一地确定一个元组。 主键可以由一个属性组成,也可以由多个属性共同组成。,2019年5月24日6时35分,24,主键示例,学生(学号,姓名,性别,年龄,所在系),2019年5月24日6时35分,25,学号,选课(学号,课程号,成绩),学号,课程号,选课(学号,课程号,考试次数,成绩),学号,课程号,考试次数,基本术语(续),主属性:包含在任一候选键中的属性称为主属性。 非主属性:不包含在任一候选键中的属性称为非主属性。 选课(学号,课程号,成绩),2019

9、年5月24日6时35分,26,学号,课程号,成绩,术语对比,2019年5月24日6时35分,27,3.2.2 形式化定义,定义笛卡尔积:设D1,D2,Dn为任意集合,定义笛卡尔积D1,D2,Dn为: D1 D2 Dn ( d1,d2,dn ) | di Di,i1,2,n 其中每一个元素(d1,d2,dn)称为一个n元组,简称元组。 元组中每一个di称为是一个分量。,2019年5月24日6时35分,28,笛卡尔积示例,D1计算机系,信息管理系 D2李勇,刘晨,吴宾 D3男,女 则D1 D2 D3笛卡尔积为: (计算机系,李勇,男),(计算机系,李勇,女), (计算机系,刘晨,男),(计算机系,

10、刘晨,女), (计算机系,吴宾,男),(计算机系,吴宾,女), (信息管理系,李勇,男),(信息管理系,李勇,女), (信息管理系,刘晨,男),(信息管理系,刘晨,女), (信息管理系,吴宾,男),(信息管理系,吴宾,女),2019年5月24日6时35分,29,笛卡尔乘积实际就是二维表,2019年5月24日6时35分,30,关系的形式化定义,笛卡尔积D1,D2,Dn的任意一个子集称为D1,D2,Dn上的一个n元关系。 形式化的关系定义同样可以把关系看成二维表,给表中的每个列取一个名字,称为属性。 n元关系有n个属性,一个关系中的属性的名字必须是唯一的。 属性Di的取值范围(i1,2,n)称为该

11、属性的值域。,2019年5月24日6时35分,31,示例,2019年5月24日6时35分,32,R(计算机系,李勇,男), (计算机系,刘晨,男), (计算机系,吴宾,女) ,对关系的限定,关系中的每个分量都是不可再分的最小属性 表中列的数据类型是固定的,即列中的每个分量都是同类型的数据,来自相同的值域。 不同列的数据可以取自相同的值域。 关系表中列的顺序不重要。 关系表行的顺序也不重要。 同一个关系中的元组不能重复。,2019年5月24日6时35分,33,3.3 完整性约束,数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。 3.3.1 实体完整性 3.3.2 参照完整性

12、3.3.3 用户定义的完整性,2019年5月24日6时35分,34,3.3.1 实体完整性,保证关系中的每个元组都是可识别的和惟一的。 指关系数据库中所有的表都必须有主键,而且表中不允许存在如下记录: 无主键值的记录。 主键值相同的记录。,2019年5月24日6时35分,35,无主键值的情况,2019年5月24日6时35分,36,?,主键值重复情况,2019年5月24日6时35分,37,2019年5月24日6时35分,37,?,主键作用,当在表中定义了主键时,数据库管理系统会自动保证数据的实体完整性,即保证不允许存在主键值为空的记录以及主键值重复的记录。 空值是特殊的标量常数,它代表未定义的或

13、者有意义但目前还处于未知状态的值。,2019年5月24日6时35分,38,3.3.2 参照完整性,也称为引用完整性。 现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用。 参照完整性就是描述实体之间的联系的。 参照完整性一般是指多个实体或关系之间的关联关系。,2019年5月24日6时35分,39,示例1,学生(学号,姓名,班号,性别) 班(班号,所属专业,人数),2019年5月24日6时35分,40,班号,班号,示例2,学生(学号,姓名,性别,专业) 选课(学号,课程号,成绩) 课程(课程号,课程名,学分),20

14、19年5月24日6时35分,41,学号,学号,课程号,课程号,示例3,职工(职工号,姓名,直接领导职工号),2019年5月24日6时35分,42,直接领导职工号,职工号,?,外键定义,设F是关系R的一个或一组属性,如果F与关系S的主键相对应,则称F是关系R的外键(Foreign Key),并称关系R为参照关系,关系S为被参照关系。关系R和关系S不一定是不同的关系。,2019年5月24日6时35分,43,关系的参照表示图,可以用图形化的方法形象地表达参照和被参照关系。,2019年5月24日6时35分,44,示例,2019年5月24日6时35分,45,说明,参照完整性规则就是定义外键与被参照的主键

15、之间的引用规则。 外键一般应符合如下要求: 或者值为空; 或者等于其所参照的关系中的某个元组的主键值。,2019年5月24日6时35分,46,3.3.3 用户定义的完整性,也称为域完整性或语义完整性。 是针对某一具体应用领域定义的数据约束条件。 反映某一具体应用所涉及的数据必须满足应用语义的要求。 实际上就是指明关系中属性的取值范围,防止属性的值与应用语义矛盾。,2019年5月24日6时35分,47,3.4 关系代数,关系代数是关系操作语言的一种传统表示方式,是一种抽象的查询语言。 是一种纯理论语言,它定义了一些操作,运用这些操作可以从一个或多个关系中得到另一个关系,而不改变源关系。 关系代数

16、的操作数和操作结果都是关系,而且一个操作的输出可以是另一个操作的输入。,2019年5月24日6时35分,48,关系代数的运算,关系代数的运算对象是关系,运算结果也是关系。 与一般的运算一样,运算对象、运算符和运算结果是关系代数的三大要素。 关系代数的运算可分为以下两大类: 传统的集合运算:并、交、差、笛卡尔积 专门的关系运算:选择、投影、连接、除,2019年5月24日6时35分,49,运算符,2019年5月24日6时35分,50,运算符(续),2019年5月24日6时35分,51,3.4.1 传统的集合运算,并运算(Union) 交运算(Intersection) 差运算(Except) 广义笛卡尔积(Cartesian Product),2019年5月24日6时35分,52,并、交、差运算示意图,2019年5月24日6时35分,53,并运算,并(RS):设关系R与关

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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