数据库系统概论小结(二)【面向考试】
数据库系统概论小结(二)【面向考试】
第二章 关系数据库
2.1关系数据结构及形式化定义
2.1.1关系
-
域:一组具有相同数据类型的值的集合。(取值范围)
-
笛卡尔积:域上的一种集合运算。
排列组合
一个域允许的不同取值个数称为这个域的基数。
上图中笛卡尔积的基数为2 * 2 * 3 = 12
-
关系:
D1xD2x...xDn的子集叫做在域D1,D2,...,Dn上的关系,表示为:R(D1,D2,...,Dn)(R表示关系的名字,n是关系的目或度(degree))
当n=1:单元关系或一元关系。
当n=2:二元关系。
n目关系必有n个属性。
若关系中的某个属性组的值能唯一标识一个元组,而其子集不能,则称该属性组为候选码。若一个关系中有多个候选码,则选定其中一个为主码。候选码的诸属性称为主属性。其余称为非主属性或非码属性。
极端情况:关系模式的所有属性是这个关系模式的候选码,称为全码。
关系三种类型:基本关系(又叫基本表或基表)、查询表、视图表
2.1.2关系模式
即关系的描述,R(A1,A2, ...,An),R为关系名,A1...An为属性名。
关系模式是型,关系是值。
可以形象地表示为 R ( U , D , D O M , F )
R 关系名
U 所有属性名
D 属性来自哪些域
DOM 属性和域的映射
F 属性间的依赖关系
2.1.3关系数据库
关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库。
关系数据库的型也称为关系数据库模式,是对关系数据库的描述。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
2.2关系操作
2.2.1基本的关系操作
查询、插入、删除、修改。
查询有可分为选择、投影、连接、除、并、差、交、笛卡尔积等。
其中选择、投影、并、差、笛卡儿积是5种基本操作。其他操作可以由基本操作导出。
操作的对象和结果都是集合。
2.2.2关系数据语言的分类
- 关系代数:用对关系的运算来表达查询要求。
- 关系演算:用谓词来表达查询要求。
介于两者之间的结构化查询语言:SQL,它是集查询、数据定义语言、数据操纵语言和数据控制语言于一体的关系数据语言。是关系数据库的标准语言。
2.3关系的完整性
关系模型中三类完整性约束:实体完整性、参照完整性+用户名义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的,被称为关系的两个不变性。
2.3.1实体完整性
规则
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。所谓空值就是“不知道”或“不存在”或“无意义”的值。
规则说明
- 是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。
- 现实世界中而实体是可区分的,即它们具有某种唯一性标识。
- 关系模型中以主码作为唯一性标识。
- 主码中的属性不能取空值。若取空值,就说明存在不可区分的实体。
2.3.2参照完整性
规则
若属性F是关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须:
- 或者取空值(F的每个属性值均为空值)
- 或者等于S中某个元组的主码值
2.3.3用户定义的完整性
针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
2.4关系代数
关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。
分为集合运算和专门的关系运算两类。
2.4.1传统的集合运算
2.4.2专门的关系运算
包括选择、投影、连接和除运算。
-
选择:σC(R),表示从R中选择满足条件(使逻辑表达式C为真)的元组,返回对应行
-
投影:πA1,A2,…,An(R),表示从R中选择属性集A1,A2,…,An组成新的关系,返回对应列
-
连接
-
等值连接,非等值连接:
-
自然连接(特殊的等值连接):将两张表中共同属性的值相等的进行连接
-
外连接:
悬浮元组:S和R在做连接时,R中某些元组在S中不存在公共属性上值相等的元组,从而被舍弃,这些被舍弃的元组称为悬浮元组。
如果把悬浮元组也保存在关系中,而在其他属性上填NULL,这种连接叫外连接。
- 左外连接:只保留左边关系中的悬浮元组
- 右外连接:只保留右边关系中的悬浮元组
-
-
除:保留 R 中满足 S 的行,而且 R 中要去掉 S 的列。