您的位置:首页 > 数据库 > MySQL

韩顺平 Mysql数据库优化(二) 数据库(表)设计

2013-07-11 13:52 411 查看
第 2 章Mysql数据库(表)设计我们的表要满足1NF 基础上,才可以谈满足2NF, 目前最高级6NF,对PHP网站说,我们只要满足3NF。1.1数据库的分类1.1.1关系型数据库比如mysql, oracle, sql server ,postgresql,informix,DB21.1.2非关系型数据库面向对象和集合数据库.1.1.3介于关系型和非关系型数据库间mongodb数据库面向文档
2.2 1NF所谓1NF:属性(列)具有原子性,不可在分割, 还有就是把同一张表不可以有两个相同列.2.3 2NF所谓2NF: 说表的记录具有唯一性., 即不能出现完全相同的两条记录.一般说,通过设置主键即可.☞注意;主键最好是非业务逻辑主键,使用自增长. 2.4 3NF3NF要保证数据没有冗余.即如果数据可能通过显示或者隐式的推导出,就不要单独设计一列.

比如下图就是满足3NF:

但是说明; 有时我们设计表的时候,可能会使用反3NF.,举例:


☞上面的相册表的设计就使用到了反3NF,但是他提高了效率
点击观看本章节视频讲解: http://www.tudou.com/programs/view/0Kj4sBsR3eI/ 未完待续...

本文出自 “韩顺平的技术专栏” 博客,请务必保留此出处http://hanshunping.blog.51cto.com/7532264/1246383
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: