您的位置:首页 > 数据库

通俗的解释一下范式

2017-09-12 18:50 260 查看
范式是什么呢?

估计能跑来搜素查询的就应该指导是数据库设计的一个东东,但是你会发现课本上或者百度上面的解释就是三个字“”太晦涩!!“”

比如拷贝来一段瞅瞅:

范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。

我知道不用说,你肯定一脸懵逼!!因为我也是!!

下面我就通俗的来解释一下三大范式吧,不喜勿喷,个人理解:

一张数据表的表结构所符合的某种设计标准的级别

第一范式:

其实就是让列保持原子性,原子性就是不能再拆分了,最细最细的力度,就是第一范式啦!!

比如说:

公司名字位置
IBM美国纽约州
华为中国广东省
这个表就不满足第一范式,为什么呢?因为在位置这个信息不是原子性的!!还可以再拆分,可以拆成国家和地区!!

公司名字国家地区
IBM美国纽约
华为中国广东省
第二范式:

其实就是说每个表字段只能描述一件事情,并且是围绕这个主键来描述的!!如果依赖于主键,则需要依赖于所有主键,不能存在依赖部分主键的情况。

就是跟主键不相关的东西都给我放到小表里面去。

主键依赖,实质就是,这个信息如果是对象的属性,就放进来,否则就不放。

第三范式:

如果你不是主键,那你就不能让其他任何的字段依赖你!!一个数据库表中不包含已在其它表中已包含的非主关键字信息。

就是不能重复存储相同的信息。这个情况,其实是在一个对象里引用了另外一个对象,这个时候,存一个引用就够了,而不是重复的存储这个对象的多个副本。

说人话:不得存在传递式依赖,比如对于一张数据库,里面的元素有son, person, father, grand-father,依赖关系是son -> person, person -> father, father -> grand-father,明显有一个链表式的传递,3NF中禁止此类依赖的出现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 范式