简述数据库物理设计的主要内容。

上周有客户询问数据库管理的问题,我们就详细解释了一下。
首先,您需要决定数据存储结构,这就像为您的数据库选择合适的房子一样。
这取决于你想放什么东西,是衣服还是家具,对吧?然后设计数据访问索引和入口,就像设计家里的门窗一样,方便进出。

接下来,决定您要将数据存储在哪里,就像您决定将家具放置在哪个房间一样。
然后是与您的装修风格相对应的系统配置,您应该根据自己的需求和喜好来决定。
下一步是决定存储数据的格式,无论是电子的还是纸质的。
这也很重要。

最后,确保数据的安全性、完整性和一致性就像锁上你的家以防止小偷并确保家中的物品整洁且易于使用。
这六个步骤缺一不可,必须一一认真执行。
无论如何,这取决于你。
然后是数据库管理。
我还在想这个问题。
我们如何才能使这个过程更加高效?

概括数据库概念设计和逻辑设计阶段的任务(简述数据库逻辑设计阶段的主要步骤)

老实说,这个过程看起来很标准,当我第一次进入这个行业时,我就被告知了这一点。
但实际上,可能并没有那么清楚。
以我遇到的一个电商项目为例。
在分析需求的过程中,老板突然插入了一句“用户必须能够一键导出到Excel”。
这直接带来了数据格式的进步。
当时我很困惑。
这是功能需求还是数据需求?
在概念结构设计过程中,我们绘制了2 0多张E-R图。
当我们绘制时,我们发现部门之间的库存表实际上必须共享。
结果,图画变成了蜘蛛网。
转换逻辑结构就更麻烦了。
一个设计者颠倒了关系转换,把外键当主键,差点让整个系统崩溃。
幸运的是,我们花了整整两周的时间才正确地重建了结构。

物理设计其实很有趣。
在选择存储结构时,甲方坚持使用最便宜的选择。
结果运行三个月后,访问数据库就像按慢播放键一样慢。
我们必须添加索引,因此必须重新调整物理内存。
关于数据访问路径,我们尝试了全表扫描、B+树、哈希索引,最终发现使用分区表是最好的。
但说实话,我个人从来没有在国外跑过TB级别的数据。

实施阶段更加混乱。
在编程过程中,我注意到需求文档和E-R图不匹配。
办理入住时,办理入住的女孩表示“Excel导出功能完全无法使用”。
在测试运行过程中,用户抱怨页面呈白色。
我们连夜修改了代码,调整了数据库。
上线最后一天,项目经理差点把电脑摔坏了。

维护更是繁琐。
系统上线三个月后,就有人问:“能不能增加实时销售统计功能?”说实话,这个要求当时根本没有考虑过。
结果我们不得不重做数据模型,重建索引,又花了两周时间。
在日常维护过程中,我们发现数据库日志往往高达5 GB,而且只有半夜才能删除。
这个数据量现在想起来都让人毛骨悚然。

你看,理论上的流程很清晰,但现实中,需求会变,技术会变,人会变,每个环节都会互相影响。
这套规范更多的是指导性的,具体实施还要根据项目情况而定。
比如在设计逻辑结构的时候,我们团队有一个习惯,就是先画出最简单的表结构,然后慢慢优化。
当满足要求时。
在数据建模方面,我个人比较相信“宁多勿少”这句话。
无论如何,重建的成本总是低于无尽的麻烦。