三级模式——两级映射
E-R模型中,1个实体要转换成1个关系模式,1对1联系可以将关系归于任何一个实体关系模式中,1对多的可以将联系归于多的关系模式中,多对多的关系要独立成为一个关系模式。
关系代数:
并、交、差、笛卡尔积、投影、选择、联接
部分函数依赖:如果多个元素组成共同主键,可以唯一确定一条记录中的其它数据,则主键中的任意一个元素称为部分函数依赖
传递函数依赖:如果A可以唯一决定B,B可以唯一决定C,则A可以唯一决定C。
外模式、概念模式、内模式
E-R模型中, 矩形表示实体,椭圆表示属性,菱形表示联系:
笛卡尔积是把两个表的字段全部保留,然后用顺序的使用第一个表中的行,与第二个表中的各个行拼接到一行形成新的行,做笛卡尔积后的行数,是第一个表和第二表的行数之积。
投影就是选择列
选择就是条件筛选
联接和笛卡尔积最大的区别是,联接会把两个表都有的字段只保留一个,联接默认是自然联接,即两个关系中相同的字段做等值。
主键的一部分可以确定C,称为部分函数依赖。
A确定B,B确定C,则A确定C,这称为传递函数依赖。前提是B不能确定A,否则就表示两者是等价的,也就不属于传递函数依赖了。
超键:唯一标识元组,可能存在冗余字段,即去除某个字段后,仍然可以唯一标识元组
候选键:唯一标识元组,不存在冗余字段
主键:候选键中任选一个
外键:其它关系的主键
三大范式:要达到高级范式,必须先满足低级范式。
第一范式:属性值都是不可分的。
第二范式:消除非主属性对候选键的部分依赖。一般单属性的主键,都满足第二范式,只有多属性主键,才有可能不满足。
第三范式:消除非主属性对候选键传递依赖。应该就是说,如果非主键字段,能够推出其它非主键字段,就算不满足。
BCNF:消除主属性对候选键的传递依赖
注:主属性是指属于候选键的一部分的属性,非主属性则表示不属于候选键的一部分。
上例中,没有非主属性,所以满足2NF和3NF,但不满足BCNF
下面这个方法没明白
下面的方法只适合一分为二的情况:
X锁是写锁,S锁是读锁: