元组和键
元组
看作是数据库表的某一行
超键
唯一标识元组的属性集,且不包含多余的属性
候选键
带有其他属性的超键,比如,有这样一个元组,姓名、学号、年龄,(姓名),(学号),(姓名,年龄),(学号,年龄)都是超键
主键
被选中的候选键
第一范式
表必须是二维,每一列都是唯一的,不能说有组合的列,比如有一个列叫电话,包含了座机和移动,这一个表就不符合第一范式要拆
第二范式
必须有主键,没有包含在主键的列完全依赖于主键,即脱开主键就无法确定没有意义。任何一列都要和主键有关系
第三范式
要求每一列都必须和主键有直接关系,而不能间接,比如订单表存在一个account_id,account_phone,account_phone和订单表主键order_id没有直接关系只是通过account间接联系的,所以得删了account_phone
完整性约束
实体完整性约束
加主键,主键不为空
参照完整性
加外键