第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 数据抽象的过程
美国国家标准化协会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 数据库系统三级结构
1.用户级数据库
用户级对应于外模式,是最接近用户的一级,是用户看到和使用的数据库,又称为用户视图。
2.概念级数据库
概念级数据库对应于概念模式,介于用户级和物理级之间,是数据库管理员看到和使用的数据库,又称DBA视图。
3.物理级数据库
物理级数据库对应于内模式,是数据库的底层表示,它描述数据的实际存储组织,是最接近于物理存储的级,又称内部视图。
1.3.2 数据库系统三级模式
1.概念模式
概念模式又称为模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只能有一个概念模式。
2.外模式
外模式又称为子模式或用户模式,是数据库用户(包括程序员和最终用户)能够看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。
3.内模式
内模式又称为存储模式或物理模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只能有一个内模式。