什么是数据库管理系统Database-Mangement System, DBMS?
互相关联的数据集合+访问数据的程序
什么是数据库Database?
数据库管理系统中相互关联的数据集合
数据库管理系统的目标?
方便高效地存取
1.2 数据库系统的目标
什么是文件处理系统file-processing system?
传统的文件管理系统管理永久的文件记录
文件处理系统组织信息的弊端/数据库的设计也可能出现一下文件
- 数据冗余和不一致data redundancy and inconsistency
相同信息在不同位置/文件中重复存储导致冗余; 同一数据的不同副本不一致
- 数据访问困难difficulty in accessing data
没有相应的应用程序去访问该数据
- 数据孤立 data isolation
数据分散在不同文件中, 文件有不同格式, 难以编写应用程序检索适当数据
- 完整性问题 integrity problem
存储数据的值必须满足某些一致性约束(比如是整数/正数)
- 原子性问题 atomicity problem
故障发生后难以恢复到之前一致的状态 除非这个发生的操作是原子性的, 要么发生要么不发生
- 并发访问异常concurrent-access anomaly
多个用户同时更新数据出现的顺序问题
1.3 数据视图
什么是数据视图? 隐藏关于数据存储和维护的细节, 提供数据的抽象视图
1.3.1 数据抽象
利用哪三个层次的抽象对用户屏蔽复杂性, 简化用户与数据库系统的交互?
从最底层到用户可视: 物理层, 逻辑层, 视图层
数据视图的物理层指什么?
最低的抽象层次. 描述数据存储在什么硬件上, 使用什么样的底层数据结构
数据视图的逻辑层指什么?
描述数据库中数据间的组织关系, 通过少量的结构描述整个数据库. 隐藏物理层的复杂结构. 数据库管理员使用逻辑层
数据视图中的视图层指什么? 用户与系统的交互只访问数据库的一部分, 其他忽略
1.3.2 实例和模式
什么是实例instance?
特定时刻存储在数据库中信息的集合叫做数据的一个实例
什么是模式schema
数据库的总体设计
数据库系统可分为哪几种模式?
根据之前的抽象层次划分, 物理模式-物理层, 逻辑模式-逻辑层, 子模式-视图层
什么是物理数据独立性 physical data independence
应用程序不依赖于物理模式, 物理模式改变了程序也不用重写
1.3.3数据模型
数据库结构的基础是什么?
数据模型data model
什么是数据模型?
描述数据, 数据联系, 数据语义, 数据一致性约束的概念工具
数据模型提供了什么?
提供了一种方法来表述物理,逻辑,视图层的数据库设计
数据模型有哪几种类型
关系模型, 实体联系, 基于对象 半结构化
什么是关系模型relational model?
用表的集合来表示数据和数据间的联系, 每个表有多个列, 每列的列名唯一
什么是实体-联系模型entity-relationship model? 现实世界由 作为实体的基本对象+对象间的联系构成, 实体是事件/物体可与其他对象区别开
什么是基于对象的数据模型object-based data model?
可以看作ER模型增加了封装, 方法,对象标识等的扩展
什么是半结构化数据模型semistructured data model? 允许相同类型的数据项含有不同属性集的数据定义, 比如XML
上面这些概念搞得差不多了得话基本就可以入门各种数据得书籍/文章了
1.6 数据库设计
数据库设计主要是数据库模式的设计
1.6.1设计过程
- 用户数据需求文档
- 选择数据模型, 将需求转化为概念, 描述数据以及它们之间的关系 - 概念设计
该阶段还决定了数据库中的属性, 以及如何组织属性到各个表 - 逻辑设计阶段:将概念模式映射到数据库系统实现的数据模型上, 比如Mysql的关系数据库
- 物理设计阶段:文件组织以及内部存储结构
1.6.3 实体-联系模型ER
数据库如何描述实体? 通过属性集attribute
数据库如何描述实体之间的关联? 联系relationship
什么叫联系集合relationship set? 同类型的所有联系的集合
什么是实体集合? 同类型的实体
什么是映射基数mapping cardinality? 某个联系集合能与一实体进行关联的实体的数目
1.6.4规范化
什么是规范化? 设计关系型数据时用到的一种方法
规范化的目的是? 使信息不冗余, 易检索
如何规范化? 使用函数依赖设计适当范式的模式
1.7 数据存储与查询
1.7.1 存储管理器
什么是存储管理器? 数据库系统中负责数据库中低层数据与应用程序之间+向系统提交查询的接口, 总得来说就是数据得存储,检索,更新
包含哪些子部件? 权限,完整性管理器,事务管理器,文件管理器, 缓冲区管理器, 数据文件 数据字典 索引
1.8 事务管理
什么是事务transaction? 完成单一逻辑功能的一系列操作的集合
事务的三性是什么? 原子性, 一致性,持久性
什么是原子性? 操作要完成要么不完成, 不可分割
什么是一致性? 数据比如转账,前后余额总数不变
什么是持久性? 即使系统故障, 值也要保持操作成功后的新值
事务管理由什么来执行? 事务管理器
事务管理器由哪些部分组成? 恢复管理器 并发控制器
什么是恢复管理器? 为了保证 原子性 数据库恢复到失败事务开始前的状态
什么是并发控制管理器? 控制并发事务之间的相互作用, 保持数据库的 一致性
1.9数据库体系结构
通常面对应用数据库到具体程序时会用到 通常是两层/三层体系结构
并发控制器
什么是恢复管理器? 为了保证 原子性 数据库恢复到失败事务开始前的状态
什么是并发控制管理器? 控制并发事务之间的相互作用, 保持数据库的 一致性
1.9数据库体系结构
通常面对应用数据库到具体程序时会用到 通常是两层/三层体系结构 [外链图片转存中…(img-A1GZNKym-1634735913408)]
|