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

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

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

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

1. 开销优势

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

2. 开发便捷性

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

3. 维护性优势

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


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

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

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


三、表足够内聚

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

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

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

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

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

你可能感兴趣的文章
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqlreport分析工具详解
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>