第二章 关系数据库笔记

目录 

2.1关系模型
2.2 关系数据结构及其形式化定义
2.3关系的完整性
2.4 关系代数 
2.5 关系演算
2.6 小结

2.0关系

是具有相同类型的值的集合,域可以是有限集,也可以是无穷集,如果域D为有限集时,则称D中元素,的个数为D的基数,记作IDI
例如,整数的集合、实数的集合、字符串的集合,长度不超过20的字符串的集合和集合{0,1 }等都是域

笛卡尔积

给定n个域D, D..... Dn (它们不必互不相同). 上的笛卡尔积记作:D1x D2x...xDn,,且Dyx D2x...xDn,={(d, d2, .... dn,)}

每个元素(d, d, ... d,)称为一个n-元组(简称元组) ,而di为元组的第i个分量。 
■例如,有三个域: D1={0,1} , D2={a,b,c} , D3={D,E} ,则D、D2、 D3
的笛卡尔积为:
Djx D2x D3={(0, a, D),(0, a, E), (0, b, D),(0, b, E), (0,c, D),(0,c, E), (1,a, D),(1,a, E),(1,b, D),(1,b, E), (1,c, D),(1,c,E) }
其基数为| D1lxI D2 |x|D3|= 12

关系的另一种表示形式
关系可以使用二维表来表示 每个表都有一个惟一 的名字(关系名) ,

表的每一-列对应的 分量称为属性,表的第一行是表头 ,给出各列的属性名,其余 每行对应于一个元组,每个元组都代表一个实体或联系 关系的这种直观表示允许我们对关系附加一-些语义
例如, 我们可以通过属性名解释关系元组的语义,可以通过 属性的语义定义关系的码,定义关系的完整性约束

 关系的性质

关系是笛卡尔积的子集,即元组的集合,所以,关系中行的次序不重要,且关系(表)中不能包含两个相同的元组(行) 用二维表表示关系使得我们可以以任意列次序显示关系,或者说列的顺序不重要在关系数据库中,任何有意义的关系都要满足一定 的约束条件,这些约束都是语义约束

除了语义约束外,对关系的限制主要有两点
第一,在关系数据库中,只考虑有限关系
第二,关系的每个属性都必须是原子的

码  超码  候选码

主码考虑职工关系,其模式如下:

EMPS (Eno, Ename, Esex, Eage, Eaddress, Dname, Esalary)
Eno是EMPS关系的码,因为每位职工都有惟一-的编号
包含了Eno的任意属性集则是超码,如,{Eno, Ename} ,该属性 集也能惟一地确定每位职工
如果认为家庭住址相同的两位职工不可能同名同姓,则{ Ename, Eaddress }也是EMPS的码

设K是关系R的属性集,如果K能唯一地标识一 个元组,而其真子集不能则K是R的码 通常,当一个关系具有多个码时,应当选择其中的 一个作为惟一识别关系元组的码 ,称为主码 主码用于表示由多个码中选出的作为惟一识别关 系元组的码,而所有的码又称候选码 码中的属性称为主属性,而不在任何码中出现的属 性称为非主属性 例如Eno和{Ename, Eaddress }都是EMPS的候选码, 则Eno、Ename和Eaddress都是主属性 ,而Esex, Eage, Dname, Esalary是非主属性 定义关系时可以选择一个作为EMPS的主码 ,比如 选择Eno为主码 外码 如果FK是关系R的属性集,并且不是R的码,但是 FK与关系R1的主码K1对应,则称FK是关系R的外码。其中R是参照关系, R1是被参照关系( R与R1 不一定是不同的关系) , 并称FK参照R1的主码K1

实体完整性规则:关系R的所有元组在主码上的值必须惟 并且在主码的任何属性上都不能取空值

参照完整性规则
例子 
Students (Sno, Sname, Sex, Birthday, Enrollyear, Speciality, Dno) 
Courses (Cno, Cname, Period, Credit) 
SC (Sno, Cno, Grade) 
这三个关系之间也存在引用,关系SC中“Sno"必须是Students中 一个已有的学生,关系SC中的“Cno”必须是Courses中一个已有 的课程

用户自定义的完整性规则
用户定义的完整性反映特定的数据库所涉及的数据必须满足 的语义约束条件。由于不存在一般性规则,这些约束条件必 须由用户根据实际问题的语义指定 例如,在教务管理数据库中,我们可以定义如下 约束条件: 学生的成绩必须是0到100之间的整数; 学生的累积不及格课程不得超过5门;性别的取值~ 只能是男、女和空值;教师和学生的姓名都不能 取空值等

2.1关系模型

1.实体完整性:规定表的每一行在表中是惟一的实体。
2.域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。
3.参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。
4.用户定义的完整性:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的...

1、关系模型的数据结构一关系

关系模型的数据结构: 非常单一,在用户看来,关系模型中数据的逻辑结构是一-张二维表。但关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系

3、关系的三类完整性约束关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户自定义的完整性.其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。用户自定义的完整性是应用领域特殊要求而需要遵循的约束条件,体现了具体领域中的语义约束。下面将从数据模型的三要素出发,逐步介绍关系模型的数据结构(包括关系的形式化定义及有关概念)、 关系的三类完整性约束、关系代数与关系演算操作等


2.2 关系数据结构及其形式化定义
2.3关系的完整性
2.4 关系代数 
2.5 关系演算
2.6 小结

猜你喜欢

转载自www.cnblogs.com/SunChuangYu/p/12672520.html