数据库系统相关概念
数据库优点
-
数据持久性(Data Persistence): 数据库系统可以将数据永久存储在磁盘上,即使系统关闭或断电,数据也不会丢失。
-
数据共享和多用户访问(Data Sharing and Multi-User Access): 多个用户可以同时访问数据库,而不会发生冲突,这有助于团队协作和数据共享。
-
数据一致性(Data Consistency): 数据库系统通过事务(transaction)来确保数据的一致性,事务要么全部执行成功,要么全部失败,这有助于维护数据的准确性。
-
数据安全性(Data Security): 数据库系统提供了访问控制和权限管理机制,可以限制用户对数据的访问,保护数据的安全性和机密性。
-
数据完整性(Data Integrity): 数据库系统支持数据完整性约束,如主键、外键和唯一性约束,确保数据的完整性。
-
数据查询和检索(Data Query and Retrieval): 数据库系统提供了强大的查询语言(如SQL),使用户能够轻松地检索和分析数据。
-
数据备份和恢复(Data Backup and Recovery): 数据库系统允许定期备份数据,并在发生故障或数据丢失时进行恢复,以保护数据免受损失。
-
高性能和优化(High Performance and Optimization): 数据库系统可以优化数据存储和查询,以提高性能和响应时间。
数据库系统特点
- 数据共享
- 降低数据的冗余度,节省存储空间
- 避免数据间的不一致性
- 使系统易于扩充
- 数据结构化
- 整体数据的结构化是数据库的主要特征
- 数据的结构用数据模型描述,无需程序定义和解释
- 数据可以变长
- 数据的最小存取单位是数据项
- 数据独立性
- 物理独立性
- 应用程序与存储在磁盘上的数据相互独立
- 数据的物理存储改变了,应用程序不用改变
- 逻辑独立性
- 应用程序与数据库的逻辑结构是相互独立
- 数据的逻辑结构改变了,用户程序可以不变
- 物理独立性
DBMS
对数据的控制功能
- 数据的安全性 (
security
) 保护- 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏
- 数据的完整性 (
integrity
) 检查- 将数据控制在有效范围,或保证数据之间满足一定关系
- 并发 (
concurrency
) 控制- 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果
- 数据库恢复 (
recovery
)
三层抽象
物理层:描述一条记录如何存储在磁盘上
- 数据物理结构和存储方式的描述
- 数据在数据库内部的表示方式
逻辑层:描述数据如何存储在数据库中,以及数据之间的关系
- 数据库中全体数据的逻辑结构和特征的描述,定义
- 数据的逻辑结构
- 数据之间的联想
- 数据有关安全性、完整性要求
视图层:隐含了底层的数据类型细节,或者出于安全考虑隐含信息
- 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
- 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
模式
数据的结构
模式(Schema
)
- 对数据库中数据所进行的一种结构性的描述
- 所观察到数据的结构信息
视图(View
)/数据(Data
)
- 某一种表现形式下表现出来的数据库中的数据
三层模式,两层映射
V - L 映射,逻辑独立性
L - P 映射,物理独立性
数据模型
- 用来抽象、表示和处理现实世界中的数据和信息
- 通俗地讲数据模型就是对现实世界的模拟
- 描述以下概念的工具集
- 数据
- 数据关系
- 数据语义
- 数据约束
数据模型分成两个不同的层次
- 概念模型:也称信息模型,是按用户的观点来对数据和信息建模
- 数据模型:主要包括网状模型、层次模型、关系模型等, 是按计算机系统的观点对数据建模
客观对象抽象的过程
- 现实世界中的客观对象抽象为概念模型
- 把概念模型转换为
DBMS
支持的数据模型
模型和模式
- 模型是对模式结构的抽象
- 模式是对数据结构的抽象
模型三要素
- 数据结构
- 数据操作
- 数据的约束条件
常见数据模型
- 三种经典模型
- 关系模型 (
Relational model
) - 层次模型 (
Hierarchical model
) - 网状模型 (
Network model
)
- 关系模型 (
- 实体联系模型 (
Entity-Relationship data model
) - 基于面向对象的模型 (
Object-based data model
)- 面向对象 (
Object-oriented
) - 对象 - 关系 (
Object-relational
)
- 面向对象 (
- 半结构化数据模型 (
Semistructured data model
)
数据库系统功能
查询语句
- 用于定义和操作数据库系统
- 数据定义语言(
DDL
: Data Definition Language )- 定义数据库模式
- DDL编译器产生数据字典(表)
- 数据字典包含了元数据(data about data)
- 数据库模式
- 数据存储和定义
- 定义存储结构和访问方式
- 一致性约束
- 域约束
- 参照完整性
- 授权
- 数据操作语言(
DML
:Data Manipulation Language)- 查询和更新数据库中的数据 (查询、插入、删除、修改)
- 分为过程式和声明式
DDL
和DML
通常合成为一个语言,如SQL
- 数据定义语言(
存储管理器
- 提供应用和查询与底层数据库存储的接口
主要任务
- 与文件管理器交互
- 数据库中数据的存储、检索和更新
事务管理系统
事务:数据库应用中完成单一逻辑任务的一组操作。
事务管理系统:确保数据库出现故障时(如系统故障、 事务执行失败)能够恢复到一致(正确)状态。
并发管理:控制并发事务的执行,确保数据库的一致性
数据库用户
- 专业用户
- 高级用户
- 数据库开发人员
- 普通用户