下面来介绍数据库模型设计之第一范式、第二范式、第三范式
数据库范式一般满足第三范式足矣
(1)第一范式(无重复的列)
定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。
如果实体中的某个属性有多个值时,必须拆分为不同的属性
通俗理解:一个字段只存储一项信息
For Example:
班级:高三年1班,应改为2个字段,一个年级、一个班级,才满足第一范式
不符合第一范式:
学号姓名班级
0001小红 高三年1班
应改为
学号姓名年级班级
0001小红 高三年1班
(2)第二范式(属性完全依赖于主键)
定义:满足第一范式前提,当存在多个主键的时候,才会发生不符合第二范式的情况。
比如有两个主键,不能存在这样的属性,它只依赖于其中一个主键,这就是不符合第二范式
通俗理解:任意一个字段都只依赖表中的同一个字段
For Example:
学生借书表,不满足第二范式
学生证名称 学生证号 学生证办理时间 借书证名称 借书证号 借书证办理时间
应改为
1.学生证表:
学生证 学生证号 学生证办理时间
2.借书证表:
借书证 借书证号 借书证把你拉时间
(3)第三范式(属性不能传递依赖于主属性)
定义:满足第二范式前提,如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性。
通俗理解:一张表最多只存2层同类型信息
For Example:
爸爸资料表,不满足第三范式
爸爸儿子 女儿女儿的小熊女儿的海绵宝宝
应改为
1.爸爸信息表:
爸爸儿子女儿
2.女儿信息表:
女儿女儿的小熊 女儿的海绵宝宝
总结:在业务设计、数据拆分时,会使用到数据库范式,尽可能在业务设计的时候就要遵守范式,请大家自行根据需求设计数据库表。
来源:http://blog.csdn.net/flying_ants/article/details/23350031
相关推荐
MySQL 设计规范 MySQL 设计规范是指在 MySQL 数据库设计和开发过程中需要遵守的一系列规则和标准,以确保数据库的稳定性、可靠性和高效性。该规范涵盖了数据库设计、表和字段命名、字段结构、SQL 语句、性能与效率...
MySQL设计规范是数据库管理系统中非常重要的一个环节,它关乎到数据的存储效率、查询性能以及系统的可维护性。本资料“MySQL设计规范.rar”包含了关于如何有效地设计和管理MySQL数据库的详细指南,对于教育和学习...
MySQL设计规范知识点: 1. 字段命名规范:在MySQL设计中,字段命名应当避免使用中文字符,而采用小写字母,并用下划线“_”来分隔单词。这样的命名方式便于在程序代码中引用,同时提高了代码的可读性。 2. 整数...
在使用Mysql数据库时,首先要对MySQL数据库的设计规范有所了解,有了深刻的了解之后才能设计出更加规范和文档的数据库
阿里巴巴MySQL开发规范是一套针对MySQL数据库设计、实现及优化的最佳实践指南。这套规范旨在提高数据库应用的稳定性、性能和可维护性,同时降低潜在的风险。规范主要分为三个部分:建库建表、创建索引、编写SQL语句...
### MySQL数据库设计规范详解 #### 一、概述 在当今数据驱动的世界中,数据库的设计与管理至关重要。良好的数据库设计不仅能提升系统的稳定性和可扩展性,还能优化查询性能,确保数据安全。MySQL作为一种广泛使用...
mysql设计及使用规范:一、 表设计;二、 索引【FAQ】;三、 SQL语句;四、 散表;五、 其他;六、个人总结及示例
数据库基本设计规范中,强调了 Innodb 存储引擎的使用,统一使用 UTF8 字符集,添加注释,控制单表数据量的大小,谨慎使用 MySQL 分区表,并且要做到冷热数据分离,禁止在表中建立预留字段和在数据库中存储图片、...
字段设计规范包括数值、字符、时间、枚举及集合类型(ENUM&SET)和二进制大对象(BLOB)的数据类型选择及命名规则。推荐使用unsigned属性来存储非负数值,并且针对表示布尔值的字段推荐使用is_xxx的命名方式。针对...
MySQL数据库设计规范是确保数据一致性、可扩展性和高效性能的关键因素。在进行数据库设计时,遵循一定的标准和最佳实践能够避免潜在的问题,并提高系统的稳定性和可靠性。以下是对MySQL数据库设计规范的详细阐述: ...
2. 设计规范 2.1 数据库设计 以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。 对于不满足【高危】和【强制】两个级别的设计,DBA 会强制打回要求修改。 2.1.1 一般命名...
MySQL设计文档旨在提供一套规范,以确保在使用MySQL数据库时能充分发挥其优势,避免潜在问题。以下是基于给定内容的详细知识点: 一、数据库命令规范: 1. 数据库对象名称应使用小写字母和下划线,以符合lower_case...
MYSQL数据库命名及设计规范 MYSQL数据库命名及设计规范是数据库设计的重要组成部分,它们决定了数据库的性能、扩展性和数据完整性。本文将详细介绍MYSQL数据库命名及设计规范的重要性和实现方法。 设计原则 MYSQL...
mysql数据库设计规范,对于初级开发人员设计数据库有指导性作用,建议初级开发人员当做工具书使用
本篇文章将深入探讨针对MySQL大表的性能优化策略以及如何遵循高性能的表设计规范。 一、MySQL大表性能优化方案 1. **分区表**:当单个表的数据量过大时,可以采用分区技术,将数据分散到多个物理存储单元,提高...