数据库系统
- 数据库系统
- 数据库模式 ★
- 分布式数据库 ★★★
- 数据库设计阶段 ★★
- ER模型 ★
- 关系模型 ★ ★
- 结构
- 约束条件
- 完整性约束
- 关系代数 ★ ★ ★ ★
- 概述
- 自然连接
大家好呀!我是小笙,本章我主要分享系统架构设计师 - 数据库系统(1)知识,希望内容对你有所帮助!!
数据库系统
数据库模式 ★
三种模式:外模式、概念模式、内模式
关系的3种类型
- 基本关系(通常又称为基本表或基表):实际存在的表,实际存储数据的逻辑表示
- 查询表:查询结果对应的表
- 视图表:由基表或其他视图表导出的表,本身不独立存储,数据库只存放它的定义,常称为虚表
- 数据库视图,它一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据
- 视图的优点
- 视图能简化用户操作
- 视图使用户能以多种角度看待同一数据
- 视图对重构数据库提供了一定程度的逻辑独立性
- 视图可以对机密数据提供安全保护
- 物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新
分布式数据库 ★★★
- 数据独立性,除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)
- 集中与自治共享结合的控制结构,各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用
- 适当增加数据冗余度,在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性
- 全局的一致性、可串行性和可恢复性
分布式数据库管理系统 - 组成
- LDBMS
- GDBMS
- 全局数据字典
- 通信管理(CM)
分布式数据库管理系统 - 结构
- 全局控制集中的 DDBMS
- 全局控制分散的 DDBMS
- 全局控制部分分散的 DDBMS
分布透明性
- 分片透明性:是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何对用户是透明的
- 水平分片
- 垂直分片
- 混合分片
- 复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成
- 位置透明性:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用卢是透明的
- 局部数据模型透明性:是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的
例题
1、分布式数据库系统除了包含集中式数据库系统的模式结构之外,还增加了几个模式级别,其中 全局概念模式 定义分布式数据库中数据的整体逻辑结构,使得数据使用方便,如同没有分布一样
- 分片模式
- 全局外模式
- 分布模式
- 全局概念模式
2、在分布式数据库中包括分片透明、复制透明、位置透明和逻辑透明等基本概念,其中 逻辑透明 是指局部数据模型透明,即用户或应用程序无需知道局部场地使用的是哪种数据模型
- 分片透明
- 复制透明
- 位置透明
- 逻辑透明
3、分布式数据库两阶段提交协议中的两个阶段是指 表决阶段、执行阶段
- 加锁阶段、解锁阶段
- 获取阶段、运行阶段
- 表决阶段、执行阶段
- 扩展阶段、收缩阶段
数据库设计阶段 ★★
例题
1、在数据库设计的 逻辑设计 阶段进行关系规范化
- 需求分析
- 概念设计
- 逻辑设计
- 物理设计
2、在数据库设计的需求分析阶段应完成包括 数据字典和数据流图 在内的文档
- E-R图
- 关系模式
- 数据字典和数据流图
- 任务书和设计方案
ER模型 ★
实体(Entity):实体是现实世界中可区分的对象,例如人、物、事件或概念等。在数据库设计中,实体通常表示为一个表格(关系),表格中的每一行即代表一个具体的实体实例,行中的每一列对应于实体的属性
属性(Attribute):实体具有的特征或者描述,用来描述实体的各个方面。属性也可以称为字段或列,对应于数据库表中的字段。例如,一个“人”的实体可以有“姓名”、“年龄”、“性别”等属性
关系(Relationship):不同实体之间的联系或关联,用来描述实体之间的相互作用或依赖关系。关系可以是一对一、一对多或多对多的。例如,“雇员”与“部门”之间可以有“属于”关系
- 一对一(1:1)
- 一对多(1:n)
- 多对多(n:m)
关系模型 ★ ★
结构
示例:学生(学号、姓名、年龄等等)
- 目或度:关系模式中属性的个数(学号、姓名、年龄等等的个数)
- 候选键/码:唯一标识元组,且无冗余(候选键可以由多个属性组成,但是其中的属性不可以可有可无;一组关系模式中也可以有多个候选键)
- 主键/码:候选键中任选一个
- 主属性与非主属性:组成候选键的属性就是主属性,其他的就是非主属性
- 外键/码:其他关系模式里的主键
- 全码:关系模式的左右属性组合起来就是这个关系模式的候选码
约束条件
完整性约束
- 实体完整性约束:规定基本关系的主属性不能取空值
- 参照完整性约束:关系与关系间的引用,其他关系的主键或空值
- 用户自定义完整性约束:应用环境决定(用户自定义,比如工资高于xx值算高薪)
- 触发器:复杂的完整性约束(了解)
关系代数 ★ ★ ★ ★
概述
关系的本质就是二维表(属性列,元组行)
注意
- 并集合会去重
- 投影就是修改属性列个数
- 选择就是筛选出记录
自然连接
- 属性列:二者属性之和去重
- 元组行:二者同名属性列相同
性能方面考虑:自然连接优于笛卡尔积