《高性能的数据库》第一讲:范式设计

首先,俺说,数据库重在设计,然后才是开发。按照第三范式开发,会让你提升到一个新的境界!

名词解释:第三范式
第一范式:一个不包含重复列的表归于第一范式。
第二范式:如果一个表归于第一范式且只包含依赖于主键的列,则归于第二范式。
第三范式:如果一个表归于第二范式且只包含那些非传递性地依赖于主键的列,则归于第三范式。

第一范式:不设计重复字段的表
比如:
Create Table tb1 (
     fd1 varchar(20), --用来存放电话
     fd2 varchar(20), --用来存放电话
     fd3 int --其他
)

则fd1,fd2违反第一范式

第二范式:不设计没有主键,或没有唯一索引的表
比如:如果一个表存在相同的数据,那必然是违反第二范式无疑。

第三范式:能细分则细分每个字段。
比如:一个表,原来设计为:
Create TAble Clothes(
     ClothesID int primary key,--ID
     Color varchar(10), --颜色 
     Description varchar(20) --描述
)

那么Color违反了第三范式,于是,第三范式应该这样设计
Create TAble Clothes(
     ClothesID int primary key,--ID
     ColorID Int, --颜色ID
     Description varchar(20) --描述
)

Create Table Color(
     ColorID int primary key,
     Color varchar(20)
)

Color作为主表,Clothes作为子表,两者用ColorID互联.


上一篇:OutputCache造成页面响应内容类型为text/vnd.wap.wml的问题

下一篇:Coolite自定义验证,VType 

留下脚印压缩包密码:sosuo8
名字:
全部评论:
评论xiaoyaoalu2010-7-29 16:31:00
投票无限制...
答复恩,得抽个时间处理下了。
申明:本站部分文章来自网络,由于各种原因对文章的来源无从考究,如果您是“ 《高性能的数据库》第一讲:范式设计 ”的原作者,若侵犯您的版权,请与我联系!在此请您原谅我的幼稚和无知!联系方法:email:ahuinan@21cn.com  QQ:106494262

感谢以下网友对网站提出的建议:
1、感谢“蓝树叶kiss”网友发现一个评论漏洞。(2009-2-28)
2、感谢“陈臣”对程序优化和seo方面的建议。(2009-3-18)
文章档案
  • 作者:佚名
  • 来源:转载
  • 日期:2010-2-7 20:51:00
  • 点击:477
网友投票(您觉得这篇文章怎样?)
loadding...请稍侯......