第1章 数据库系统的基本原理

1.1 数据库系统概述

1.1.2 数据库系统概念

1.数据(Data)
数据是数据库存储的基本对象。是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的符号记录。

2.数据库(DataBase,简称为DB)
简单的说,数据库就是相互关联的数据集合。严格的说,数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性。

3.数据库管理系统(DBMS)
1)数据定义功能
DBMS提供数据定义语言(DDL),用户通过它可以方便地在数据库中定义数据对象(包括表、视图、索引、存储过程等)和数据的完整性约束等。
2)数据操纵功能
DBMS提供数据操纵语言(DML),用户可以通过它对数据库的数据进行增加、删除、修改和查询操作,简称为“增、删、改、查询”,对应于SQL语言的4个命令,即INSERT、DELETE、UPDATE和SELECT。
3)数据控制功能
DBMS提供了数据控制语言(DCL),用户可以通过它完成对用户访问数据权限的授予和撤消,即安全性控制;解决多用户对数据库的并发使用所产生的事务处理问题,即并发控制;数据库的转储、恢复功能;数据库的性能监视、分析等功能。

4.数据库系统(DBS)
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库(DB)、数据库管理系统(DBMS)、应用系统和数据库管理员(DBA)构成。

5.数据库应用系统(DBAS)
数据库应用系统主要是指实现业务逻辑的应用程序。

1.1.3 数据管理技术的发展阶段

数据管理技术的发展经历了人工管理文件管理系统数据库系统高级数据库系统四个阶段。

比较项目 人工管理阶段 文件管理阶段 数据库系统阶段

应用背景 科学计算 科学计算、管理 大规模管理
硬件背景 无直接存取存储设备 磁盘、磁鼓 大容量磁盘
软件背景 没有操作系统 有文件系统 有数据库管理系统
处理方式方 批处理 联机实时处理、批处理 联机实时处理、分布处理、批处理

数据的管理者 用户(程序员) 文件系统 数据库管理系统
数据面向的对象 某一应用程序 某一应用 现实世界
数据的共享程度 无共享,冗余度极大 共享性差,冗余度大 共享性高,冗余度小
数据的独立性 不独立,完全依赖于程序 独立性差 具有高度的物理独立性和逻辑独立性
数据的结构化 无结构 记录内有结构、整体无结构 整体结构化,用数据模型描述
数据控制能力 应用程序自己控制 应用程序自己控制 由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。

1.1.4 数据库系统的用户

1.数据库管理员(DBA)
DBA的具体职责包括:
1)参与数据库的设计
2)定义数据的安全性要求和完整性约束条件
3)日常维护:定期备份数据 、监视数据库的运行 、确保正常运转时所需的空余磁盘空间,并且在需要时升级磁盘空间。
4)数据库的改进和重组、重构

2.数据库用户
1)最终用户
最终用户是现实系统中的业务人员,是数据库系统的主要用户。
2)专业用户
专业用户包括工程师、科学家、经济学家等具有较高科学技术背景的人员。
3)系统分析员和数据库设计人员
4)应用程序员

1.2 数据模型

1.2.1 数据抽象的过程

  1. 美国国家标准化协会ANSI根据数据抽象的级别定义了4种模型,即概念模型、逻辑模型、外部模型、内部模型。 <br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/22782459/1661822620857-85101dd2-99da-414f-98c7-72aea2c0ad6b.png#clientId=ud72da630-5d57-4&errorMessage=unknown%20error&from=paste&height=533&id=uead180f7&originHeight=533&originWidth=1365&originalType=binary&ratio=1&rotation=0&showTitle=false&size=20046&status=error&style=shadow&taskId=uba0407b4-fc27-4ed4-85d7-98c807907ed&title=&width=1365)<br />**1.概念模型**<br />概念模型在这4种模型中抽象级别最高。其特点如下。<br />1)概念模型表达了数据库的整体逻辑结构,它是企业管理人员对整个企业组织的全面概述。<br />2)概念模型是从用户需求的观点出发,对数据建模。<br />3)概念模型独立于硬件和软件。<br />4)概念模型是数据库设计人员与用户之间进行交流的工具。<br />现在采用的概念模型主要是实体-联系模型,即**E-R模型**。E-R模型主要用E-R图来表示。<br />实体是现实世界或客观世界中可以相互区别的对象,这种对象可以是具体的,也可以是抽象的。

联系是两个或多个实体间的关联。两个实体之间的联系可以分为三种:
1)一对一联系(1:1)
2)一对多联系(1:n)
3)多对多联系(m:n)

2.逻辑模型
逻辑模型具有下列特点。
1)逻辑模型表达了数据库的整体逻辑结构,但它是设计人员对整个企业组织数据库的全面概述。
2)逻辑模型是从数据库实现的观点出发,对数据建模。
3)逻辑模型硬件独立,但软件依赖。
4)逻辑模型是数据库设计人员与应用程序员之间进行交流的工具。
逻辑模型有层次模型、网状模型和关系模型3种。现在使用的关系型数据库管理系统(RDBMS)均采用关系数据模型。

3.外部模型
外部模型具有如下特点。
1)外部模型是逻辑模型的一个逻辑子集。
2)硬件独立,软件依赖。
3)外部模型反映了用户使用数据库的观点。
从整个系统考察,外部模型具有下列特点。
1)简化了用户的观点。
2)有助于数据库的安全性保护。
3)外部模型是对概念模型的支持。

4.内部模型
内部模型又称为物理模型,是数据库最底层的抽象,它描述数据在磁盘上存储方式、存取设备和存取方法。内部模型是与硬件和软件紧密相连的。
可以不必考虑内部级的设计细节,由系统自动实现。

1.2.2 关系模型

1.数据模型的三要素※
1)数据结构
数据结构是所描述的对象类型的集合。现在常用的是关系数据模型。
数据结构是对系统静态特性的描述。
2)数据操作
数据操作是指对数据库表中记录的值允许执行的操作集合,数据库对数据的操作主要有增、删、改、查询4种操作。
数据操作是对系统动态特性的描述。
3)数据的完整性约束条件
数据的完整性约束条件是一组完整性规则。用以保证数据的正确、有效、相容。

2.关系数据模型的数据结构
1)关系(Relation)
一个关系就是一张规范的二维表 。
2)元组(Tuple)
表中的一行即为一个元组。
3)属性(Attribute)
表中的一列即为一个属性,每个属性都有一个属性名。
4)码或键(Key)
也称为关键码或关键字。表中的某个属性或者属性的组合,能唯一的确定一个元组。
5)关系模式
对关系的描述,一般表示为:
关系名(属性1,属性2,属性3,……,属性n)

3.关系数据模型的操作与完整性约束
关系的完整性约束条件包括三大类:

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性

1.3 数据库体系结构

1.3.1 数据库系统三级结构

image.png
1.用户级数据库
用户级对应于外模式,是最接近用户的一级,是用户看到和使用的数据库,又称为用户视图。
2.概念级数据库
概念级数据库对应于概念模式,介于用户级和物理级之间,是数据库管理员看到和使用的数据库,又称DBA视图。
3.物理级数据库
物理级数据库对应于内模式,是数据库的底层表示,它描述数据的实际存储组织,是最接近于物理存储的级,又称内部视图。

1.3.2 数据库系统三级模式

1.概念模式
概念模式又称为模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只能有一个概念模式。
2.外模式
外模式又称为子模式或用户模式,是数据库用户(包括程序员和最终用户)能够看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。
3.内模式
内模式又称为存储模式或物理模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只能有一个内模式。