MySQL-数据库设计规范

本文介绍了数据库的5大范式,包括第一范式到第五范式,以及它们的优缺点。讨论了反范式化的适用场景,强调在规范化与性能之间的平衡。此外,还阐述了超键、候选键、主键、外键等数据库键和相关属性的概念。最后,概述了ER模型的三要素和关系类型,并解释了如何将ER模型转换为数据表。
摘要由CSDN通过智能技术生成

一、范式

1、5大范式

  • 第一范式:具有原子性,不能再拆分;
  • 第二范式:数据表每一条数据记录都是可唯一标识的,非主键字段完全依赖主键。一张表就是一个对象,用于自己独立的意思。
  • 第三范式:表中其他非主键字段不能依赖其他非主键字段,即非依赖传递;
  • 巴斯-科德范式(优化以后的第三范式):达到第三范式,并且只有一个候选键,或者每个候选键都是单属性;
  • 第四范式:消除非平凡且函数依赖的多值依赖,即把同一表内的多对多关系消除;
  • 第五范式(5NF,完美范式):如果关系模式R中的每一个连接依赖均由R的候选键所隐含。

2、范式的优缺点:

  • 优点:消除数据冗余
  • 缺点:降低查询效率,多表关联,可能是索引策略失效

3、反范式化

有些数据看似冗余,但是适合业务,需要优先业务,这时需要反范式化。

在规范化和性能可能会出现对立,可以通过表中添加冗余字段来减少搜索时间,或者插入计算列,方便查询。

二、键和相关属性

  • 超键:能唯一标识元组的属性集;
  • 候选键:如果超键不包括多余的属性,那么这个超键就是候选键;
  • 主键:用户可以从候选键中选择一个;
  • 外键:一个表中的某属性不是该表的主键而是另一个表的主键
  • 主属性:候选键涉及到的主属性
  • 非主属性:与主属性相对

三、ER模型

1、三要素

  • 实体:数据对象,可独立存在,一般是数据表,用矩形表示;
  • 属性:实体的特性,一般是字段,用椭圆形来表示;
  • 关系:实体之间的联系,用菱形来表示。

2、关系的类型

  • 一对一
  • 一对多
  • 多对多

3、ER模型图转换成数据表

  • 一个实体通常转换成一个数据表;
  • 一个多对多的关系,通常也转换成一个数据表;
  • 一个一对一的关系,或者一对多的关系,通常转换成表的外键来表达,而不是设计一个新的数据表;
  • 属性转换成表的字段。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值