数据库系统原理(一)数据库系统的基本概念

数据库系统原理(一)

文章目录

  • 数据库系统原理(一)
    • 数据库系统的基本概念
      • 基本信息
      • 数据抽象
      • 实例和模式
      • 物理独立性和逻辑独立性
      • 数据模型(不是很理解)
      • 数据库语言
      • 事务管理

数据库系统的基本概念

基本信息

数据库(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

事务管理组件:确保系统在出现故障(例如断电或操作系统宕机),或事务失败的情况下,数据库都能保持一致性

并发控制管理器:控制并发事务之间的交互

你可能感兴趣的:(数据库)