第2章 关系数据库

第2章 关系数据库


本文全部内容来自数据库系统概论(第5版)—王珊、萨师煊著


2.1 关系数据结构及形式化定义

2.1.1 关系

在关系模型中,现实世界的实体以及实体间的各种联系均用单一的数据结构类型—关系表示

1、域(domain)

域是一组具有相同数据类型的值的集合

例:自然数、整数、实数、长度小于25字节的字符串集合、{0,1}、{男,女}

2、笛卡尔积

笛卡尔积是在域上的一种集合运算

A=导师集合SUPERVISOR={小红,小明}

B=专业集合SPECIALITY={计算机,信息}

C=学生集合STUDENT={小黑,小白,小黄}

此时A,B,C的笛卡尔积为

(小红,计算机,小黑),(小红,计算机,小白),(小红,计算机,小黄),
(小红,信息,小黑),(小红,信息,小白),(小红,信息,小黄),
(小明,计算机,小黑),(小明,计算机,小白),(小明,计算机,小黑),
(小明,信息,小黑),(小明,信息,小白),(小明,信息,小黄)

元组:每一个(小红,计算机,小黑)都是元组

分量:小红、计算机、小黑,都是分量

基数:一个域允许的不同取值个数称为这个域的基数,此例中基数为 2x2x3=12,共有12个元组

3、关系(relation)
D 1 ∗ D 2 ∗ . . . ∗ D n 的 子 集 叫 做 在 域 D 1 , D 2 , . . . , D n 上 的 关 系 , 表 示 为 R ( D 1 , D 2 , . . . , D n ) D1*D2*...*Dn的子集叫做在域D1,D2,...,Dn上的关系,表示为R(D1,D2,...,Dn) D1D2...DnD1,D2,...,DnR(D1,D2,...,Dn)
这里的R表示关系的名字,n是关系的目或度(degree)。关系中每个元素是关系中的元组,通常用t表示。关系是笛卡尔积的有限子集。

n目关系必有n个属性。

若关系中的某一属性组的值能够唯一地表示一个元组,而其子集不能,则称该属性组为候选码

若一个关系有多个候选码,则选定其中一个为主码(primary key),又称主键

关系可以有三种类型:

  • 基本关系(基本表):实际存在的表,实际存储数据的逻辑表示
  • 查询表:查询结果对应的表
  • 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

基本关系的性质:

  1. 列是同质的,即每一列中的分量是同一类型的数据。来自同一个域
  2. 不同的列可出自同一个域,称其中每一个列为一个属性,不同的属性要给予不同的属性名
  3. 列的次序可以任意交换
  4. 任意两个元组的候选码不能取相同的值
  5. 行的次序可以任意交换
  6. 分量必须取原子值,即每一个分量都是不可再分的数据项

关系的每一个分量必须是一个不可分的数据项

2.1.2 关系模式

R ( U , D , D O M , F ) R(U,D,DOM,F) R(UDDOMF)

其中,R是关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
简 记 为 : R ( U ) 或 R ( A 1 , A 2 , A 3.... A n ) 简记为:R(U)或R(A1,A2,A3....An) R(U)R(A1,A2,A3....An)
其中,R是关系名,A1,A2,…,An为属性名。域名及属性向域的映像常常直接说明为属性的类型、长度。

关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。

2.1.3 关系数据库

  1. 关系数据库的型也称为关系数据库模式,是对关系数据库的描述。
  2. 关系数据库的值是这些关系模式在某一时刻对应的关系的集合。

2.1.4 关系模型的存储结构

由操作系统完成

2.2 关系操作

2.2.1 基本的关系操作

1、查询(query)

查询是关系操作中最主要的部分。

查询操作又可分为:选择(select)投影(project)并(union)差(except)笛卡尔积、交(intersection)、连接(join)、除(divide)等。

关系操作的特点是集合操作方式,即操作的对象和结果都是集合。

2、插入(insert)

3、删除(delete)

4、修改(update)

2.2.2 关系数据语言的分类

  • 关系代数
  • 元组关系演算
  • 域关系演算

以上三种语言在表达能力上都具备完备的表达能力

  • 结构化查询语句(SQL):集查询、数据定义语言、数据操纵语言和数据控制语言于一体的关系数据语言

2.3 关系的完整性

三类完整性约束:实体完整性、参照完整性、用户定义完整性

关系的两个不变性:实体完整性、参照完整性

2.3.1 实体完整性

若属性A是基本关系R的主属性,则A不能取空值。主键不能取空

2.3.2 参照完整性

设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码(foreign key 外键),并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。

外键不一定要与相应的主键同名,但是为了便于识别,一般使用相同的名称。

参照完整性规则

2.3.3 用户定义完整性

2.4 关系代数

  • 集合运算符:并、差、交、笛卡尔积
  • 专门的关系运算符:选择、投影、连接、除

2.5 关系演算

  • 元组关系演算
  • 域关系演算
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页