数据库系统介绍

数据库系统概述

数据库的基本概念

  • 数据(Data)——描述事物的符号记录
  • 数据库(Database, DB)——
  • 数据库管理系统(Database Management System, DBMS)——
  • 数据库系统(Database System, DBS)——
  1. 数据
    语义:数据于其语义是不可分的(比如”性别男,”男”和”性别”是不可分的)
    解释:针对数据的语义用自然语言描述(某人的性别是男性)
    结构:”记录”是计算机存储数据的一种格式/方法
  2. 数据库
    定义:数据库是长期储存在计算机内、有组织的、可共享大量数据的集合
    用处:收集并抽取出一个应用所需要的大量有用数据,将其保存,以供京一部加工处理
    特征:按一定数据模型组织、描述、储存;可为各种用户共享、冗余度小、易扩展数据独立性高
  3. 数据库管理系统
    定义:位于应用程序与操作系统之间的一层数据管理软件。是大型复杂的软件系统
    用途:科学地组值和存储数据、高效地获取和维护数据。
    功能:数据定义;数据管理;数据操纵;数据库管理等。
  4. 数据库系统
    定义:在计算机系统中引入数据库后的系统构成(常常将其简称为数据库)
    构成:数据库、数据库管理系统、应用程序、数据库管理员

数据管理技术的产生和发展

什么是数据管理?

  • 对数据进行分类、组织、编码、存储、检索、维护。
  • 数据处理和数据分析的中心问题。

数据管理技术的发展过程:

  • 人工管理阶段(20世纪50年代之前)
  • 文件系统阶段(20世纪50年代末——60年代中)
  • 数据库系统阶段(20世纪60年代末——现在)

数据库系统的特点

  • 数据结构化
  • 数据的共享性高,冗余度滴且易扩充
  • 数据独立性高
  • 数据由数据库管理系统统一管理和控制

数据库管理系统提供的数据控制功能

1.数据的安全性保护(Security)
2.数据的完整性检查(Integrity)
3.并发控制(Concurrency Control)
4.数据库恢复(Recovery)

数据模型

数据模型是对现实世界数据特征的抽象——现实世界的模拟。

数据模型应满足三方面要求:

  1. 能比较真实的模拟现实世界;
  2. 容易为人所理解;
  3. 便于在计算机上实现。

数据模型是数据库系统的核心和基础。

数据模型的两类(两个层次)

  1. 概念模型/信息模型
    按照用户的观点来对数据的信息建模,用于数据库设计。
  2. 逻辑模型和物理模型
    逻辑模型:按照计算机系统的观点对数据建模,用于DBMS实现。
    物理模型:描述数据在系统内(磁盘上)的表示方式和存取方法。

先将现实世界抽象为概念模型,再将概念模型转换为逻辑模型,再把逻辑模型转换为物理模型。
第一步由数据库设计人员完成,第二步设计人员借助工具完成,第三步由DBMS自动完成。

概念模型
概念模型用于信息世界的建模,是现实世界到机器的中间层次,也是数据库设计人员和用户之间交流的语言。

基本概念:

  1. 实体(Entity)(用正方形画)
    可关存在并可以相互区别的事务。
  2. 属性(Attribute)(用椭圆画)
    实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画。
  3. 键(key)
    唯一标识实体的属性集称为码。
  4. 实体型(Entity type)
    实体名及其属性名集合来抽象和刻画同类实体称为实体型。
  5. 实体集(Entity Set)
    同一类型实体的集合称为实体集。
  6. 联系(Relationship)(用菱形画,直线和实体相连)
    事物内部以及事物之间的联系被反应为实体(型)的联系。
    实体内部的联系:各个属性之间的联系。
    实体之间的联系:不同实体之间的联系。
    联系的类型:一对一、一对多、多对多。

概念模型的表示方法(E-R图):
avatar

数据模型的组成

  1. 数据结构——描述系统的静态特性
  2. 数据操作——描述系统的动态特性
  3. 完整性约束

数据结构: 描述对象之间的关系,描述数据库的组成对象。
数据操作: 对数据库中各种对象的实例允许指向的操作的集合。
完整性约束: 一种完整性规则的集合(数据及其联系所具有的制约和依存规则)

数据系统的结构

从数据库应用开发人员的角度看
数据库采用三级模式结构,是数据库系统内部的系统结构。

从最终用户角度看

  1. 单用户结构
  2. 主从式结构
  3. 分布式结构
  4. 客户-服务器

数据库系统的三级模式结构

模式: 对数据库逻辑结构和特征的描述。是型的描述,不涉及具体值。模式是相对稳定的。
实例: 数据库某一时刻的状态——模式的一个具体值。
(比如说学生选课情况的模式,每一年的选课情况是实例。)

三级模式包括:外模式、模式、内模式。其中也包括外模式——模式映射、模式——内模式映射。
avatar

模式(逻辑模式)

  • 数据库中全体数据的逻辑结构和特征的描述
  • 所有用户的公共数据视图

一般来说,一个应用的数据库有一个模式。
模式是数据库系统模式结构的中心,与数据的无聊存储细节和硬件无关,与具体应用和开发工具无关。
(用SQL语言定义)

外模式(用户模式)

  • 数据库用户使用的局部数据逻辑结构和特征描述
  • 数据库用户的数据视图,是与某一应用有关的数据逻辑表示。

外模式与模式: 外模式通常是模式的子集,一个模式可以由多个外模式。其反应用户的不同需求。
外模式与应用: 一个外模式可以为多个应用使用,一个应用使用一个外模式。

(读出来的数据)

内模式(存储模式)

  • 数据物理结构和存储方式的描述
  • 数据再数据库内的表示方式

一个数据库只有一个内模式。
(存在系统里的数据结构)

数据库的二级映像

三级模式是对数据的三个抽象级别。
二级映像是三个抽象层次的联系和转换。

外模式——模式映像
对于每个外模式,有一个外模式——模式的映像。
映像定义通常包含在各外模式的描述中。

保证数据的逻辑独立性:

  1. 当模式改变时,数据库管理员对外模式/模式映像做出改变,使得外模式不变。
  2. 应用程序是依据外模式编写的,应用程序不必修改,保证了数据的逻辑独立性。

模式——内模式映像:
只有一个模式、一个内模式,所以只有一个模式/内模式映像。
定义了数据全局逻辑结构与存储结构之间的对应关系。

保证数据的物理独立性:
当数据库的存储结构变了(换了种数据结构),数据库管理员修改模式/内模式映像,使模式保持不变。

数据系统的组成

  1. 数据库
  2. 数据库管理系统
  3. 应用程序
  4. 数据库管理员

从硬件平台及数据库的角度:

  1. 足够大的内存
  2. 足够大的磁盘或磁盘阵列等外部设备
  3. 较高的通道能力,提高数据传输率

从软件的角度:

  1. 支持数据库管理系统运行的操作系统
  2. 与数据库结构的高级语言及其编译系统
  3. 以数据库管理系统为核心的应用开发工具
  4. 以特定应用环境开发的数据库应用系统

从人员的角度:

  1. 数据库管理员
  2. 系统分析员和数据库设计人员
  3. 应用程序员
  4. 最终用户

小结

数据库的组成要素
三级模式与两级映像
逻辑独立性与物理独立性