第1章 数据库技术概述

学习目标

知识:(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)
  • 分布式结构

 

总结:

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值