码迷,mamicode.com
首页 > 其他好文 > 详细

了事完就观乐

时间:2018-05-16 13:06:31      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:就是   有用   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的要求:

  • 具有相同的目数n
  • 相应的属性取自同一个域

2.2.3.2 差运算

对R和S的要求:

  • 具有相同的目数n
  • 相应的属性取自同一个域

2.2.3.3 交运算

对R和S的要求:

  • 具有相同的目数n
  • 相应的属性取自同一个域

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!