教材:
数据库系统概论(第6版)王珊,杜小勇,陈红编著
目录
关系模型
E.F.Codd首次系统地提出了关系模型的相关理论
一、关系模型的数据结构及形式化定义
基本数据结构:关系
实体+联系→关系
逻辑结构:二维表
定义一个关系
↓
定义列的取值范围 → 域
↓
定义所有可能的元组 → 笛卡尔积 → 有意义的元组
域是一组具有相同数据类型的值的集合。
基数:一个域允许的不同取值个数
笛卡儿积(笛卡尔积中所有的元组并不都是有意义的)
每一个值 di 叫作一个分量
关系
关系模式是型,关系是值
关系是笛卡尔积的子集
R(D1,D2,…,Dn)
R:关系名
n:关系的目或度(degree)
三类关系:
基本关系(基本表或基表)
实际存在的表,是实际存储数据的逻辑表示
查询结果
查询执行产生的结果对应的临时表
视图表
由基本表或其他视图表导出的虚表,不存储实际数据
几个概念:
码(键) | 在关系中由唯一可标识元组的属性或属性组构成 |
候选码(键) | 且属性个数最少的码 |
主码(键) | 多个候选码,则选定其中一个为主码。主码不允许为空值(非零和空格) |
全码(键) | 候选码包含关系模式的所有属性组 |
外码(键) | 在关系R中包含另一个关系S的主键所对应的属性或属性组 |
性质:
关系模式
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R | 关系名 |
U | 组成该关系的属性名集合 |
D | U中属性所来自的域 |
DOM | 属性向域的映象集合 |
F | 属性间数据的依赖关系集合 |
简记为
R (U) 或 R (A1,A2,…,An)
A1,A2,…,An : 属性名
ER图→关系模型(概念模型→关系模型)
实体转换:
关系的属性为实体 的属性,关系的码为实体的码
关系装换处理:
关系数据库
支持关系模型的数据库系统
在一个关系数据库中,某一时刻所有关系模式对应的关系的集合构成一个关系数据库
二、关系的完整性
实体完整性
对主码的约束:
数据非空,唯一,不重复
参照完整性
针对外码的约束:
用户定义的完整性
对其他属性的约束
三、关系操作
常用的关系操作:
查询操作:选择、投影、连接、除、并、差、交、笛卡儿积
选择、投影、并、差、笛卡儿积是5种基本操作
更新操作:插入、删除、修改
特点:集合操作方式——操作的对象和结果都是集合
四、关系代数
是一种抽象的查询语言,它用对关系的运算来表达查询
分类:传统的集合运算和专门的关系运算
运 算 符 | 含 义 | |
传统的 集合 运算符 | ∪ | 并 |
- | 差 | |
∩ | 交 | |
× | 笛卡儿积 | |
专门的 关系 运算符 | σ | 选择 |
π | 投影 | |
连接 | ||
÷ | 除 |
传统的集合运算
(1)并 R∪S
仍为n目关系,由属于R或属于S的元组组成
(2)交 R∩S
仍为n目关系,由既属于R又属于S的元组组成
(3)差 R - S
仍为n目关系,由属于R而不属于S的所有元组组成
(4)笛卡儿积
R: n目关系,k1个元组
S: m目关系,k2个元组
R×S
(n+m)列元组的集合
元组的前n列是关系R的一个元组
后m列是关系S的一个元组
行:k1×k2个元组
并、交 、差 前提条件:
R和S
- 具有相同的目n(即两个关系都有n个属性)
- 相应的属性取自同一个域
运算后不要有重复元组
笛卡儿积运算中属性名相同的要改一下属性名(eg:R关系中A属性改成R.A)
专门的关系运算
(1)选择(又称为限制)
在关系R中选择满足给定条件的诸元组(行)
F:选择条件,是一个逻辑表达式,取值为“真”或“假”
基本形式为:X1θY1
θ表示比较运算符,它可以是>,≥,<,≤,=或<>
X1,Y1是属性名时可以用它的序号来代替
(2)投影
在关系R中选择出若干属性列组成新的关系(从列的角度进行运算)
A:R中的属性列
运算后不能有重复元组,可能会消除某些元组
(3)连接
从两个关系的笛卡儿积中选取属性间满足一定条件的元组
A和B:分别为R和S上度数相等且可比的属性组
θ:比较运算符
连接运算从R和S的广义笛卡儿积R×S中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较关系θ的元组(从行的角度进行运算)
等值连接:θ为“=”的连接运算
从关系R与S的广义笛卡儿积中选取A、B属性值相等的那些元组
自然连接:一种特殊的等值连接
两个关系中进行比较的分量必须是同名的属性组;
在结果中把重复的属性列去掉(增加了列的角度)
(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上投影的集合
标签:关系,运算,笛卡儿,笔记,元组,集合,数据库系统,概论,属性 From: https://blog.csdn.net/Z15922342915/article/details/142357927