需求分析 -> 概念结构设计(ER模型) -> 逻辑结构设计(关系模式) -> 物理设计
投影可以理解为select、选择可以理解为where。
联接可以理解为inner join。
多个属性组成的超键(学号、性别)可以唯一标识元组 -> 去掉多余属性称为侯选键(学号) ->任选一个外键成为主键(学号或者身份证号都可以成为主键,但是只能有个一个成为主键)
不可分割
去掉高级职称人数即可满足第一范式(高级职称可以拆分为教授和副教授)
满足第一范式的情况下,每一个非主属性完全依赖主键。
课程学分不完全依赖主键(课程学分依赖课程号)所以不满足第二范式,会出现数据冗余、更新异常、插入异常、删除异常。只需要把课程号和课程学分单独拆出来组成一个表即可。
达到第二范式,消除主属性对侯选建的传递依赖。
无损分解练习
适合一分为二的方法:交集部是主键,能推算出某一个关系模式的全部.
并发产生丢失更新、不可重复度、脏读等问题。
为了解决并发产生的问题,提出了封锁协议。
一级封锁协议:加X排他锁。(防止丢失更新)
二级封锁协议:在一级基础上,在读取前加S共享锁。(防止丢失更新、脏数据)
三级封锁协议:在一级基础上,在读取前加S共享锁,直到事务结束(事务中可能读取多次)。(防止丢失更新、脏数据、不可重复读)
实体完整性约束:不能为空、不能重复(主键)。
参照性完整性约束:要求填入的数据为对应表的主键的数据,可以为空(外键)。
用户自定义完整性约束:对数据进行自定义设置,如年龄、性别。
联邦数据库区别于分布式数据库,联邦自治程度高,各个系统自治性比较高,只需要用公共标准的统一接口交互就可以了。