数据库设计的六个阶段详解

设计数据库只有六个步骤。
说白了,就是从需求到维护的一个完整的过程。

第一步是需求分析。
上周我刚刚参与了一个项目,我必须与用户交谈并询问他们想要存储哪些数据以及如何使用这些数据。
如果需求不明确,那就一头雾水,以后一切都没用。
自上而下是指先看整体功能,再分解细节;自下而上意味着首先查看各个数据点,然后整合它们。

第二步是绘制ER图。
我只是讨厌那些长文档。
直接画图是最直观的。
使用矩形表示实体,菱形表示关系,并用线连接它们。
如果ER图不好,整个数据库就无法使用。

第三步,传输关系表。
将ER图转换成数据库表就是结构的逻辑设计。
最主要的是主键和外键正确,否则数据连接就完全乱了。
我一般推荐第三范式来减少冗余。

第四步是物理设计。
我仍在研究这个,主要是选择存储结构和索引。
B 树索引是最常见的,但并不通用。
应根据实际查询场景而定。

第五步应用。
只需根据设计文档编写代码并创建表来加载数据即可。
测试是关键。
最后一个项目崩溃了,因为它没有经过适当的测试。

第六步是运维。
在线登录系统不是终点。
监控、备份和安全不容忽视。
我通常建议使用自动化工具来减少人工干预。

数据类型、约束等详细信息请自行阅读设计文档。
我还在看这个...

数据库设计分为哪几个阶段?每个阶段的主要任

上周我的朋友正在做一个数据库项目,他说有六个步骤可以完成。
第一步是需求分析,了解用户想要什么。
然后是概念结构设计,这使得模型的要求不针对特定的数据库系统。
逻辑结构设计又向前迈进了一步。
必须优化将模型转换为数据库可以理解的格式。
物理结构必须设计有良好的存储方式,这直接关系到数据库的速度。
实施阶段包括创建数据库、编写程序、导入数据并尝试看看是否有效。
最后,数据库运维意味着不断的监控和调整,保证系统的稳定性。
整个过程应该使数据库既易于使用又高效。
2 02 3 年,他的项目终于要上线了,这还不好说。
这个就看你的了,我也不太明白。
别打扰。

数据库设计过程包括几个主要阶段

说实话,刚入行的时候,对于数据库设计我是很迷茫的。
您列出的六个阶段中的每一个阶段都必须计算在内,但实际上并没有那么明确的界限。

以需求分析为例。
我遇到过一个客户说他想要“一个可以检查用户信息的系统”,但经过进一步交谈,我发现他想要的是能够根据销售数据做报表,甚至连接到CRM。
这种需求的波动直接导致了后来的设计让客户使用起来很别扭。
所以,在需求阶段,最忌讳的就是只听表面之词。
记得在一个项目中,客户老板临时加了一个需求,说“只要添加导出Excel的功能就可以了”。
结果因为没有考虑导出场景,所以整个表结构都得改。
我当时不明白这一点。
为什么前期没有考虑到这个边际需求呢?
在概念结构设计阶段,ER图很容易画,但是画得如何取决于设计者的经验。
有趣的是,我见过有人画ER图,实体关系画得像蜘蛛网一样。
它们完全是为了画而画的。
我参与的一个项目,设计者把所有的功能都打包成一张ER图。
最后,客户问:“这个用户实体关联了多少张表?” 设计师愣住了好久。
说白了,ER图就是一个沟通工具。
画得再漂亮,如果不能解决业务问题,也是没有用的。

在设计逻辑结构时,关系模型、层次模型和网络模型可能听起来很花哨,但最常用的是关系模型。
记得有一次面试,面试官问“你的项目使用哪种数据模型?”,我直接说“关系型模型,除非有特殊场景,一般都用这个”。
面试官点点头,说道:“是的,现在的主流还是关系型的。
” 数据的逻辑组织,例如范式设计,需要更多地关注细节。
在一个项目中,为了满足客户快速查询的需求,我们特意将某张表拆成了三张。
结果客户就慢慢用了。
这是需求分析和逻辑设计脱节的结果。

在物理设计阶段,我见过人们使用堆文件组织所有表并建立一些索引来省事。
结果,当系统跑掉的时候,IO就变得可怕了。
我负责的一个项目,客户要求每天7 2 4 小时运行,所以我们专门为此搭建了镜像和热备份,还做了分区表。
数据安全确实需要认真对待。
我记得有一个关于电商平台的案例。
由于权限控制没做好,内部员工随意查看用户隐私信息,结果损失惨重。

在实施阶段,数据加载是一个技术活。
在一个项目中,客户的原始数据是8 00G。
我们采用批量加载的方式,每天添加2 00G。
结果遇到了数据重复的问题,纠结了好几天。
编码和测试应用程序时需要更加小心。
我遇到一个bug,就是某个查询条件加了空格,导致整批数据查不到。
我当时真是哭笑不得。

在运维阶段,这绝对是一场持久战。
我现在的项目,系统已经上线三年了,还在优化中。
有一个银行系统的例子。
由于用户突然增加,数据库直接挂了。
最后,我们通过增加缓存和调整索引解决了问题。
数据库设计不是一次性的事情,需要持续的跟进。

关系数据库现在确实是主流,但是技术也在发生变化。
在一次培训中,老师谈到分布式数据库,并表示未来的趋势可能是云数据库。
数据存储和检索效率,以及数据关系处理,都是核心。
但说实话,每一种技术都有适用的场景,所以不要盲目跟风。
为了创建一个好的系统,您提到的每个阶段都必须实施。

如何把概念结构设计,逻辑结构设计,物理结构设计阐述清楚

上周我向您介绍了数据库设计。
概念结构设计是第一步。

关键是了解业务需求。

画一张图来展示信息是如何运作的。

例如,2 02 3 年,我的朋友将开发一个ERP系统。

首先画一个实体关系图(ER图)。

存在诸如客户、订单和产品等实体。

关系是客户订单,订单有产品。

现阶段无论使用什么数据库。
逻辑结构设计是第二步。

将 ER 架构转换为数据库表。

例如2 02 3 年6 月的项目。

客户成为客户表。

该命令将是命令形式。

客户 ID 和订单 ID 通过外键关联。
物理结构的设计是最后一步。

考虑如何在硬盘上存储数据。

例如,在2 02 3 年的系统中。

客户表是哈希索引的。

如果索引选得好,查询会非常快。

总之就是一步一步来。

首先清算交易。

返回表结构。

最后,安排押金。

这取决于你。