关系型数据库设计三大范式

第一范式、保证表中每一个字段都是不可再分的原子

  第一范式的合理遵循需要依据实际需求来确定。

  例如:比如数据库存在一个地址的字段,一般情况下,都直接存储信息:xxx省xxx市xxx区xxx县

  但是,若需求有变化,比如某些情况,xxx省xxx市字段会被频繁的访问,那么可以将地址再细分几个字段,省份作为一个字段、市作为一个字段,方便查找。

 

第二范式、保证每张表中的字段都与主键关联

  首先要保证的就是每张表中都有主键列;通过主键列可以查找到表中对应的唯一一条数据。

  其次,要保证表中的非主键字段与主键有关系。例如:在用户信息表中,又存放了不相关的账户余额。此时应该将账户余额存放到另一张账户表中。即一张表中只存放与主键相关联的信息,不要存放其它乱七八糟的信息。

第三范式、确保每列都和主键列直接相关,而不是间接相关

第三范式个人感觉有点像在第二范式上更进一步,例如:在设计订单信息表时,可以将客户表的主键.客户编号存放于订单表中作为外键,而不必在订单表中添加客户名称等额外的其它信息。

 

其它:一张表的主键可以是多列。需不需要遵循范式需要依据具体的需求来定。

    若有错误还请指出。

posted @ 2021-12-04 22:47  whisper_ac  阅读(93)  评论(0)    收藏  举报