博客
关于我
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
阅读量:790 次
发布时间:2023-02-12

本文共 622 字,大约阅读时间需要 2 分钟。

一、增删改尽量限定在本表进行

在数据库设计中,增删改查操作尽量限定在单一表中进行的原则,虽然与三大范式有所冲突,但从多个角度来看,这种做法具有显著的优势。

1. 开销优势

从性能角度考虑,操作单一表比多表更节省资源。单表设计减少了索引和锁竞争的可能性,使得数据库运行效率更高。

2. 开发便捷性

在数据存储过程中,单表操作减少了业务逻辑的复杂性。与多表操作相比,单表的数据关联关系更加清晰,开发实现难度降低。

3. 维护性优势

单表设计的业务逻辑相对简单,日后维护成本较低。而多表结构可能导致复杂的业务逻辑难以追踪和修复。


二、主键体现业务关系和流程顺序

在企业级应用中,理清业务模块之间的关系是关键。在数据库设计中,主键不仅用来标识记录的唯一性,还应该体现业务流程的顺序和关系。

通过主键设计,我们可以清晰地表达业务对象之间的关联。例如,一个订单可能包含多个订单项,而订单项的主键可以同时引用订单的主键,从而体现订单与订单项之间的关联。这种设计不仅提升了数据的一致性,也方便了数据的查询和操作。


三、表足够内聚

每个表应尽量代表一个独立的业务模块,包含与该模块相关的所有字段。这种设计理念源于单表操作带来的性能优势。

在实际应用中,一个表应满足以下条件:

  • 表中的字段完全反映业务模块的需求
  • 表的数据完全属于一个特定的业务场景
  • 表设计符合业务流程的自然逻辑

通过这种方式,表的数据完整性和一致性得到保障,同时也为业务逻辑的实现提供了坚实的基础。

转载地址:http://ukdfk.baihongyu.com/

你可能感兴趣的文章
Mysql 重置自增列的开始序号
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
mysql5.6.21重置数据库的root密码
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7性能调优my.ini
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>