热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql整理9数据库设计的三大范式

1NF:所有域都是原子性的。域中的数据不可分割。(eg:地址-省市县)2NF:非主键字段必须与主键相关(每张表只描述一列事物),而不能与主键部分相关

1NF:所有域都是原子性的。域中的数据不可分割
(eg:地址->省市县)

2NF:非主键字段必须与主键相关(每张表只描述一列事物),而不能与主键部分相关(联合主键)
只要数据列中出现数据重复,就要把表拆分开来
例如:
一个人同时订几个房间,就会出来一个订单号多条数据,这样子联系人都是重复的,就会造成数据冗余。
我们应该把他拆开来:

表:
(1,qi,男,room1)
(1,qi,男,room2)

拆分为:

表一:
(1,room1,2)(1,room2,2)
表二:
(2,qi,男)

3NF:非主键字段必须与主键直接相关,非主键字段之间不直接相关,数据不能存在传递关系
例如:
一个表结构,就存在下述关系。

学号--> 所在院校 --> (院校地址,院校电话)

这样的表结构,我们应该拆开来,如下:

(学号,姓名,年龄,性别,所在院校)--
(所在院校,院校地址,院校电话)

推荐阅读
author-avatar
我们的生活小窍门
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有