《数据库概论》 第二章 关系数据库

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

2.1.2 关系

1. 域

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

2. 笛卡尔积

给定一组域D1、D2、D3等,允许其中某些域相同

笛卡尔积:D1 * D2 * D3

所有域的所有取值的一个组合

不能重复

  • 元组:笛卡尔积中每一个元素 (d1,d2,...,dn)叫作一个n元组,如(张清玫,计算机专业,李勇)
  • 分量:笛卡尔积元素 (d1,d2,...,dn)中的每一个值d;叫作一个分量,如张清政、计算机专业
  • 基数:若笛卡尔积为有限集,数目称为其基数

3. 关系

①关系

D1 * D2 * Dn的子集叫作在域D1,D2,...,Dn上的关系,表示为R(D1,D2,...,Dn)。R表示关系名,n表示关系的目或度。

②元组

关系中的每个元素是关系中的元组

③单元关系与二元关系

单元关系:n=1 二元关系:n=2

④关系的表示

关系是一个二维表,行对应元组,列对应域

⑤属性

列名,用以区分不同列

⑥码

  • 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
  • 全码:关系模式的所有属性组是这个关系模式的候选码
  • 主码:若一个关系有多个候选码,则选定其中一个为主码
  • 主属性:候选码的诸属性称为主属性,不包含在任何侯选码中的属性称为非主属性或非码属性 

⑦三类关系

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

2.1.2 关系模式

1.什么是关系模式

关系模式是对关系的描述:

①元组集合的结构:属性构成 属性来自的域 属性与域之间的映像关系

②完整性约束条件

2.定义关系模式

R(U,D,DOM,F)

  • R:关系名
  • U:属性名集合
  • U中属性来自的域
  • DOM:属性向域的映象集合
  • F:属性间数据的依赖关系的集合

3.关系模式与关系

关系模式:对关系描述、静态的、稳定的

关系:关系模式在某一时刻的状态或内容、动态的、变化的

2.1.3 关系数据库

在一个给定的应用领域中,所有关系的集合构成一个关系数据库

  • 关系数据库的型: 关系数据库模式,是对关系数据库的描述
  • 关系数据库的值:关系模式在某一时刻对应的关系的集合,通常称为关系数据库

2.1.4 关系模型的存储结构

有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成

有的关系数据库管理系统从操作系统那里申请若个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理

2.2 关系操作

2.2.1 基本的关系操作

查询:选择、投影、并、差、笛卡尔积

更新:插入、删除、修改

集合操作方式:操作的对象和结果都是集合,一次一集合的方式

2.2.2 关系数据库语言的分类

关系代数语言(用对关系的运算来表达查询要求代表)
关系演算语言(用谓词来表达查询要求元组关系演算语言)
具有关系代数和关系演算双重特点的语言代表:SQL

2.3 关系的完整性

2.3.1 实体完整性

一个基本表通常对应现实世界的一个实体集。

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

2.3.2 参照完整性

1.关系间的引用

在关系模型中实体及实体间的联系都是用关系来描述的,自然存在着关系与关系间的引用

2.外码

F是基本关系R的一个属性,但不是码,如果F与基本关系S主码K相对于,则称F是R的外码。

R:参照关系

S:被参照关系、目标关系

3.参照完整性规则

若F是R外码,且与S的主码K相对应,那么R中每个元组在F上的值必须为:

①空值(F每个属性值都为空)

②等于S中某个元组的主码值

2.3.3 用户定义的完整性

关系模型定义和检验这类完整性机制,满足数据库的约束条件

2.4 关系代数

关系代数是一种抽象的查询语言,它用对关系的运算来表达查询
关系代数:运算对象是关系、运算结果亦为关系
关系代数的运算符有两类:集合运算符和专门的关系运算符

《数据库概论》 第二章 关系数据库_第1张图片

2.4.1 传统的集合运算

①并(Union)

R和S具有n个属性,且属性取自同一个域

《数据库概论》 第二章 关系数据库_第2张图片

②差(Difference)

R和S具有n个属性,且属性取自同一个域

《数据库概论》 第二章 关系数据库_第3张图片

③交(Intersection)

R和S具有n个属性,且属性取自同一个域

《数据库概论》 第二章 关系数据库_第4张图片

④笛卡尔积(Cartesian Product)

《数据库概论》 第二章 关系数据库_第5张图片

2.4.2 专门的关系运算

1.选择

选择有一定限制属性的数据,一行

2. 投影

选择若干属性列组成新关系,列

3. 连接

从两个关系的笛卡尔积中选取属性间满足一定条件的元组

①等值连接:从R与S笛卡尔积选取A、B属性值相等的那些元组

②自然连接:两个关系中进行比较的分量必须是相同的属性组。在结果中把重复的属性列去掉

悬浮元组:R和S自然连接,R中某些元组有可能在中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃了,这些被舍弃的元组称为悬浮元组。

外连接:把悬浮元组也保存在结果关系中,而在其他属性上填空值(Null)

  • 左外连接:只保留左边关系R的悬浮元组(LEFT JOIN)
  • 右外连接:只保留右边关系S的悬浮元组(RIGHT JOIN)

4.除运算

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组

R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。

R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。

《数据库概论》 第二章 关系数据库_第6张图片

《数据库概论》 第二章 关系数据库_第7张图片

你可能感兴趣的:(数据库,数据库)