Xpisme's Blog

数据库第一范式

数据库第一范式

数据库最常见的设计都会遵循三大范式,今天就来唠唠数据库设计的第一范式!

定义:规定关系的每一个分量必须是一个不可分的数据项。
简单来说就是每一个列(属性)只有一个,没有重复。

举三个例子

例一:重复的组

顾客 日期 数量
Pete Monday 19.00
-28.20
—— ———— ————
Pete Wednesday -84.00
—— ———— ————
Sarah Friday 100.00
150.00
-40.00

  • 此份数据不符合第一范式,只要将每笔记录转化为单一记录就可以了。

例二:缺乏唯一识别码

顾客 日期 数量
Pete Monday 19.00
—— ———— ————
Pete Monday 19.00

  • 交易一模一样,无法区分。缺乏唯一识别码,都简称为ID,为唯一的标识。

例三:很多字段来表达同一个意思

顾客 喜欢食物[1] 喜欢食物[2]
Pete 香蕉 苹果
—— ———— ————
Lisi 菠萝

  • 假设我们想要知道喜欢吃一种食物有哪几个人,查询条件复杂。也是一个糟糕的设计,第一范式也不允许列重复。
xpisme wechat
微信号