重新认识数据库范式

原创 2006年06月05日 20:20:00

第一范式  

关键字:  粒度.

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

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

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

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

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

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

第二范式

关键字:主键依赖

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

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

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

第三范式

关键字:非主键依赖

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

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

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

重新认识java(零) --- 不积跬步无以至千里

好高骛远,眼高手低,是你前进路上最大的绊脚石 — 致走在学习道路上的人 p.s. 本篇文章没有技术含量。...
  • qq_31655965
  • qq_31655965
  • 2016年11月26日 22:09
  • 2688

数据库范式详解

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给...
  • IndexMan
  • IndexMan
  • 2014年02月25日 12:20
  • 5947

说说数据库的三范式(面试题)

数据库三大范式
  • zhan3107006604
  • zhan3107006604
  • 2014年03月19日 15:38
  • 1891

重新认识java(三) ---- 面向对象之继承!

学习一个新知识的第一步,就是要知道它是什么,然后要知道为什么要用它,最后要知道如何使用它。这篇文章,我们重新认识一下java中的继承。...
  • qq_31655965
  • qq_31655965
  • 2016年11月29日 22:16
  • 2419

1.SpringBoot系列-初识SpringBoot

1.创建SpringBoot工程1.1通过IDEA构建SpringBoot工程新建工程,选择如图选项,下一步 选择所需要的组件,下一步,结束即可。 1.2通过网站构建SpringBoot工程S...
  • qq_31776219
  • qq_31776219
  • 2017年06月03日 23:03
  • 227

最简单的数据库“范式”教程

既然都叫最简单的数据库“范式”教程,我觉得它一定要满足这个要求:看完这篇博客,你一定会明白数据库的“范式”和那些诸如“完全函数依赖”,“部分函数依赖”,“传递函数依赖”等烦人的概念,前提是你得跟着我的...
  • yangbodong22011
  • yangbodong22011
  • 2016年06月11日 10:53
  • 4620

重新认识javascript(一)

介绍: 为什么重新介绍javascript呢?yinw 原文:A re-introduction to JavaScript
  • yeliang0616
  • yeliang0616
  • 2013年12月01日 20:15
  • 441

这一段时间的收获与感想,重新认识自己

好吧,又过了1个多星期,这一个多星期呢;真的又懂了很多,但我还是有很多很多的东西不懂;这种开心也真的是很开心;这一个多星期,我把JAVA的面向对象的一些特征明白的,只是多态还是有点疑问。生活就是疑问有...
  • u013078669
  • u013078669
  • 2014年11月29日 19:41
  • 670

EMC与地之重新认识地

记得在Mark的培训中,他手上拿了一个无线鼠标,然后问了一个很有意思的问题:“这个无线鼠标的地在哪里?同样,我们的手机没有和任何大地有接触,那么这个地又在哪里呢?”这个问题确实很有意思,也确实让人很难...
  • edadoc2013
  • edadoc2013
  • 2016年11月01日 16:52
  • 249

数据库——范式判断

1.1 第一范式(1NF)无重复的列        所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果...
  • u011625556
  • u011625556
  • 2014年05月20日 22:57
  • 977
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:重新认识数据库范式
举报原因:
原因补充:

(最多只允许输入30个字)