数据库知识部分讨论中发现的知识空缺
一、所有的候选码都不能有冗余,即一个候选码不能含有多余的属性
二、五种基本关系代数运算
1、并
2、差
3、广义笛卡尔积
4、投影
5、选择
三、扩展的关系代数运算
1、交
3、除
4、广义投影(允许在投影列表中使用算术运算)
5、外连接(左外连接、右外连接、全外连接)
上面的含义要理解,还要能看懂其关系代数的表现形式还要看懂其元组演算表达式,拿连接举例分别如下所示:
认真掌握连接的三种形式和外连接的三种形式及两者的区别。
在连接中前两种不要求两个关系模式有相同的属性,而自然连接要求有相同的属性;对于外连接就是先对两个关系模式做自然连接,然后跟具外连接的形式来确定保留左侧关系模式中(或者右侧关系模式中或者两侧模式)中未在自然连接结果中的记录保留,另一侧的对应记录填充null值!具体过程如下图所示:
四、三范式之外的范式——BCNF(巴克斯范式)和4NF
前三个范式解决的是非主属性对码的部分和传递函数依赖,而BCNF范式解决的是主属性对吗的部分和传递函数依赖关系!
第四范式解决的是多值依赖的问题。
什么是多值依赖呢?点我
如果只考虑函数的依赖,则关系模式最高的规范化程度是BCNF;如果考虑多值依赖,关系模式最高的规范化程度是4NF。
五、模式分解
对一个给定的模式进行分解,使得分解后的模式是否与原来的模式等价的3种情况:
(1)分解具有无损连接性。
(2)分解要保持函数依赖。
(3)分解既要无损连接性;又要保持函数依赖。