一.部分术语概念
1.域、笛卡尔积、关系、元组、属性
(1)域
一组具有相同数据类型的集合。其实就是属性的取值范围,不同属性可以来自同一个域。
栗子:整数集,实数集,也可以一些自定义的用于约束属性的取值的集合…
(2)笛卡尔积
所有域的所有取值的集合,就是自由组合,不可重复,也不可漏掉。
(3)关系
关系就是笛卡尔积的子集。
(4)元组和属性
笛卡尔积中的每一个元素称为一个元组。
关系的逻辑结构是一张二维表,一行表示一个元组,一列表示一个属性。
(5)联系
笛卡尔积是所有域的所有取值的组合。
关系是笛卡尔积的子集。
元组和属性分别是关系的行和列。
(“域”比作x,y的取值范围 , 笛卡尔积就是在取值范围内的所有x,y构成的点(x,y), 而关系就像是某个特定曲线或平面里的满足条件的点…)
2.主码、候选码、外码
(1)候选码
候选码就是可以唯一标识元组的某个属性值,可以有多个。
(2)主码
若一个关系中有多个候选码,选定其中一个为主码。
(3)外码
它的官方定义是这个样子的 ↓
其实就是 不是码的一个属性恰好和别人家(或自己家)的主码对应上了,叫外码,但它还是不算做参照关系的码。
(4)联系
候选码可以唯一标识元组,于是候选,入选了的候选码就是主码。
而外码不是本关系的候选码,本来没有机会,却碰巧与本关系或者其他关系的主码对应上(有后门!!),于是得到了一个新的职称——外码。
3.关系模式,关系,关系数据库
(1)关系模式
关系模式是对关系的描述。
抽象的“型”。
(2)关系
包含具体的“值”。
(3)关系数据库
在一个给定的应用领域中,所有关系的集合构成一个关系数据库。
数据库是数据的集合,关系数据库当然就是关系的集合了。
(4)联系
关系相当于一张二维表。
关系模式就是对关系抽象的描述。
关系数据库就是某一领域所有关系的集合。
二、关系模型的完整性规则
1.实体完整性规则
若属性A是基本关系R的主属性,则属性A不能去空值。
↓
主属性不能为空
主属性是候选码的属性,候选码可以唯一标识元组,所以不能为空。
2.参照完整性规则
↓
外码要么为空,要么源于被参照关系的主码
在参照完整性中,当空值符合语义要求时,外码可以为空值。
栗子:
(1)
R:公司职员关系(工号,姓名,性别,部门,住址)
其中工号为主码
S:住户关系(住址,户主,人数…)
其中住址为主码
上述R中,“住址”是R 的外码,显然,“住址”不能为空值,没有人没有住处,该码的空值不符合语义要求,所以不可为空。
(2)
R:班级关系(班号,人数,班长,班主任)
S:学生关系(学号,姓名,性别,班号)
其中班长为班级关系的外码,与学生关系的学号来源于同一个域。
班号为学生关系的外码。
班长可以为空值,表示该班级未选出班长,但班号不可为空值,因为每个学生在入学前就已经被分好班级。(emmm…栗子不太恰当,大家凑合着看)
三、章末课后题
(1)
(2)
(3)
(4)
(5)
以上为参照老师博文打出的公式。
以下为手写版作业:
8.
五个基本运算有:
、 、 、 、
其余运算
、 、
将其余运算用基本运算表示:
(1)R S =
(2)关系R(A,X),关系S(B,Y)
R S =
(3)关系R(X,Y),关系S(Y,Z)
R S =