第1章:数据库概论
本章介绍数据库系统的基本概念,对数据库概貌有基本了解
1.1 数据管理技术的由来和发展:
1.人工管理阶段
①只有程序(program)没有文件(file)的概念,数据的组织方式自行设计
②数据不需要进行长期保存,计算机主要用于科学计算
③数据逻辑结构 = 数据物理结构(没有专门的软件对数据进行管理,程序直接面向存储结构)
2.文件系统阶段
①开始有了文件的概念且文件组织多样化,但文件间相互独立缺乏联系
②数据以文件的形式长期保存在外部存储器的磁盘上,计算机可用于数据存储
③数据的逻辑结构与物理结构有了区别,但十分简单
④对数据的操作以记录为单位,这是由于文件中只存储数据,不存储文件记录的结构描述信息。
缺点:
- 数据冗余:由于文件间缺乏联系,每个应用都有对应的文件,重复存储
- 数据不一致:由数据冗余导致,在更新数据时,容易出现同一数据不同记录的情况
3.数据库阶段
随着数据管理的规模逐渐扩大,数据量急剧增长,文件系统阶段的数据管理方式再不能满足,数据库的管理开始进入数据库阶段。
①使用数据模型表示更复杂的数据结构,不仅能描述数据特征,还能描述数据间的联系
②具有较高数据独立性,逻辑结构与物理结构之间相差可以很大,用户无需考虑物理结构
③数据库系统(DBS)提供了4个数据控制功能:数据库的恢复、并发控制、数据的完整性、安全性
概念 | 定义 |
---|---|
数据库(DB,DataBase) | DB是长期存储在计算机内有组织、统一管理的相关数据的集合 |
数据库系统(DBS,DataBase System) | DBS是实现有组织、动态的存储大量关联数据,方便多用户访问的计算机硬件、软件和数据资源组成的系统 |
数据库管理系统(DBMS,DataBase Management System) | DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法 |
数据库技术 | 数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件科学 |
1.2 数据描述
数据库系统的设计就是将事物的特征,在计算机中具体表示出来的过程。
在这个过程中对数据(事物特征)的描述,需要经历概念设计、逻辑设计、物理设计3个阶段。
1.概念设计中的数据描述:
数据库的概念设计是根据用户的需求设计数据库的概念结构,以规范的形式表达了对用户需求所涉及事物的理解。
在该阶段中将涉及4种概念:
①实体(Entity):客观存在、可相互区别的事物
②实体集(Entity Set):性质相同的同类实体的集合
③实体标识符(Identifier):唯一标识实体的属性或属性集
④属性(Attribute):实体所具有的特性
2.逻辑设计中的数据描述:
数据库的逻辑设计是根据概念设计的结果设计数据库的逻辑结构,即事物特征的表达方式和实现方式
在该阶段中将涉及4种概念:
①记录(Record):字段的有序集合
②文件(File):实体所具有的特性
③关键码(Key):唯一标识文件中每条记录的字段或字段集
④字段(Field):标识实体属性的命名单位(数据项)
补充:概念设计和逻辑设计中采用术语对应关系:
概念设计 | 逻辑设计 |
---|---|
实体(Entity) | 记录(Record) |
实体集(Entity Set) | 文件(File) |
实体标识符(Identifier) | 关键码(Key) |
属性(Attribute) | 字段 或 数据项(Field) |
3.物理设计中的数据描述:
(1)物理存储介质层次:
存储介质 | 说明 |
---|---|
高速缓冲存储器(Cache) | 容量存储小、访问速度快、由CPU直接管理、数据库技术通常不研究 |
主存储器(Main Memory,内存) | 机器指令可对内存中的数据进行修改,由操作系统管理,掉电或系统崩溃内存数据将丢失 |
快擦写存储器(Flash Memory,快闪存)EEPROM | 掉电后数据不丢失,读写速度稍低于主存,小型数据库中广泛使用 |
磁盘存储器(Magnetic Disk) | 目前最流行的外部存储器,长时间联机存储数据并直接读写,又称直接存取存储器 |
光存储器(Optical Storage) | 目前最流行的存储器是光盘存储器(CD-ROM,CD-RW,DVD-RW),数据以光的形式存储在盘里,然后用一个激光器去读 |
磁带(Tape Storage) | 用于存储复制的数据或归档的数据,属于顺序存取存储器 |
(2)物理存储中的数据描述:
数据描述术语 | 说明 |
---|---|
位(bit,b) | 1个二进制位称为位 ,1个位只能取0 或 1两个状态 |
字节(Byte,B) | 8位称一个字节 ,可以存放一个字符所对应的ASCII码 |
字(Word) | 若干个字节组成1个字 ,1个字所含有的二进制位位数称为字长。各种计算机的字长是不一样的 |
块(Block) | 块是内存和外存交换信息的最小单位,每块大小通常为210-214 B |
桶(Bucket) | 外存的逻辑单位,1个桶可以包含一个物理块 或 多个空间上不一定连续的物理块 |
卷(Volume) | 一个输入/输出设备所能承载的全部有用信息,称为卷 |
1.3 数据抽象
1.数据抽象的过程:
在数据库技术中,用数据模型(Data Model)的概念描述数据库的结构和语义,对现实世界的数据进行抽象。
根据数据抽象的级别定义了4种数据模型,概念数据模型、逻辑数据模型、外部数据模型和内部数据模型。
数据抽象(数据库设计)的具体过程如下:
step1:根据用户需求,设计数据库的概念模型(信息综合的过程)
step2:根据转换规则,将概念模型转换成数据库的逻辑模型(信息转换的过程)
step3:根据用户业务特点,设计不同的外部模型给应用程序使用
step4:最后数据库实现时,需要根据逻辑模型设计其内部模型
补充:
①概念模型:表达用户需求观点的数据全局逻辑结构
②逻辑模型:表达计算机实现观点的DB全局逻辑结构
③外部模型:表达用户使用观点的DB局部逻辑结构
④内部模型:表达DB物理结构
2.概念模型:
(1)概念模型的特点:
①概念模型表达了数据的整体逻辑结构,是系统用户对整个应用项目涉及的数据的全面描述
②概念模型独立于硬件和软件,不依赖于硬件设备和实现时的DBMS软件
③概念模型是数据库设计人员与用户之间进行交流的工具
(2)ER模型(Entity Relationship Model):
ER图是表示ER模型(概念模型)的有力工具,
ER模型直接从现实世界中抽象出实体类型及实体间的关系,然后用ER图表示数据模型
3.逻辑模型:
在选定DBMS软件后,需要进一步将概念模型按照选定的DBMS的特点转换成逻辑模型。
(1)逻辑模型的特点:
①逻辑模型表达了DB的整体逻辑结构,是设计人员对整个应用项目数据库的全面描述
②逻辑模型独立于硬件,依赖于数据库实现时的DBMS软件(直接决定逻辑模型)
③逻辑模型是数据库设计人员与应用程序开发者之间进行交流的工具
(2)逻辑模型的分类:
层次模型(Hierarchical Model):用树状(层次)结构表示实体类型及实体间联系
网状模型(Network Model):用有向图结构表示实体类型及实例间联系
关系模型(Relational Model):用二维表格表达实体集组成的集合,关系模型与其他模型最大的不同点在于,使用关键码而不是指针导航数据
对象模型(Object Model):对象模型中的基本概念是类和对象
项目 | 层次模型 | 网状模型 | 关系模型 | 对象模型 |
---|---|---|---|---|
创始 | 1968年IBM的IMS系统 | 1969年CODASYL的DBTG报告 | 1970年E.F.Codd提出 | 20世纪80年代 |
数据结构 | 复杂(树结构) | 复杂(有向图结构) | 简单(二维表) | 复杂(嵌套、递归) |
数据联系 | 通过指针 | 通过指针 | 通过表间的公共属性 | 通过对象标识 |
查询语言 | 过程性语言 | 过程性语言 | 非过程性语言 | 面向对象语言 |
典型产品 | IMS | IDS、IDMS、TOTAL | SQL Server、Oracle | DB、ONTOS |
盛行期 | 20世纪70年代 | 20世纪70-80年代中期 | 20世纪80年代至现在 | 20世纪90年代至现在 |
4.外部模型
概念:在实际使用时,为不同业务单位设计不同外部模型
特点:外部模型是逻辑模型的一个子集,独立于硬件依赖于软件,反映了用户使用数据库的观点
5.内部模型
概念:内部模型,又称物理模型是数据库最低层的数据抽象,描述数据在磁盘或磁带上的存储方式(文件结构)、存取设备(外存的空间分配)和存取方法(主索引和辅助索引)
特点:内部模型与软件和硬件紧密相连
6.三层模式和两级映像
三层模式:在用户(或应用程序)到数据库之间,DB的数据结构有三个层次:外部层次、逻辑模型和内部层次
两级映像:由于三层模式的数据结构可能不一致,因此需要三层模式之间的映像来说明外部记录、逻辑记录和内部记录之间的对应性
数据库的三层模式和两级映像结构称为数据库的体系结构,有时也称三层模式结构 或 数据抽象的三个级别
7.高度的数据独立性
物理数据独立性:如果数据库的内模式要修改,即数据库的物理结构有所改变,只要对逻辑模式/内模式映像作相应的修改
逻辑数据独立性:如果数据库的逻辑模式要修改,例如增加记录类型或增加数据项,只要对外模式/逻辑模式映像作相应修改
数据库的三层模型是一个理想的结构,使数据库达到了高度的数据独立性,但也给系统增加了额外的开销。
1.4 数据库管理系统(DBMS)
1.DBMS工作模式:
数据库管理系统(DBMS):是指数据库系统中对数据进行管理的软件系统,是数据库系统的核心组成部分
DBMS工作模式:
2.DBMS主要功能:
DB的定义:DBMS提供DDL定义数据库的三层结构、两级映像,定义数据的完整性约束、保密限制等约束
DB的操纵:DBMS提供DML实现对数据的操作,基本数据操作包括检索(查询)和更新(插入、删除、更新)
DB的保护:DBMS包括四个子系统数据库的恢复、并发控制、完整性控制、安全性控制
DB的维护:包括数据库的数据载入、转换、转储,数据库的改组以及性能监控等
数据字典(Data Dictionary,DD):数据库中存放三层结构定义的数据库称为数据字典,对数据库的操作都要通过DD才能实现
1.5 数据库系统(DBS)
1.DBS的组成:
硬件:中央处理机、内存、外存、输入/输出设备等
软件:DBMS、OS、各种主语言和应用开发支撑软件等程序
数据库:物理数据库、描述数据库
数据库管理员
2.DBS的全局结构:
参考数据库系统教程P30 DBS全局结构
3.DBS结构的分类
集中式DBS(Centralized DBS):
客户机/服务器式DBS(C/S BDS):
并行式DBS(Parallel DBS):
分布式DBS(Distributed DBS):
更新日志
2021年6月14日
1.补充节数据管理技术发展阶段演变插图
2.更新数据抽象级别的各个具体模型及之间的关系插图,加深对数据抽象过程的理解,部分概念解释更新