文章目录
一、关系数据库的结构
1.关系的相关概念
域
域是具有相同类型的值的集合
域可以是有限集,也可以是无穷集
如果域D为有限集时,则称D中元素的个数为D的基数,记作|D|
关系的性质
关系是笛卡尔积的子集,即元组的集合,所以,关系中行的次序不重要,且关系(表)中不能包含两个相同的元组(行)
用二维表表示关系使得我们可以以任意列次序显示关系,或者说列的顺序不重要
用二维表表示关系使得我们可以以任意列次序显示关系,或者说列的顺序不重要
2.关系的码
例子
3.关系模式
例子:
二、从ER模型到关系模型
1.属性处理
派生属性的处理
转换时我们忽略派生属性
复合属性的处理
忽略复合属性本身,而直接考虑它的成分属性
多值属性的处理
为每个多值属性M创建一个关系Rm
2.实体集处理
例子:
3.联系集处理
联系集的处理方法1
联系集的处理方法2
例题
第一种处理联系的方法:
第二种处理联系的办法:
一对一和一对多联系的转换:
多对多联系得到的关系模式:
合并后得到的关系模式
三、关系的完整性约束
1.实体完整性规则
2.参照完整性规则
外码:
下列关系模式中存在的外码
参照完整性要求被参照的对象必须存在,当谋元组在外码上取空值时表示不参照。
3.用户自定义的完整性规则
四、关系代数
1.基本运算
选择运算
注意:选择的结果形成一个新的关系,它与R具有相同的属性
例子:
投影运算
例子:
并运算
差运算
笛卡尔积
2.附加的关系运算
交运算
除运算
例子:
连接运算
自然连接
3.用关系代数表达式表达查询
4.扩展的关系运算
广义投影运算
聚集函数和分组聚集
分组聚集函数:
外连接运算
外连接的规则:
外连接与自然连接的关系: