第 2 章Mysql数据库(表)设计
我们的表要满足1NF 基础上,才可以谈满足2NF, 目前最高级6NF,对PHP网站说,我们只要满足3NF。
比如mysql, oracle, sql server ,postgresql,informix,DB2
面向对象和集合数据库.
mongodb数据库面向文档
所谓1NF:属性(列)具有原子性,不可在分割, 还有就是把同一张表不可以有两个相同列.
所谓2NF: 说表的记录具有唯一性., 即不能出现完全相同的两条记录.一般说,通过设置主键即可.
☞注意;主键最好是非业务逻辑主键,使用自增长.
3NF要保证数据没有冗余.即如果数据可能通过显示或者隐式的推导出,就不要单独设计一列.
比如下图就是满足3NF:
但是说明; 有时我们设计表的时候,可能会使用反3NF.,举例:
☞上面的相册表的设计就使用到了反3NF,但是他提高了效率
点击观看本章节视频讲解: http://www.tudou.com/programs/view/0Kj4sBsR3eI/
未完待续...
转载于:https://blog.51cto.com/hanshunping/1246383