系统架构设计师-数据库系统(1)

目录

一、数据库模式

1、集中式数据库

2、分布式数据库

二、数据库设计过程

1、E-R模型

2、概念结构设计

3、逻辑结构设计

三、关系代数

1、并交差

2、投影和选择

3、笛卡尔积

4、自然连接


一、数据库模式

1、集中式数据库

三级模式:

(1)外模式:用户模式-视图级

(2)概念模式:模式-表级

(3)内模式:存储模式-文件级

两级映射:

(1)外模式-概念模式映射:提高数据逻辑独立性

(2)概念模式-内模式映射:提供数据物理独立性

2、分布式数据库

(1)数据独立性:除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。

(2)集中与自治共享结合的控制结构:各局部的DBMS可以独立地管理局部数据库,具有自治功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。

(3)适当增加数据冗余度:在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性)。

(4)全局的一致性、可串行性和可恢复性:可串行性指的是并行结果与某个串行序列结果一致。

分布透明性

(1)分片透明性:分不分片,用户感受不到(不关心用户如何分布存储)。

分片模式分:

· 水平分片:按记录分

· 垂直分片:按字段分

**·**混合分片

(2)位置透明性:数据存放在哪里,用户不用管(用户无需知道数据存放的物理位置)。

(3)复制透明:不关心节点的复制情况。

(4)局部数据模型透明性(逻辑透明):用户或应用程序无需知道局部场地使用的哪种数据模型。

两阶段提交协议2PC

(1)2PC事物提交两个阶段

表决阶段,目的是形成一个共同决定

执行阶段,目的是实现这个协调者的决定

(2)两条全局提交规则

只要有一个参与者撤销事务,协调者就必须做出全局撤销决定

只要所有参与者都同意提交事务,协调者才能作出全局提交决定

二、数据库设计过程

设计过程四步骤

(1)需求分析

产出数据流图、数据字典和需求说明书

(2)概念结构设计

产出E-R图

(3)逻辑结构设计

产出关系模式,也就是二维表

(4)物理设计

1、E-R模型

2、概念结构设计

集成的方法

(1)多个局部E-R图一次集成。

(2)逐步集成,用累加的方式一次集成两个局部E-R。

集成产生的冲突及解决办法

(1)属性冲突:包括属性域冲突和属性取值冲突。(同一对象

(2)命名冲突:包括同名异义和异名同义。(同一对象

(3)结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

3、逻辑结构设计

【实体完整性约束】主键,唯一且非空。

【参照完整性约束】外键,可以为空,否则就是其他的主键为外键。

【用户自定义完整性约束】

【触发器】对某个变化的数据,可以是表、字段等建立监听,一旦数据发生变化,做相应操作,可以做数据同步。可以解决复杂的数据一致性问题,安全性不是很强。

【简单属性】不可再分的属性

【复合属性】可再分的属性

【派生属性】例:可以通过身份证号推导出具体年龄,那年龄就是身份证号的派生属性

三、关系代数

1、并交差

2、投影和选择

3、笛卡尔积

属性列数是二者只和,元组行数是二者乘积。

4、自然连接

答案:A

相关推荐
小智老师PMP2 小时前
2026PMP第八版新纲深度解读|从流程管控到价值交付,核心考点全迭代
人工智能·职场和发展·软件工程·制造·敏捷流程
奔跑吧树袋熊7 小时前
多租户隔离该做到哪一层:从连接池到 ORM 的取舍
开发语言·数据库·oracle·系统架构
艺杯羹8 小时前
AI编程时代软件工程怎么学:从底层思维认知到驱动智能体的架构跃迁
java·人工智能·ai·架构·软件工程·ai编程
m0_547486668 小时前
《大数据应用软件工程》全套PPT课件2026
大数据·软件工程
阡陌数智9 小时前
LiteLLM 开源网关实践:能力边界与生产环境改造要点
大数据·人工智能·开源·prompt·软件工程
励志不掉头发的内向程序员9 小时前
【LibreCAD 2D架构】从 addHistory 到 RS_UndoCycle:LibreCAD 里的两套 History 与撤销机制
开发语言·c++·qt·学习·系统架构
XiaoZhenHua9810 小时前
C#工业机器视觉软件架构设计:从能运行的Demo到能够稳定跑产线的软件
计算机视觉·系统架构·自动化
XiaoZhenHua9810 小时前
C# WinForms + 西门子S7 + SQLite + EPPlus生产数据采集系统架构设计
系统架构·sqlite·c#
粉色大象11 小时前
handdrawn‑architecture‑video:开源SVG架构图转手绘4K动画视频|本地AI Agent Skill
人工智能·ai·ai作画·系统架构·开源·aigc·音视频
建筑工程企业管理系统13 小时前
工程计划管理软件能解决工期延误问题吗?施工节点数字化管控实操解读
大数据·软件工程·软件需求