数据库设计的四个阶段

说白了,数据库设计是一个循序渐进的过程,其实也很简单。
我们先来说说最重要的事情。
用户需要一定程度的分析,这是整个设计的起点。
去年我们做的项目的需求调研花了大约一个月的时间,我们和客户进行了多次交谈,才能清楚地了解他们的需求。
目标是确保数据库设计确实满足他们的需求。

接下来是概念设计阶段。
这个水平是相当惊人的。
它创建独立于特定数据库管理系统的概念数据模型E-R图。
去年我们花了两周时间才画出项目的E-R图,反复调整,直到大家都觉得没有问题为止。
目的是为后续的逻辑设计奠定基础。

最初我认为逻辑模型是概念模型直接转换为数据库结构,但后来我意识到这是错误的。
逻辑设计最大限度地减少数据重复;消除异常;如何提高性能和稳定性也是应该考虑的。
例如,我们是外键约束的定义和索引的创建仅用于此目的。

一个非常重要的细节是物理设计水平。
这一步是将逻辑模型转换成计算机中具体的实现程序。
去年我们项目的物理设计阶段花了两个月的时间。
存储结构;必须确定索引策略和数据分布策略,还必须进行性能优化和测试。
目标是让数据库在真实环境中高效运行。

说实话,很多人并不关心这个过程,认为这只是绘图和编码的问题。
但事实上,每个阶段都必须以自己的方式认真完成。
我认为值得一试,看看是否可以提高数据库设计的质量和性能。
等等还有一件事。
这个设计过程需要迭代,不可能一蹴而就。
所以耐心和谨慎是关键。

数据库怎么设计啊,没有思路

2 02 3 年,我的一个朋友在做一个数据库项目。
他说,第一步是需求分析,就是弄清楚用户需要什么,比如信息的类型、范围和数量。
然后是概念设计,就是建立抽象的概念数据模型,比如在E-R中画一个工厂图或者业务图。
接下来是逻辑模型,它将概念模型转换为数据库可以理解的逻辑模型。
最后一步是物理设计,选择合适的存储结构和访问方法。
他表示,这个过程相当复杂,需要多次迭代。
对了,他还提到了人工试错法、调节法、新奥尔良法。
这部分我不太清楚,但感觉规范方法更好。
算了,他现在还忙呢。

数据库逻辑设计的主要任务是什么?

啊?您问我什么是逻辑数据库设计?好吧,我会和你谈谈。

上次项目要求我改数据库。
之前的计划实在是太糟糕了,以至于导致了本体后续的实施过程中出现了各种陷阱。
因此,设计步骤的逻辑非常关键,直接决定了后期是否能够很好地运行。

你看,主要任务就是将之前实现的各种E-R图、概念模型转换成特定数据库系统(如MySQL、Oracle等)可以识别的形式。
例如,将对象转换为表,将关系转换为外键等。
这一步最重要的是不仅要保持不变,而且要符合DBMS的指令。
2 02 3 年在上海的那个项目。
当时我没有注意到MySQL和Oracle在失败过程中有不同的行为,我纠结了很长时间。
因此,这取决于 DBMS 支持什么。
不同系统之间存在很大差异。
有些人承担这项责任,有些人则不承担;给定的类别不对应。
例如,“日期”属性位于您的帐户模型中。
具体类型必须根据DBMS是否有DATE或TIMESTAMP来转换为,或者可以转换为VARCHAR来存储字符串。
这一步常常让人生气,尤其是那些习惯了Oracle和SQL Server语法糟糕到可以打架的人。

那么该模式就是子模式。
这是同一个大数据库,但不同部门或用户的看法不同。
比如销售部门只看销售数据,财务部门只看财务数据。
这需要他使用反馈或其他方法以逻辑方式解决问题。
我在广州一家公司上班的时候,老板觉得他只看几张桌子,因为他每天都小心翼翼,不开大桌子胡乱看。

最后一步就是它本身。
检查原始转换模型,看看是否有重复或更好的模型。
比如消除杂乱,设计索引等等。
我记得之前掉了一个大坑,就是没有处理好很多关系,导致后面的查询非常慢,很多时候都卡在数据库里了。
后来的表被修复并添加了索引。

所以你看,将想法转化为运行代码是一个合乎逻辑的决定,但你不能为了快速运行而完全忽略结构。
你必须在两者之间找到平衡。
输出是该数据库逻辑的蓝图。

您正在寻找具体步骤吗?一般是将概念模型转换为通用模型(如关系模型),然后转换为目标DBMS模型,最后进行标准化和优化。
反正你可以看看,具体问题具体分析。
我还在想这个。