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

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

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

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

1. 开销优势

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

2. 开发便捷性

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

3. 维护性优势

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


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

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

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


三、表足够内聚

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

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

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

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

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

你可能感兴趣的文章
MySQL参数调优详解
查看>>
mysql参考触发条件_MySQL 5.0-触发器(参考)_mysql
查看>>
MySQL及navicat for mysql中文乱码
查看>>
MySqL双机热备份(二)--MysqL主-主复制实现
查看>>
MySQL各个版本区别及问题总结
查看>>
MySql各种查询
查看>>
mysql同主机下 复制一个数据库所有文件到另一个数据库
查看>>
mysql启动以后会自动关闭_驾照虽然是C1,一直是开自动挡的车,会不会以后就不会开手动了?...
查看>>
mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
查看>>
Mysql启动失败解决过程
查看>>
MySQL启动失败:Can't start server: Bind on TCP/IP port
查看>>
mysql启动报错
查看>>
mysql启动报错The server quit without updating PID file几种解决办法
查看>>
MySQL命令行登陆,远程登陆MySQL
查看>>
mysql命令:set sql_log_bin=on/off
查看>>
mySQL和Hive的区别
查看>>
MySQL和Java数据类型对应
查看>>
mysql和oorcale日期区间查询【含左右区间问题】
查看>>
MYSQL和ORACLE的一些操作区别
查看>>
mysql和redis之间互相备份
查看>>