关系型数据库设计
第一范式
一个域被称为原子性的,如果这个元素的值是不可被分割的,第一范式表示所有属性都必须是原子性的
假如给定学生的学号为CS1234或者EE5678
这两个值就不能被称为是原子性的原因很简单,前面两个首字母分别代表了院系(计算机,电子)表明学号还可以再分
我们的目标是要做一个无损失的分解,这需要遵循两个依赖
①函数依赖
②多值依赖
函数依赖
概念:①限制在一组合法的关系上
②要求某一组属性的值能唯一确定另一组属性的值
1->4,1->5显然不满足函数依赖,但4->1,5->1,7->3,反过来是满足函数以来的
符号表示:假定有两个元组t1和t2函数依赖可以这样表示,对于其中的一个属性a->b那么t1[a]=t2[a],那么必有t1[b]=t2[b]。
函数依赖的其他条件:
①K是关系R中的一个超码,那么K->R显然成立,因为超码的概念是,所有元组都不相同的一组属性集合.
②K是候选码,K->R并且不能在K的集合中找到一个属性a使a->R,例如我们假定班级和姓名可以唯一确定一个人,但是班级不能唯一确定一个人,姓名也不能唯一确定一个人(不同班级有相同的姓名).这就满足了函数依赖
非平凡的函数依赖</