数据库系统概念笔记

学校数据库课程是《数据库原理及应用教程》, 用的数据库是 SQL Server, 和我之前学的 MySQL 在命令行操作不太一样,但是用的 SQL 好像差不多,不过老师教的时候好像一开始是用 SQL Server Management Studio 操作,而且看了一下老师发的 PPT, 感觉和以前学的比较起来更多的是理论。

那么以往学习惯例,这种理论基础学完,就应该来篇笔记记录一下,忘了可以回来看。

名词简称

DD(Data Dictionary): 数据字典(系统目录)
DBS(DataBase System): 数据库管理系统
DBA(DataBase Administrator): 数据库管理员
DBMS(DataBase Management System): 数据库管理系统
DDL(Data Define Language): 数据定义语言
DML(Data Manipulation Language): 数据操作语言

数据库系统组成

数据库系统 (DataBase System, DBS) 由数据库、数据库用户、软件系统、硬件系统等组成,这是《数据库原理及应用教程》的区分。
根据老师的说法,不同教材对组成的说明可能都不一样,但我在网上找来找去也离不开这 4 个部分。

数据库系统的组成从外到内,首先是数据库用户。

数据库系统中有 3 类用户,分别是使用数据库的第一类用户 (End User), 开发应用的应用程序员(第二类用户,Application Programmer), 还有第三类用户 DBA
DBA 的职责主要有 6 点,总结了一下其实就是和数据库设计和管理有关的都是 DBA 的工作,但是例如软件开发这种事情应该是第二类用户的职责,而不是 DBA 的职责,而帮助应用程序员使用数据库系统就是 DBA 的职责之一。

数据库系统中的软件系统包括操作系统、DBMS、应用开发工具和应用系统等,而 DBMS 是数据库系统的核心软件,外层对数据库的各种操作请求都必须由 DBMS 完成。

软件系统下一层的硬件系统是指存储和运行数据库系统的硬件。

数据库系统的组成

三级模式结构

ANSI/SPARC 体系结构:三级抽象模式结构和二级映像功能

三级模式

三级模式结构把数据库系统内部的体系结构从逻辑上分为外模式、模式和内模式

外模式 (External Schema): 处于用户级、三级模式结构的最外层,又称为子模式 (External Schema) 或用户模式 (Subschema), 能被数据库用户看到并使用的那部分数据的逻辑结构和特征的描述,也是数据库用户的数据视图(用户视图)。外模式是逻辑模式的某一部分的抽象表示,一个数据库可以有多个外模式,不同用户对应的外模式的描述可能不同,同一外模式也可以被多个应用系统使用。

模式: 三级模式结构的中间层,处于概念级,所以也称为概念模式,是数据库全体数据的逻辑结构和特征的描述;不涉及物理存储和硬件环境,也和应用程序、开发工具、高级程序设计语言无关,内模式是整个数据库数据在逻辑上的视图,代表数据库的整体逻辑,是对现实世界的一个抽象,所以一个数据库只有一个模式。

内模式 (Internal Schema): 处于物理级,有称存储模式 (Storage Schema)物理模式 (Physical Schema), 是三级结构中的最内层;它是对数据库存储结构的描述,是数据在数据库内部的表示方式;是最靠近物理存储,和实际存储数据方式有关的一层,但是不涉及任何存储设备的特定约定。和模式一样,内模式只能由一个。

二级映像

二级映像:DBMS 提供了 外模式/模式映像 和 模式/内模式映像,来实现三个抽象层次的联系和转换。

外模式/模式映像: 连接外模式和模式,每个外模都存在一个外模式 / 模式映像,确定了数据的局部逻辑结构和全局逻辑结构的对应关系,保证了数据与程序间的逻辑独立性由于数据库可能有多个外模式,所以外模式/模式映像也可能有多个。

模式/内模式映像: 连接模式和内模式,确定了数据库的全局逻辑结构和存储结构之间的对应关系。能够保证数据库存储结构的改变能不影响数据的全局逻辑结构的变化,确保了数据独立性由于数据库中的模式和内模式只有一个,所以模式/内模式映像也是唯一的。

