数据库设计的步骤有哪些

我记得有一次帮助邻居老王整理他凌乱的仓库。
他是一个老木匠,东西很多,但没有一技之长。
我问他想放什么,他打手势说,有做家具的木板、边角料、还有供学徒练习的小玩意。
我问他怎么找东西,他挠着头说,他着急的时候找了好久。
这就像第一步,需求分析,了解人们想要什么以及如何使用它。

后来我给他画了一张草图。
板子放在这里,废料放在那里,小玩意儿放在单独的区域。
这是第二步,概念设计。
不管怎么布局,首先要有一个大概的轮廓,就像ER图一样,谁和谁有关系,放在哪里。

然后,我买了几个大盒子和小盒子,并贴上标签。
木板放进大盒子里,边角料塞进小盒子里。
这是第三步,逻辑结构设计,怎么分类,谁会看到,谁会使用,一定要了解。

第四步是物理结构设计。
我还在箱子下面放了几个小凳子,方便他够到底部的东西,还加了几个小灯。
索引就像他口袋里的小手电筒一样,指向它所在的位置。

第五步,制度落实。
我陪着他把东西搬进去,贴上标签,拍了照片。
他试了两天,说很容易找到。
就这样,已经完成并上线了。

现在仓库整洁了,老王还经常表扬我。
但我突然想到,如果他的徒弟长大了,做出了更复杂的家具,我的设计还会用吗? 是否必须改变?

数据库设计一般分为哪几个阶段

嗯,你的总结很全面。
您已经清楚地解释了数据库设计的四个主要部分。
但在实际操作中,可能并非如此一步步进行。

我们来谈谈需求分析。
2 02 3 年,当我为上海一家电商初创公司设计数据库时,老板直接对我说:“给我一个通用数据库,可以搜索任何东西。
”我当时很困惑。
后来我发现他们根本就没有考虑过他们想要的具体数据。
他们只是觉得既然所有主要制造商都使用数据库,我也应该使用数据库。
在这种情况下,需求分析就是一个论证的过程。
没错,你要经过面试等等,但对方根本无法解释出要求,最后你只能猜测。
需要规格吗?该物品被挂在墙上作为装饰。

我在结构设计上遇到了很多困难。
在概念设计过程中,我按照书上的要求画了E-R图,将所有功能视为独立的实体。
结果,当我们将逻辑设计转换为关系模型时,我们发现联系被断开了。
几次返工后,业主都快愁疯了。
物理设计更糟糕。
为了解决这个问题,所有索引都被添加到公共字段中。
结果,随着工作量的增加,查询速度变慢了。
你说索引和分区并不是真正的随机选择。
它应该基于真实的业务场景。
没有经验很难胜任这项工作。

数据库实现也很麻烦。
我2 02 2 年在深圳做一个项目,客户体验很老了。
甚至MySQL也不支持分区。
我设计的物理结构完全没用。
数据加载脚本运行了 3 天才成功。
我们最终不得不手动调整表结构。
测试结果暴露了很多问题。
有时某个功能是错误的,或者某个特定查询特别慢,一遍又一遍地调整它是一项繁琐的任务。

操作和维护步骤是无穷无尽的。
去年,我负责北京的系统。
客户每天都打电话给我添加字段并更改约束。
有时,企业会随心所欲地更改数据库结构。
最终,维护成本变得比建造时更高。
备份和恢复没有什么大问题,但是有一次整个数据库损坏了,花了整整一个周末才重新安装数据,确实很不方便。

如您所知,数据库设计可以很简单,也可以很复杂。
理论上有四个阶段,但现实中,需求不明确、技术选择错误、客户需要改变、系统有问题……各种各样的问题不断出现。
他把所有的阶段都写得如此完美,以至于在现实生活中你永远不会遇到如此顺利的情况。

不管怎样,理解理论是基础,但如果真想上手,那就要看运气和经验了。
可以这么说,所有步骤看似清晰,但实际操作起来却并不那么容易。
않다.

数据库设计:掌握核心原则与步骤

这是一个坑。
别相信。
不要这样做。