数据库基础:快速掌握数据库设计范式的基本概念

数据库基础:快速掌握数据库设计范式的基本概念,第1张

由于数据库设计中所遵循的范式规则比较复杂 对于初学者来讲很难完全记住 本文针对数据库设计范式的基本概念进行了扼要的总结

第一范式:

对于表中的每一行 必须且仅仅有唯一的行值 在一行中的每一列仅有唯一的值并且具有原子性

第二范式:

第二范式要求非主键列是主键的子集 非主键列活动必须完全依赖整个主键 主键必须有唯一性的元素 一个主键可以由一个或更多的组成唯一值的列组成 一旦创建 主键无法改变 外键关联一个表的主键 主外键关联意味着一对多的关系

第三范式:

第三范式要求非主键列互不依赖

第四范式:

第四范式禁止主键列和非主键列一对多关系不受约束

第五范式:

lishixinzhi/Article/program/SQL/201311/16202

比如你是班主任,要统计成绩了。有以下几项,考号,姓名,科目号,科目,成绩。如果没有理解第一范式,你就只能这么记录了:考号2010005001是张三,语文考了80分。但是理解了就不一样了,你就学会把这条信息抽象为5个属性了,可以用excel表格统计了!

你在录入成绩的过程中会发现,语文,数学之类的字粘贴了好多遍啊,能不能单独拿出来啊。当然可以。因为科目名只依赖于科目号,于是你可以把上述信息分成三个表:

考生表:考号(PK) + 姓名

科目表:科目号(PK) + 科目名

成绩表:考号(PK) + 科目号(PK) + 成绩

简单的说,第二范式消除了非主属性对主键的部分依赖。

第三范式的话,其实上面这么做就已经是第三范式了。为了便于理解,我们加一列 等级吧。比如60分以下C,60到80是B,80以上是A。

那么成绩表现在是这样:

成绩表:考号(PK) + 科目号(PK) + 成绩 + 等级

其实等级成绩有关,跟主键只有间接的决定关系,主键决定成绩,成绩决定等级,我们需要把它独立出来。

考生表:考号(PK) + 姓名

科目表:科目号(PK) + 科目名

成绩表:考号(PK) + 科目号(PK) + 成绩

等级表:等级(PK) + 成绩

简单的说,第三范式消除了非主属性对主键的传递依赖。

说了这么多,总结起来一句话:没啥鸟用。没上过学的,出来设计的表估计也是满足第三范式的。

#

数据库标准化与范式- 开发者在线- >

以上就是关于数据库基础:快速掌握数据库设计范式的基本概念全部的内容,包括:数据库基础:快速掌握数据库设计范式的基本概念、理解数据库中的第一第二第三范式有什么用谁能告诉我、数据库的规范化,1\2\3范式怎么理解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9267443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存