MySQL 数据库设计

Posted Nothing Is Given.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 数据库设计相关的知识,希望对你有一定的参考价值。

  一、数据库设计:将数据库中的数据实体以及这些实体之间的关系,进行规划和结构化的过程。

  设计过程:

  • 需求分析:分析客户的业务和数据处理需求。
  • 概要设计:绘制数据库的ER图,确认需求信息的正确性和完整性。
  • 详细设计:将ER图转换为多张表,进行逻辑设计,取人哥表的主键外键,并应用数据库设计的三大范式进行审核。最后选择具体的数据库。  

 

  二、数据库设计的三大范式:

  (1)第一范式

  目标:确保每列的原子性。

  如果每列都是不可再分的最小数据单元(最小原子单元),则满足第一范式。

 

  (2)第二范式

  目标:确保表中每列都和主键相关。

  如果一个数据库满足第一范式,并且主键以外的其它列全部依赖于该主键,则满足第二范式。

  如果一个主键有多个列,那么其他列必须都对这两个主键列都有依赖。否则可以分开为两个表~

 

  (3)第三范式

  目标:确保每列都和主键列相关,而不是间接相关。

  如果一个关系满足第二范式,并且除了主键以外的其他列都只能依赖于主键,列和列之间不存在相互依赖关系,则满足第三范式。

 

  第三范式也是对字段冗余性的约束,即任何字段不能由其他字段派生出来,所以要求字段没有冗余。

  主键与外键在多表中的重复出现不属于数据冗余,非键字段的重复出现才是数据冗余。

以上是关于MySQL 数据库设计的主要内容,如果未能解决你的问题,请参考以下文章

MySQL设计规范

MySQL 数据库设计

MySQL设计规范

如何用mysql设计表

MySQL数据库设计规范

MySQL(二十一)—— 数据库设计三范式