1、S-L-C关系的问题
a、数据冗余:有较多的数据重复。
b、数据更新:重复修改数据较多,过程繁琐。
c、数据插入:创建新表时,主键为空值,但主键不能为空
d、数据删除:不能删除某一属性的值,只能删除一个元组
2、术语和符号
a、如果X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。若不做特别说明则称X→Y是平凡的函数依赖(默认)。
b、如果Y不依赖于X,则记作XY.
c、如果X→Y,并且Y→X,则记作XY。
d、如果X→Y,则称X为决定因子。
e、如果X→Y,并且对于x的一个任何真子集X‘都有X’Y,则称Y完全函数依赖于X,记作X‘-f->Y;如果 X’Y成立,则称Y部分函数依赖于X,记作X-p->Y。
f、如果X→Y(非平凡函数依赖,并且 YX)、Y→Z,则称Z传递函数依赖于X。
g、设K为关系模式R的一个属性或属性组,若满足K-f->A1,k-f->A2,```,K-f->An
则称K为关系模式R的候选键(或候选码)。称包含在候选键中的属性为主属性,不包含在的为非主属性。
3、关系模式R(U,F),U为关系模式R上的所有属性集(由候选键决定),F为R上成立的只涉及U中属性的函数依赖集,X,Y,Z,W均是U的子集。
(1)、Armstrong公理
a、自反律(平凡函数依赖):一组属性函数决定它的所有子集。
b、增广律:若X→Y在R上成立,切ZU,则XZ→YZ在R上也成立。
c、传递律:若X→Y和Y→Z在R上成立,则X→Z在R上也成立。
(2)、Armstrong公理推理
a、合并规则:若X→Y和X→Z在R上成立,则X→YZ在R上也成立。
b、分解规则:若X→Y在ZY在R上成立,则X→Z在R上也成立。
c、伪传递规则:若X→Y和YW→Z在R上成立,则XW→Z在R上也成立。
d、复合规则:若X→Y和W→Z在R上成立,则XW→YZ在R上也成立。
第三章总结:
1、关系模型的组成:数据结构;操作集合;完整性约束。
2、传统的关系运算:并、交、差、广义笛卡尔乘积。
3、专门的关系运算:选择、投影、连接、除。
4、有关的数据操作:增删改查。
数据完整约束
数据完整性是一种语义概念:与现实世界中应用需求的数据的相容性和正确性;数据库内数据之间的相容性和正确性。
数据完整性:实体完整性、参照完整性、用户定义的完整性
基本术语
1、关系:二维表,表名即关系名
2、属性(不能重复):列
3、值域:二维表中属性的取值范围
4、元组:每一行为一个元组
5、分量:为最小元素不可再分,元组中每一个属性值
6、关系模式:二维表的结构
7、关系数据库:对应于一个关系模型的所有关系的集合
8、候选键(可以有多个):又称:候选关键字,候选码。能够唯一标识一个关系的元组而又不包含多余的属性,当候选键是由两个属性表达是成为:超键
9、主键(不能为空且不能重复):又称:主码、主关键字,为表中的属性或属性组,用于唯一地确定一个元组。
10、主属性和非主属性:主:包含在任一候选键中的属性。非主:不包含在任一候选键中的属性。
对关系的限定
1、关系中的每个分量都必须是不可再分的最小属性。
2、表中列的数据类型是固定的,即列中的每个分量都是同类型的数据,来自相同的值域。
3、不同的列的数据可以取自相同的值域。
4、关系表中列的顺序不重要。
5、行的顺序也重要。(无序性)
6、同一个关系中的元组不能重复。
关系代数:一中纯理论语言。
三大要素:运算对象、运算符、运算结果。
关系代数的运算:
1、传统的集合运算:集合的广义笛卡尔积运算、并(UNION)、交(INTERSECT)、差(EXCEPT)。
2、专门的关系运算:选择、投影、连接、除。
优先级:括号、θ、非、与、或(低→高)
3、投影:从关系R中选取干属性(列)
4、连接
(1)、θ连接
(2)、等值连接(θ连接的特例)
(3)、自然连接:在等值连接的基础上去掉相等的。
(4)、外部连接(外连接)
(5)、半连接
自然连接与等值连接的区别:
(1)自然连接要求相等的分量必须有共同的属性名,等值不需要。
(2)自然连接要求把重复的属性名去掉,等值不需要。