关闭

重新认识数据库范式

标签: 数据库oo存储
1186人阅读 评论(0) 收藏 举报
分类:

第一范式  

关键字:  粒度.

一个典型的例子是地址,我们需要把地址作为一个字段,还是分为省,市,详细住址,

简单的回答是根据应用而定.

重构方法,如果你的WHERE语句中需要对一个字段作SUBSTRING之类的操作时,

这说明粒度太粗.要再细分出你要SUBSTRING的部分来.

另外,有些设计人员喜欢给每个表加一个AUTO-INCREMENT的ID,

而不是逻辑主建,这样做将浪费存储空间并降低查询效率.

第二范式

关键字:主键依赖

如果你是个无神论者,那你应该知道你头发的长度不取决于你女朋友的身分证号码.

从OO的观点看,你头发的长度不是你女朋友的属性.

重构方式,参照你的类设计,重点注意与类的属性不对应的数据库字段.

第三范式

关键字:非主键依赖

一个容易理解的例子是学生的记录中不应该有全班学生人数的信息.

从OO的观点来看,全班学生人数是班级的属性,不是学生的属性.

重构方式,参照你的类设计,如果两个类的属性出现在同一表中,你就要注意了.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4815次
    • 积分:146
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章分类