数据库设计三大范式

什么是范式

数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式

第一范式(1NF)

强调的是列的原子性,即列不能够再分成其他几列。
eg:电话列可进行拆分---家庭电话、公司电话

第二范式(2NF)

首先是 1NF,另外包含两部分内容,一是表必须有主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
eg:一个人同时订几个房间,就会出来一个订单号多条数据,这样子联系人都是重复的,就会造成数据冗余。我们应该把他拆开来。


1.jpg

2.jpg
3.jpg

第三范式

数据不能存在传递关系,即没个属性都跟主键有直接关系而不是间接关系,不能存在传递依赖。
eg:a-->b-->c 属性之间含有这样的关系,是不符合第三范式的。
比如Student表(学号,姓名,年龄,性别,所在院校,院校地址,院校电话)
这样一个表结构,就存在上述关系。 学号--> 所在院校 --> (院校地址,院校电话)我们应该拆开来,如下。
(学号,姓名,年龄,性别,所在院校)--(所在院校,院校地址,院校电话)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据库设计有三大范式 第一范式1NF(确保每列保持原子性) 第一范式是最基本的范式。如果数据库表中的所有字段值都是...
    yatttto阅读 1,104评论 0 0
  • 数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称...
    左希阅读 1,140评论 0 1
  • 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合...
    业余程序员阅读 680评论 0 3
  • 1.第一范式(确保每列保持原子性) 2.第二范式(确保表中的每列都和主键相关) 3.第三范式(确保每列都和主键列直...
    高山之水阅读 3,658评论 0 0
  • 雪花飘飘荡荡,水晶球中银装素裹。 将手心贴近,却被一层玻璃隔绝。 男孩 狗 在雪中自由漫步 近距离地感受着雪的洗礼...
    狸歌_阅读 362评论 0 7