数据库逻辑设计和物理设计包含哪些内容

需求分析首先找出用户想要什么。
我上周刚治疗过一个。
客户想要一份报告,并且需要实时报告,但这是不可能的。

概念设计图的E-R图。
说白了就是画一张表关系图。
谁与谁有关系,简单明了。

逻辑设计和表结构。
基表是存储数据的主表,视图是给用户看的,不要搞混了。

物理设计决定存储方式。
索引可以加快查询速度,但不要乱加。
添加太多会减慢速度。

系统实现首先安装数据。
我正在做的项目数据量有上亿,所以需要批量安装,以免系统崩溃。

长期运行维护。
说实话,系统一旦上线,总会出现错误,所以得有人盯着。

数据备份怎么样?你自己看看吧。

关系数据库设计的概念模型、逻辑模型和物理模型

说实话,当我第一次接触概念模型、逻辑模型和物理模型的时候,我脑子里天旋地转,感觉就像在读一本天书。
后来跟着师傅做了一个项目,一步步拆解后才慢慢理解。
这三个模型实际上并不是孤立的,它们更像是一场接力赛,一个阶段为下一阶段铺平道路。

首先我们来谈谈概念模型。
说白了,这就是画一张ER图,拿给老板看。
当我给甲方搭建ERP系统时,我的老板是做销售的,对数据库一窍不通。
我将公司的业务划分为“客户”、“产品”和“订单”等方框,然后用箭头线将它们连接起来以表示关系。
最重要的是,这时候你不需要关心客户ID是数字还是字符串以及地址中存储了多少位数字。
只要老板点头说“是的,是的,这就是业务流程”,那部分就结束了。
有趣的是,我的一位客户第一次画 ER 图,将“库存”作为一个整体绘制出来,并问我是否应该包括库存周转率。
我当场满头大汗,赶紧纠正他说这是身体细节。
我以前从未这样做过,但我记得公司的业务分析师通常在 2 008 年左右这样做。

继续讨论逻辑模型。
这就是操纵开始的时候。
我有一个项目想要转向财务,他们特别强调数据一致性。
我将概念模型中的框转换为表格。
例如,“客户表”包含“客户ID(主键)”和“客户名称(字段)”。
最大的问题是建立关系,外键设计被反复使用。
当时甲方财务总监半夜给我打电话说:“如果客户名字变了,你们订单表里的客户ID会变吗?”当时我不太明白,后来才知道他们用的是引用完整性约束。
我记得2 01 0年金融危机之前的数据,当时很多银行系统都陷入了这种境地。

最后是物理模型。
这是真刀真枪的战场。
我正在为电信运营商构建一个系统,数据库直接连接到Oracle RAC集群。
这时候我才开始思考B树索引和分区表。
我还清楚地记得一个案例。
为了降低成本,我将一个大表分成每月分区。
结果运维代表半夜给我打电话,说查询某个报表很慢。
经过一番查找,我发现它跨越了2 00多个分区。
我自己没有运行过这个,但我记得2 02 0年很多云服务提供商开始推广自动分区。
最离谱的是,有客户把触发器写成SQL注入手势,当时脸就绿了。

回想起来,这三个模型就像做饭一样。
概念模型是菜单,逻辑模型是食物准备过程,物理模型是热量控制。
我有一个朋友创办了一家 SaaS 公司,这使逻辑模型过于复杂。
结果,顾客用了这张卡,立刻就被骗了。
所以我记得数据是2 02 1 年的一波独角兽破产潮,很多都是因为数据库设计没有走对方向。
我自己没有这样做过,但我建议你检查一下。