学习目标
知识:(1)理解数据库基本概念,掌握数据库系统组成及功能。 (2)了解数据存储管理技术发展,理解程序、文件系统、数据库系统管理数据的不同特点。 (3)理解理解数据库系统三层体系结构(三级模式)以及各层的功能。 (4)理解两层映像的功能以及数据独立性的实现方式。
素养:关注数据库技术在现实生活或专业领域中的应用、国内外主流数据库产品,愿意主动学习数据库技术相关内容。
重难点: (1)数据库基本概念; (2)数据库系统管理数据的主要特点; (3)数据库系统三层体系结构与两层映像。
一、数据库的基本概念
数据管理:存储在计算机中的数据,需要进行查询、修改、重组、合并、备份、还原、传输等应用操作,为了更好地发挥数据价值而进行的操作。
数据管理就是把数据更方便、更高效、更安全地组织起来,实现对数据更好的应用。
1. 信息和数据
(1) 信息(Information)
信息是人脑对现实世界中的客观事物及事物之间联系的抽象反映。
通俗理解:信息是以文字、声音、图片、视频等为载体所传递的意思。
信息具有传递性、时效性和有用性。
(2) 数据(Data)
描述事物的符号称为数据,以文字、图形、图像、音频、视频等表现形式。
数据是信息的载体,信息隐藏在数据中。 数据是事物的表象,信息反映的是事物的本质。
2. 数据库(DataBase ,DB)
长期储存在计算机内、有组织的、可共享的大量的数据集合
3. 数据库管理系统(DataBase Management System,DBMS)
位于用户与操作系统之间的数据库管理软件。
为用户和程序提供访问数据库的一个软件平台,方便创建、维护、检索、存取数据。
管理功能包括数据组织与存储、安全保护、并发控制、数据操作等;
4. 数据库系统(DataBase System,DBS)
由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的计算机系统。
5. 数据库系统的组成
(1)硬件平台及数据库
数据库系统对硬件资源的要求:足够大的内存、足够大的外存、较高的通道能力,提高数据传送率
(2)软件
DBMS、操作系统、与数据库接口的高级语言及其编译系统、以DBMS为核心的应用开发工具、为特定应用环境开发的数据库应用系统
(3)人员
数据库管理员、系统分析员、数据库设计人员、应用程序员、最终用户
二、数据管理技术的产生及发展
数据管理:对数据进行存储、组织和维护的技术,它在数据应用和信息处理中发挥巨大的作用。
1. 程序管理阶段( 20世纪40年代中—50年代中)
背景:无存储设备,无操作系统,科学计算。
特点:应用程序保存、管理数据,程序与其数据不可分割。
缺点:数据依赖程序,不独立,不能共享,冗余度极大。
2. 文件系统管理阶段( 20世纪50年代末—60年代中)
背景:出现磁盘,操作系统,高级语言。
特点:数据以独立的文件存放在磁盘上。由文件系统负责存取数据,数据可重复使用。
缺点:数据共享性差,冗余度大,无集中管理。
3. 数据库系统阶段( 20世纪60年代后期至今)
背景:大容量磁盘、DBMS出现,大规模管理。
特点:数据结构化,由DBMS统一管理; 共享性高、冗余性低,数据独立性高。
4. 数据库系统的特点
(1)数据结构化。
不仅数据内部有结构,数据与数据之间也是有结构的,整体有结构。
(2)数据的共享性高、冗余度低且易扩充。
数据可以被多个用户、应用程序共享使用,大大减少冗余,避免数据的不一致性。
(3)数据独立性高。
数据与使用数据的应用程序之间有一定的独立性,当数据的结构发生改变,应用程序不必修改依然可以访问数据。
(4)数据由数据库管理系统统一管理和控制,高效、安全性、并发性
三、数据库系统的体系结构
数据库系统通常采用三层体系结构:即物理层、概念层、用户层
数据库总体设称为数据库模式,通常采用三级模式结构(内模式、模式和外模式)
1.模式
“型” 和“值” 的概念:(可以看做变量名和变量的值)
型(Type) 是对某一类数据的结构和属性的说明。 值(Value) 是型的一个具体赋值。
模式(Schema):
数据库的总体设计描述称为数据库模式 数据库逻辑结构和特征的描述; 反映的是数据的结构及其联系; 是型的描述,是相对稳定的。
模式的一个实例(Instance):
特定时刻存储在数据库中的数据的集合 模式的一个具体值; 反映数据库某一时刻的状态; 同一个模式可以有很多实例; 实例随数据库中的数据的更新而变动。
例如:
在综合教务管理系统数据库模式中,包含学生记录、课程记录和学生选课记录。
2023年的一个学生数据库实例,包含:
2023年学校中所有学生的记录。
2023年学校开设的所有课程的记录。
2023年所有学生选课的记录。
2022年学生数据库模式实例,包含:
2022年学校中所有学生的记录。
2022年学校开设的所有课程的记录。
2022年所有学生选课的记录。
2.三层体系结构<—>三级模式
把数据库划分为三个层次,物理层、概念层、用户层。
特定时刻存储在数据库中的数据的集合称为数据库的一个实例,而数据库的总体设计描述称为数据库模式。
数据库抽象出的三个层次,对应三类模式。物理层对应内模式,概念层对应概念模式,用户层对应外模式。
1)用户层(外模式)
该层面向不同用户提供访问数据库的视图,用于局部数据的逻辑结构和特征的描述。包含若干个不同的数据库视图,每个视图为对应的用户提供其所需要的数据,与应用程序有关。
相同的数据,在不同视图中的呈现形式可能不同,例如同一个日期,在“视图1”中呈现为“年/月/日”的形式,在“视图2”中可能呈现为“月/日/年”的形式。
2)概念层(模式/逻辑模式)
该层面向数据库管理员,描述整个数据库全部数据的逻辑结构和特征描述 ,所有用户的公共数据视图。该层通常需要提供:
(1)实体及其属性以及联系的描述; (2)数据完整性的描述; (3)数据语义的描述; (4)安全性描述。
3)物理层(内模式)
用于数据物理结构和存储方式的描述,需要考虑存储设备上的数据结构与文件组织问题、如何实现数据库最佳运行时性能和存储利用率。主要涉及以下问题:
(1)数据及索引的存储空间分配; (2)数据记录的存储方式描述; (3)数据记录的存储结构; (4)数据压缩、数据加密等技术。
模式: 一个数据库只有一个模式。
模式的地位:是数据库系统模式结构的中间层。
与数据的物理存储细节和硬件环境无关;与具体的应用程序、开发工具及高级程序设计语言无关。
定义模式: 定义数据的逻辑结构(数据项的名字、类型、取值范围等);定义数据之间的联系; 定义数据有关的安全性、完整性要求。
外模式:是与某一应用有关的数据的逻辑表示。
外模式介于模式与应用程序之间; 一个数据库可以有多个外模式。
模式与外模式的关系:一对多
外模式通常是模式的子集。 外模式是保证数据安全性的一个有力措施。
内模式:也称存储模式
定义内模式: 存储方式(顺序存储、B树存储、hash存储);索引组织;数据压缩、加密
一个数据库只有一个内模式。
3.两级映像
DBMS的工作模式:模式转换需求
用户对数据库进行的访问操作,是由DBMS把数据库操作从应用程序带到用户层、然后到概念层、再导向物理层,进而通过操作系统操纵存储器中的数据库。
数据库的三层结构定义了数据库的三个抽象层次。这三层之间通过一定的规则进行相互转化,这种规则称为映像。
- 外模式/模式映象:实现外模式到模式之间的相互转换
- 模式/内模式映像:实现模式和内模式之间相互转换。
1.外模式/模式映象:
- 定义外模式与模式之间的对应关系。
- 每一个外模式都对应一个外模式/模式映象。
- 映象定义通常包含在各自外模式的描述中。
- 保证数据与程序之间的逻辑独立性
当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变; 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2.模式/内模式映象:
- 定义了数据全局逻辑结构与存储结构之间的对应关系。
- 数据库中模式/内模式映象是唯一的。
- 该映象定义通常包含在模式描述中。
- 保证数据的物理独立性
当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变;
应用程序不受影响,保证了数据与程序的物理独立性,简称数据的物理独立性。
4.三级模式+两级映像→数据独立性
不同数据库的体系结构都具有相同的特征,即采用“三级模式+两级映像”。 数据库系统设计员可以在视图层、概念层以及物理层对数据进行抽象,通过外模式、概念模式和内模式来描述不同层次上的数据特性。 如果改变了某个模式,只需要修改上一层的映像,即可保证数据独立性。
数据独立性是数据管理的目标之一、数据库系统的主要特点
由于数据库系统采用三层模式结构,因此系统具有数据独立性的特点。
1)物理数据独立性
当数据库的存储结构改变了,由数据库管理员对概念模式/内模式映像做相应改变,可以使概念模式保持不变,这样应用程序也不必改变,从而保证了数据与程序的物理独立性
2)逻辑数据独立性
当概念模式改变时(如增加一些列、删除无用列),由数据库管理员对各个外模式/概念模式映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库管理系统内部的系统结构。
从数据库最终用户角度看,数据库系统的体系架构分为:
- 客户/服务器结构(Client/Server)
- 浏览器/服务器结构(Browser/Server)
- 分布式结构
总结: