当前位置:网站首页>MySQL-数据库设计规范
MySQL-数据库设计规范
2022-08-02 07:00:00 【kk_lina】
一、范式
1、5大范式
- 第一范式:具有原子性,不能再拆分;
- 第二范式:数据表每一条数据记录都是可唯一标识的,非主键字段完全依赖主键。一张表就是一个对象,用于自己独立的意思。
- 第三范式:表中其他非主键字段不能依赖其他非主键字段,即非依赖传递;
- 巴斯-科德范式(优化以后的第三范式):达到第三范式,并且只有一个候选键,或者每个候选键都是单属性;
- 第四范式:消除非平凡且函数依赖的多值依赖,即把同一表内的多对多关系消除;
- 第五范式(5NF,完美范式):如果关系模式R中的每一个连接依赖均由R的候选键所隐含。
2、范式的优缺点:
- 优点:消除数据冗余
- 缺点:降低查询效率,多表关联,可能是索引策略失效
3、反范式化
有些数据看似冗余,但是适合业务,需要优先业务,这时需要反范式化。
在规范化和性能可能会出现对立,可以通过表中添加冗余字段来减少搜索时间,或者插入计算列,方便查询。
二、键和相关属性
- 超键:能唯一标识元组的属性集;
- 候选键:如果超键不包括多余的属性,那么这个超键就是候选键;
- 主键:用户可以从候选键中选择一个;
- 外键:一个表中的某属性不是该表的主键而是另一个表的主键
- 主属性:候选键涉及到的主属性
- 非主属性:与主属性相对
三、ER模型
1、三要素
- 实体:数据对象,可独立存在,一般是数据表,用矩形表示;
- 属性:实体的特性,一般是字段,用椭圆形来表示;
- 关系:实体之间的联系,用菱形来表示。
2、关系的类型
- 一对一
- 一对多
- 多对多
3、ER模型图转换成数据表
- 一个实体通常转换成一个数据表;
- 一个多对多的关系,通常也转换成一个数据表;
- 一个一对一的关系,或者一对多的关系,通常转换成表的外键来表达,而不是设计一个新的数据表;
- 属性转换成表的字段。
边栏推荐
猜你喜欢
随机推荐
2022.07.31(LC_6133_分组的最大数量)
gdalinfo: error while loading shared libraries: libgdal.so.30: cannot open shared object file: No su
使用hutool做本地缓存的工具类
(2022牛客多校五)C-Bit Transmission(思维)
docker 安装mysql
概率论与数理统计
2022夏暑假每日一题(六)
张驰课堂:六西格玛培训工具——箱线图
2022年数据泄露平均成本高达435万美元,创历史新高!
OC-错误提示
【ROS基础】map、odom、base_link、laser 的理解 及其 tf 树的理解
速看!PMP新考纲、PMBOK第七版解读
apt & apt-get命令
OC-NSDictionary
(2022牛客多校五)B-Watches(二分)
OC - NSSet (set)
FormData上传二进制文件、对象、对象数组
张驰课堂:六西格玛测量系统的误差分析与判定
MySQL-FlinkCDC-Hudi实时入湖
实例032:反向输出II




![带手续费买卖股票的最大利益[找DP的状态定义到底缺什么?]](/img/14/cd6ed7452230571db2e027f61dbdba.png)




