描述 |
实际项目中的反例 |
|
第一范式 |
原子性:每个字段都是原子的,不能再分解 |
存储 json map 数据,mysql 5.7 之后也提供了 json 类型的字段 |
第二范式 |
唯一性:
|
比如协议关系,用户和商户签署了协议,主键是 用户ID + 商户ID + 协议号,如果是签署时间,到期时间,这些字段都符合第二范式,但是如果出现用户信息,商户信息等,则不符合第二范式,因为他属于主键的一部分 |
第三范式 |
冗余性:没有传递依赖,非主属性的字段 |
比如订单表中,除了订单的创建时间,订单号,金额等之外,如果冗余了用户姓名,商户姓名等字段,都属于违反第三范式 如果需要符合第三范式,在订单表中应该填入关联 id |