数据库系统原理学习笔记(一)
数据库基本概念
-
数据库的基本概念涉及如下4个数据库中最常用的剧本概念
- 数据(Data)
- 数据库 (DataBase,DB)
- 数据库管理系统(DataBase Management System,DBMS)
- 数据库系统(DataBase System,DBS)
数据管理技术的发展
-
数据管理技术的发展历程经历了如下3个阶段
-
与人工管理、文件系统两种数据管理方法相比较,数据库系统具有以下特点:
- 数据集成:是数据库管理系统的主要目的。
- 数据共享性高:不只是同一数据可以被多个不同用户存取,还包含了并发共享。
- 数据冗余小:并非所有的冗余都可以或者应该被消除。
- 数据一致性:通过消除或控制数据冗余,可以在一定范围内避免数据的不一致性。引起不一致的根源是数据冗余。
- 数据独立性高:数据定义与使用数据的应用程序分离称为数据独立。
a. 数据定义的修改,在一定范围内不会引起应用程序的修改。这种独立称为数据的逻辑独立。
b.可改变数据的存储结构或存取方法以响应变化的需求而无需修改现有的应用程序,这称为数据的物理独立。 - 实施统一管理与控制:主要包括数据的安全性、完整性、并发控制与故障恢复等,即数据库保护。
a.数据的安全性
b.数据的完整性
c.并发控制
d.故障恢复 - 减少应用程序开发与维护的工作量:数据库方法表现在应用方面的一个优
点是:在数据库上开发与维护新的应用所花费的代价和时间大大减少。
-
数据库系统的结构
-
从两个不同的视角来看,数据库系统的结构可分为三级模式结构和运行与应用结构
[重点] 三级模式结构
- 数据库的三级模式结构包括如下4个方面的内容,其是学习数据库系统原理的重点亦是难点
-
模式(Schema)
- 在三级模式结构中,模式也称为概念模式或逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
- DBMS 提供模式描述语言来严格地定义模式,不仅要定义数据的逻辑结构,还要定义数据之间的联系,定义与数据相关的安全性、完整性等要求。
-
外模式(External Schema)
- 在三级模式结构中,外模式也称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。
- 外模式实际上是用于满足不同数据库用户需求的数据视图,即用户视图。相应地,DBMS 提供子模式描述语言来严格地定义子模式。
-
内模式(Internal Schema)
- 在三级模式结构中,内模式也称为存储模式,它是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。
内模式实际上是整个数据库的最底层表示,它不同于物理层,是数据库管理员(DBA)所见到的,特定的 DBMS 所处理的数据库的内部结构,即内部视图或存储视图 - 相应的 DBMS 提供内模式描述语言来严格地定义内模式,即定义所有内部记录类型、索引和文件的组织方式,以及所有数据控制方面的细节。
- 在三级模式结构中,内模式也称为存储模式,它是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。
-
三级模式结构的两层影响与数据独立性
构成数据库系统三级模式结构的三个模式分别是对数据的三级抽象,它们彼此间具有如下特点:- 一个数据库的整体逻辑结构和特征的描述(概念模式)是独立于数据库其他层次结构(内/外模式)的描述,其实数据库的核心,也是数据库设计的关键。
- 一个数据库的内部存储模式依赖于概念模式,但存储模式独立于外部模式,也独立于具体的存储设备。
- 用户逻辑结构(外模式)是在全局逻辑结构描述的基础上定义的,它面向具体的应用程序,独立于内部模式和存储设备。
- 特定的应用程序是在外模式的逻辑结构上编写的,它依赖于特定的外模式,与数据库的模式和存储结构独立
外模式/模式映像:所谓映像,就是一种对应规则,它指出映像双方是如何进行转换的。
模式/内模式映像:定义了数据库全局逻辑结构与物理存储之间的对应关系,这种映像定义通常是在模式中加以描述的。模式/内模式映像是唯一的。
图示:
运行与应用结构
- 数据库系统的运行与应用结构包括如下2种常用结构
- 客户/服务器(Client/Server,C/S)
- 浏览器/服务器(Browser/Server,B/S)
[重点] 数据模型
- 概念层数据模型
概念层数据模型也称为数据的概念模型或信息模型,它用来描述现实世界的事物,与具体的计算机系统无关,且独立于任何 DBMS,但容易向DBMS
所支持的逻辑数据模型转换。
基本概念:
- 实体:客观存在并可相互区别的事物称为实体。
- 属性:实体所具有的某种特性称为实体的属性。
- 码或键:可唯一标识实体的属性集称为码或键。
- 实体型:具有相同属性的实体必然具有共同的特征和性质。
- 实体集:同型实体的集合称为实体集。
- 联系:实体内部的联系通常是指实体各属性之间的联系,实体之间的联系是指不同实体之间的联系。
- 概念模型的表示方法:用 E-R 图来描述现实世界的概念模型,实体用矩形表示;属性用椭圆形表示;联系用菱形表示。
- 逻辑层数据模型
逻辑层是数据抽象的中间层,描述数据整体的逻辑结构。 主要的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型。
- 层次模型:数据库最早使用的数据模型。特点:有且仅有一个结点没有父结点,它称作根结点;其他结点有且仅有一个父结点。
- 网状模型:以网状结构表示实体与实体之间的联系。
- 关系模型:用二维表结构来表示实体及实体间联系的模型,并以二维表格的形式组织数据库中的数据。优点如下:关系模型是建立在严格的数学概念基础上的;关系模型的概念单一,统一用关系来表示实体以及实体之间的联系,对数据的检索和更新结果同样也是用关系来表示;关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
- 面向对象模型:与数据库相结合所构成的数据模型称为面向对象模型。
- 物理层数据模型
- 物理层数据模型,也称为数据的物理模型,其描述数据在存储介质上的组织结构,是逻辑模型的物理实现,即每一种逻辑模型在实现时都有与其相对应的物理模型。
- 从现实世界到概念模型的转换是由数据库设计人员完成的;从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成;从逻辑模型到物理模型的转换是由数据库管理系统完成的。