三级模式结构和二级映像功能

优点

使用三级模式结构和二级映像功能的优点:
1、保证数据独立性;
2、简化用户接口;
3、有利于数据共享;
4、有利于数据的安全保密。

数据库管理系统

数据库管理系统 (DBMS) 是由许多程序所组成的一个对数据进行管理的大小系统软件,用户在数据库的所有操作都是通过 DBMS 进行的。把抽象逻辑数据处理转换称计算机中的具体的物理数据的处理软件(差点没能理解这句话)。

DBMS 通常由语言编译处理程序,系统运行控制程序,系统建立、维护程序,数据字典等组成。

DBMS 有以下 6 个功能:

数据定义功能: 提供 DDL 定义数据的三级模式结构、二级映像和有关约束条件。

数据操作功能: 提供 DML 实现对数据库的基本操作,SQL 就是 DML 的一种。

数据库运行管理功能: 对数据库进行控制,通过四个方面实现:数据库的安全性控制、数据的完整性控制、多用户环境下的数据并发性控制和数据库的恢复。

数据库的建立和维护功能: 数据库的建立包括数据库的初始数据的装入与数据转换等;数据库的维护包括数据的转储、恢复、重组织与重构造、系统性能监视与分析等。

数据通信接口: 提供与系统软件系统进行通信的功能。

数据组织、存储和管理: 对数据库中需要存放的各种数据进行组织、存储、管理,以提高存储空间利用率和操作功能的执行效率。

三个世界和数据模型

三个世界分别是:现实世界、信息世界、计算机世界

信息世界有关概念:
1、实体 (Entity): 客观存在可以相互区别的事物,也可以是抽象的事件。例如一个学生、一本书、一堂课、一次比赛。
2、属性 (Attribute): 实体所具有的特性,一个实体可以由若干个属性共同刻画。例如学号、姓名、性别。
3、实体型 (Entity Type): 用实体名及其属性名集合来抽象和描述的同类实体。例如学生(学号,姓名,年龄。..)。
4、实体集 (Entity Set): 同型实体的集合称为实体集。例如所有学生、所有课程。
5、码 (Key): 能够唯一标识一个实体的属性或属性集。例如学生的学号就是学生实体的码。
6、域 (Domain): 某一属性的取值范围。例如性别的域是男或女。
7、联系 (Relationship): 分为单个实体型内部的联系和实体型之间的联系(可分为两个实体型之间、两个以上实体型间的联系)。
联系类型有一对一联系、一对多联系、多对多联系三种类型。

计算机世界是信息世界中信息的数据化,将信息用字符和数值等数据来标识,存储在计算机中并由计算机进行识别和处理。

计算机世界有关概念:
1、字段 (Field): 标记实体属性的命名单位,也称数据项。
2、记录 (Record): 字段中的有序集合,能完整描述一个实体的字段集。通常一个记录描述一个实体。
3、文件 (File): 同一类型记录的集合,用来描述实体集。
4、关键字:唯一标识文件中每个记录的字段和字段集,简称键。

3 个世界术语的对应关系:

现实世界 信息世界 计算机世界
事物总体 实体集合 文件
事物个体 实体 记录
特征 属性 字段
事物联系 实体模型 数据模型

数据库的数据是按照一定的数据模型(结构)组织起来的,数据模型有”型”和”值”两个概念。

“型”是指对某一类数据的结构和属性的说明
“值”是”型”的一个具体赋值

模式 (Schema) 是数据库中全体数据的逻辑结构和特征的描述,是型的描述,所反映的是数据的结构
实例 (Instance) 是模式的一个具体值,反映的是数据在数据库某一时刻的状态

四种数据模型与对应的数据结构:

数据模型 数据结构
层次模型 树结构
网状模型 有向图
关系模型 二维表
面向对象模型 对象和对象标识 (Object Indentifier, OID)

参考自:

《数据库原理及应用 第四版|微课版》 人民邮电出版社