标签:就是 有用 3.2 语言 primary 类型 属性 str 等值连接
第2章 关系数据模型
1970年提出关系数据模型
2.1.1 二维表与关系数据结构
2.1.1.1 二维表的特点
(1)每个表具有表名。
(2)表由表头和若干行数据两部分构成。
(3)表有若干列(也称字段),每列都有列名。
(4)同一列的值必须取自同一个域。
(5)每一行数据代表一个实体(或联系)信息。
一个关系就是一个规范化的二维表。
- 关系。一个关系(Relation)指一张二维表。
- 元组=行=记录。一个元组(Tuple)指二维表中的一行。
- 属性=列=字段。一个属性(Attribute)指二维表中的一列,表中每列均有名称,即属性名。
- 码。码(key)也称键、关键字、关键码,指表中可唯一确定元组的属性或属性组合。
- 域。域(Domain)指属性的取值范围。
- 分量。分量指元组中的一个属性值。
- 关系模式。关系模式是对关系“型”的描述,表示为:关系名(属性1,属性2,…,属性n)。
2.1.2 关系数据结构的形式化定义
2.1.2.1 域(Domain)
域是一组具有相同数据类型的值的集合。
例:
- 整数
- 实数
- 介于某个取值范围的整数
- 字符串集合
- {‘男’,‘女’}
- 介于某个取值范围的日期
2.1.2.2 笛卡尔积
定义:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n}
2.1.2.3 术语:元组、分量、基数
- 元组(Tuple)
笛卡尔积中每一个元素\((d_1,d_2,…,d_n)\)称为一个n元组(n-tuple)或简称元组。
如, (10010001,食品) 、 (10010001,服装)
注意: 笛卡尔积中元组不能重复,元组之间无序。
- 分量(Component)
元组\((d_1,d_2,…,d_n)\)中的每一个值\(d_i\)称为一个分量。
元组的每个分量\((d_i)\)是有序的。
- 基数
笛卡尔积所包含元组的个数
2.1.3 关系的性质
(1)列是同质的(Homogeneous)。
(2)不同的列可以出自同一个域。
(3)列序无关性。
(4)任意两个元组不能完全相同。
(5)行序无关性。
(6)分量必须取原子值。
2.1.4 关系模式
关系模式形式化表示:
R(U,D,dom,F)
R 关系名
U 组成该关系的属性名集合
D 属性组U中属性所来自的域
dom 属性向域的映象集合
F 属性间的数据依赖关系集合
关系模式简记为:
R (U)
关系模型的三要素是:关系结构、完整性、关系操作
2.1.5 关系数据库
关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。
关系数据库的型:称为关系数据库模式,是对关系数据库的描述.
关系数据库的值:是各关系模式在某一时刻对应的关系的集合,简称为关系数据库.
2.1.6 码
- 候选码(Candidate key):具有唯一性,最小性
- 主码(Primary key):若一个关系有多个候选码,则选定其中一个为主码。
- 主属性(Prime attribute):候选码的属性称为主属性。
- 非主属性(Non-key attribute):不包含在任何侯选码中的属性称为非主属性。
- 外码:如果关系R1的属性或属性组K不是R1的主码,而是另一关系R2的主码,则称K为关系R1的外码。
2.2 关系操作
2.2.1 基本关系操作
查询、更新
2.2.2 关系数据语言分类
2.2.3 关系代数
关系代数运算:并、差、交、笛卡尔积、投影、选择、连接、除
基本运算:并、差、笛卡尔积、投影、选择
2.2.3.1 并运算
对R和S的要求:
2.2.3.2 差运算
对R和S的要求:
2.2.3.3 交运算
对R和S的要求:
2.2.3.4 广义笛卡儿积
- R:n目关系,\(k_1\)个元组
- S:m目关系,\(k_2\)个元组
- R×S:
- 列:(n+m)列的元组的集合
- 元组的前n列是关系R的一个元组
- 后m列是关系S的一个元组
- 行:k1×k2个元组
2.2.3.5 选择
- 选择又称为限制(Restriction)
- 选择运算是从行的角度进行的运算
- 选择运算符的含义:在关系R中选择满足给定条件的诸元组
\(σ_F(R) = \{ t | t∈R∧F(t)= '\text{真}'\}\)
2.2.3.6 投影
- 投影运算符的含义:–从R中选择出若干属性列组成新的关系
\(\pi _A(R) = \{ t | t∈R∧F(t)= '\text{真}'\}\)
- 选择运算是从列的角度进行的运算
2.2.3.7 连接
- 连接也称为θ连接
- 连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组 $
\overset {R \bowtie S}{A\theta B}$
- 一般的连接操作是从行的角度进行运算。
2.2.3.7.1 等值连接
θ为“=”的连接运算称为等值连接
等值连接的含义:从关系R与S的广义笛卡尔积中选取A、B属性值相等的元组
2.2.3.7.2 自然连接
自然连接是一种特殊的等值连接
- 两个关系中进行比较的分量必须是相同的属性组
- 在结果中把重复的属性列去掉
- 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。
2.2.3.7.3 外连接
如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接称为外连接。
2.2.3.7.3
如果只把左边关系R中要舍弃的元组保留称为左外连接。
2.2.3.7.3 右外连接
如果只把右边关系S中要舍弃的元组保留称为右外连接。
2.2.3.8 除运算
除法运算同时从行和列的角度进行运算,在表达某些查询时有用,适合于包含“全部”之类的短语的查询。
例如,“查询已选修了所有课程的学生姓名”。
- 象集:给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(Image Set)为:\(Z_x=\{ t[Z] | t ∈R=,t[X]=x \}\)
运算步骤:
1.将被除关系属性分为象集属性和结果属性;
2.对象集属性进行投影—>目标数据集;
3.将被除关系分组:结果属性值相同的元组分为一组;
4.找出结果集。
2.3 关系完整性
2.3.1 实体完整性
主属性不能取空值。
2.3.2 参照完整性
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码\(K_s\)相对应。
则对于R中每个元组在F上的值必须等于S中某个元组的主码值。
2.3.3 用户定义完整性
用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
了事完就观乐
标签:就是 有用 3.2 语言 primary 类型 属性 str 等值连接
原文地址:https://www.cnblogs.com/shy-/p/9044852.html