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

ok 您发布的数据库设计过程已完成。
您最后一次帮助同事完成项目是什么时候?他们的数据库设计停留在逻辑层面。
在将E-R图转换为关系表时,我不明白什么应该定义为主键,什么应该添加外键约束。
导致后来的数据导入变得复杂。

在看概念架构设计部分时,E-R图确实是一个很棒的工具。
2 02 3 年,他在上海从事电商项目。
当我开始绘制 E-R 图时。
与业务部门沟通非常困难。
他们总是谈论“用户订购”。
我和他们再三确认到底是用户实体下单还是用户实体下单。
我花了一段时间才弄清楚,最后的照片令人放心。
这个事件说明,需求分析阶段与客户的沟通非常重要。
如果界限不清晰,以后事情就会变得复杂。

逻辑结构设计确实是一个障碍。
您谈到了将 E-R 图转换为关系图。
它包括范式等等,而且必须考虑BCNF和3 NF。
在这个系统中我记得上次工作时,数据分析师要求所有字段都设置为非暴力限制。
结果开发方辩称,每次插入数据时,都要先修复无用的值。
最后,我们将所有重要的空隙字段设置为允许空隙的妥协方案。
这个事件说明设计必须考虑很多方面,不能假设是正确的。

物理设计也很有趣。
指定存储路径;他描述了空间的分配和建筑指标的定义。
他们的数据库速度快吗?无直接影响。
我在深圳的一家金融公司实习。
他们的数据库索引策略非常好,并且针对查询速度和内存读写进行了微调。
在他们的物理设计中,我后来了解到他们精确地根据大多数业务查询和SQL语句构建了索引,并且效果是立竿见影的。

数据库的实施和维护;这两个层次实际上与具体的DBMS密切相关。
不同的公司有不同的技术选择。
例如,Oracle用户不能使用MySQL。
我有一个朋友,从事数据库工作。
每当项目发生变化时;他将不得不再次学习 SQL 语法。
一些 DBMS 对于编写存储过程非常固执。
在维护阶段,必须通过监控和调整来解决索引失效、统计数据不准确等持续性错误。

无论如何,当你学习这个数据库设计过程时;了解每个步骤的作用非常重要。
前四个步骤是澄清概念,最后两个步骤与实际的 DBMS 实现相关。
整个过程就是反复试验。
这是不断尝试和犯错的过程,没有什么是一朝一夕就能实现的。
您还有什么想知道的吗?我在这里遇到了很多实际问题。

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

上周我给大家讲了数据库设计的六个步骤。

我朋友2 02 3 年的项目就是遵循这个流程的。

1 .需求分析阶段。

这是最重要的事情。
你需要找出用户想要什么。

例如,采访三个部门的人。

2 02 3 年 5 月,他们收到了 2 0 项索赔。

排序后,写一个文档说明要存储什么数据、要验证什么以及如何验证。

有自上而下的方法和自下而上的方法。

他们采用自上而下的方法,首先集成系统功能,然后细化数据需求。

2 概念结构的设计阶段。

将需求转换为 ER 图。

例如,用户想要查看订单和客户信息。

轻松绘制 ER 图。
订单是实体,客户是实体。

订单和客户之间是一对多的关系。

使用矩形框来表示实体,列出属性。

关系由菱形框表示。

3 逻辑结构的设计阶段。

将 ER 图转换为表格。

订单表,客户表。

订单表包含订单号的主键。

在客户表中有一个客户编号的主键。

订单表中有一个客户编号的外键。

关系模型设计好后,需要进行标准化。

您已将一个表拆分为三个表以减少冗余。

4 物理结构设计阶段。

选择存储方式和索引。

例如使用B树索引。

您已决定使用 SSD 硬盘。

设计索引时,请考虑具有许多查询的字段。

5 数据库实施阶段。

在 DBMS 上实现。

创建数据库和表。

例如使用SQL语句创建表。

加载数据并编写应用程序。

测试功能并执行性能。

你花了两天时间调试。

6 运维阶段。

监控数据库状态。

例如CPU利用率。

定期备份。

处理错误。

例如2 02 3 年1 0月发生一次停电,
花了半个小时才恢复数据。

算了。

数据库设计的四个阶段

结论: 1 .需求分析:找出用户需要什么数据、功能和性能。
2 、概念结构设计:用E-R图来绘制。
3 、逻辑结构设计:E-R图转化为表格。
4 . 物理设计:选择存储结构和路径。
5 、数据库实现:编程、测试、试运行。
6 、运维:系统的运行和数据库的日常维护。

特点: 1 、数据共享:用户可以一起使用,使用各种接口。
2 、减少冗余:避免重复数据,保持一致性。
3 、数据独立性:逻辑结构和物理结构互不影响。
4 、集中控制:数据集中管理,模型代表组织关系。

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

说白了,数据库设计其实很简单。
一般分为需求分析、结构设计、数据库实现、数据库运维四个阶段。

我们先来说最重要的一点,需求分析。
我们去年跑的项目规模大约是3 000人。
我们通过访谈、问卷、会议等方式收集系统用户需求,包括数据需求、处理需求、安全需求等。
需求分析的结果就是需求说明书,形成了后续设计的基础。

还有一点就是结构设计。
该阶段包括概念设计、逻辑设计和物理设计。
概念设计的目标是产生一个反映所有用户信息需求的总体概念数据库结构。
实体关系(E-R)图通常用于描述数据实体及其关系。
逻辑设计包括将E-R图转换为特定DBMS支持的数据模型,例如关系模型。
物理设计包括选择最适合您的应用程序环境的物理存储结构以及优化查询性能和存储效率。

我一开始以为结构设计是简单的转换,后来发现是错误的。
它还包括许多细节,例如索引、分区等。

数据库实现如下。
这一阶段的主要任务是在真实的计算机系统中建立数据库应用系统。
例如,使用MySQL、Oracle等DBMS创建数据库结构和表,编写数据加载脚本,开发应用程序接口,实现数据操作功能,最后测试数据库功能以确保其符合要求的规范。

最后是数据库的运维。
这个阶段需要持续的备份和恢复、安全和完整性检查、性能监控和调整、数据库重组等。
说实话,这很混乱。
很多人不注意这一点,但我认为值得一试,因为良好的维护可以大大提高数据库的稳定性和效率。

等一下,还有一件事。
在数据库设计过程中,很容易忽视数据一致性和并发控制相关的问题。
这是一个很大的陷阱,所以一定要注意。