重新认识数据库范式

第一范式  

关键字:  粒度.

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

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

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

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

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

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

第二范式

关键字:主键依赖

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

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

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

第三范式

关键字:非主键依赖

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

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

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

阅读更多
文章标签: 数据库 oo 存储
个人分类: 数据库
想对作者说点什么? 我来说一句

数据库范式【转】

2018年06月07日 17KB 下载

数据库范式理论

2014年09月19日 456KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