绪论--------关系数据模型是在关系结构的数据库中用二维表格的形式表示实体以及实体之间的联系的模型。 1970年美国 IBM 公司San Jose研究室的研究员E.F.Codd首次提出了 数据库系统 的 关系模型 ,开创了数据库的关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。
一、数据模型概述
(资料图片)
数据库设计中两种不同的模型:
(1)概念模型:面向现实世界,与计算机无关。
(2)数据模型:面向计算机实现。分为逻辑数据模型,物理数据模型。
(一)数据模型三要素
1、数据结构:数据库数据,以及数据之间的联系。
2、数据操作:数据库对象允许执行操作的集合。
3、数据的约束条件:数据库完整性规则的集合。
规定数据及其联系所受到的制约限制数据库状态,以及状态的变化,以保证数据库数据的正确、有效、相容。(二)、一些主要的数据模型、
层次模型网状模型关系模型面向对象模型对象-关系模型二、关系模型的基本概念
1、关系
一个关系就是一张命名的二维表。
2、属性:表的一列称为表的一个属性,列的名字称为属性名。
3、域:属性取值的范围。
(1)简单域:域中元素都是原子的(不可再分的)
(2)组合域:域中元素是可在分的。
注:关系的属性域总是简单域。
4、元组:关系的一行叫一个元组。
5、元组分量:关系中元组的属性值。
6、关系的键码(或称:候选码、码)、主属性:能够唯一标识一个元组的最少属性(或属性组),
称为关系的键码,简称为码。
键码的特性: (1)唯一性 (2)最小性
注:当一个关系有不止一个键码时,也把键码称为候选码。
构成键码(或候选码)的属性称为主属性,而其他属性称为非主属性。
7、主码:
主码由键码构成。(主码必定是键码)
一个关系必须有且只能有一个主码。
若一个关系有多个键码,则必须指定一个键码作为关系的主码。
8、全码:若一个关系的键码由关系的所有属性构成,则这样的键码称为全码。
9、超码:一个关系中,能够唯一标识一个元组的属性(或属性组),称为该关系的超码。
(二)、关系模式与关系实例的概念及特点
1、关系模式
关系名,以及关系属性集合,称为关系模式。
例 S(SNO,SNAME,STATUS,CITY)
关系模式是对关系的描述,是关系的“框架”,关系模式相对稳定。
2、关系实例
一个关系的当前元组的集合,称为关系实例。关系实例相对可变化。
3、关系数据库模式:若干个关系模式集合,构成了一个关系数据库模式。
4、关系的性质
(1)基于某一关系模式的关系是随时间变化的。
(元组数量或属性取值是可变的)
(2)一个关系中,在任何时候都不能同时出现取值相同的两个元组。
(3)一个关系的不同元组,上下无序。
(4)一个关系的不同列的先后次序无关紧要。
(5)元组各分量必须是不可再分的。(属性的域必须是简单域)
三、从概念模型(E-R图)到关系数据模型的转换
(一)、转换一般实体集:把E-R图的一个实体集转换成一个关系模式,实体集的属性和主码
转换成关系模式的属性和主码。
(二)、转换E-R图的联系
一般原则:为联系建立一个关系模式
(三)、子类实体集的转换
1、E-R图方法:(1)转换实体集,并选好键码。
(2)“isa”无需变换
正在上传…重新上传取消正在上传…重新上传取消转存失败重新上传取消
3、空值法:
特点:每一个实体对应关系的一个元组。与特定实体无关的属性,值“空”值。
(四)、弱实体集的转换
1、弱实体集转换为关系模式。关系模式的键码由自身的键码属性,以及弱实体集所依赖的那些
实体集的键码属性,共同构成。
2、弱实体集和它所依赖的实体集之间的联系,无需处理。
(五)关系数据库关系运算
关系数据库关系运算
选择 投影 链接 除运算
选择运算
选择运算是从关系R中选取使逻辑表达式F为 真的元组,是从行的角度进行的运算
投影运算
投影操作主要是从列的角度进行运算,但投影之后不仅取消可原关系中的某些列,而且还可能取消某些元组(避免重复行)
连接运算
连接运算又有等值连接,自然连接,半连接,左外连接,右外连接,全外连接。
等值连接
自然连接
半连接
R和S自然连接后,保留R属性的投影 左外连接
右外连接
全连接
一般连接操作是从行的角度进行运算,自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。
除运算
除运算是同时从行和列的角度进行的
关系代数表达式