数据库系统原理(一)
文章目录
- 数据库系统原理(一)
- 数据库系统的基本概念
- 基本信息
- 数据抽象
- 实例和模式
- 物理独立性和逻辑独立性
- 数据模型(不是很理解)
- 数据库语言
- 事务管理
数据库系统的基本概念
基本信息
数据库(DB):长期存储在计算机内,有组织的,可共享的数据集合。
数据管理系统(DBMS):数据库+一组用以访问,更新和管理这些数据的程序。
DBMS的主要特性:
数据访问的高效和可扩展性
缩短应用开发时间
数据独立性(物理数据独立性/逻辑数据独立性)
数据完整性和安全性
并发访问和鲁棒性(恢复)
鲁棒性:是Robust的音译,也就是健壮性,指计算机在异常和危险情况下的系统生存能力
数据抽象
物理层:描述数据实际是怎样存储的。
逻辑层:描述数据库中存储什么数据及这些数据间存在什么关系
-如:
type instructor = record
ID:char(5);
name:char(20);
dept_name:cahr(20);
salary:numeric(8,2);
end;
视图层:应用程序能够隐藏数据类型的详细信息。视图也可以出于安全目的隐藏数据信息
实例和模式
类型—模式,变量-----实例
模式(Schema):数据库的总体设计
- 类似于程序中变量的类型信息
物理模式:在物理层描述数据库的设计
逻辑模式:在逻辑层描述数据库的设计
实例(Instance):特定时刻存储在数据库中的信息的集合
类似于程序中变量的值
物理独立性和逻辑独立性
修改一层的结构定义不影响更高层的结构定义
物理数据独立性:修改物理结构而不需要改变逻辑结构的能力
- 应用程序依赖逻辑结构
- 应用程序独立于数据的结构和存储
- 这是使用DBMS的最大好处
逻辑数据结构性:数据逻辑结构的改变不影响应用程序
逻辑数据独立性一般难以实现,因为应用程序严重依赖于数据的逻辑结构
数据模型(不是很理解)
数据模型是一个概念工具的集合,用于描述:
- 数据结构
- 数据关系
- 数据语义
- 数据约束
数据抽象的不同层次需要不同的数据模型来描述:
- 实体-关系模型
- 关系模型
- 其他模型:
面向对象模型
半结构化数据模型(xml)
早期模型
数据库语言
数据库语言:
Data Definition Language(DDL,数据定义语言)
Data Manipulation Language(DML,数据操纵语言)
Data Control Language(DCL,数据控制语言)
数据定义语言(DDL)
- 指定一个数据库模式作为一组关系模式的定义
- 指定存储结构,访问方法和一致性约定
- DDL语据经过编译,得到一组存储在一个特殊文件中的表,特殊文件即数据字典(data dictionary),其中包含元数据(metadata)
- 例如,CRATE TABLE account()
数据操纵语言(DML)
- 从数据库中检索数据
- 插入/删除/更新数据
- DML也称为查询语据
事务管理
并发的使用很重要,但也会带来一些问题
事务:是在数据库应用中完成单一逻辑功能的操作的集合
事务的要求:Atomicity(原子性),Consistence(一致性),Isolation(隔离性),Durability(持久性)/ACID
事务管理组件:确保系统在出现故障(例如断电或操作系统宕机),或事务失败的情况下,数据库都能保持一致性
并发控制管理器:控制并发事务之间的交互