chapter-1数据管理技术的发展
以下课程来源于MOOC学习—原课程请见:数据库原理与应用
数据管理技术的发展
发展三阶段
- 人工管理【1950前】
采用批处理;主要用于科学计算;外部设备只有磁带,卡片,纸带等
特点:1.数据面向应用2.数据不保(内)存3.数据不能共享4.不具有数据独立性
1.数据需要由应用程序自己 设计、说明(定义)和管 理,程序员在编写程序时 自己规定数据的存储结构、 存取方法和输入方式等。比如编写C语言,定义一个数组;不同程序的数组元素即使相同也不可以调用;程序结束运行后,内存清空;
2.数据独立性是指用户的应用程序与数据的 逻辑结构和物理结构是相互独立的;数据逻辑结构变化时,应用程序不变
- 文件系统管理【1950-1960】
采用批处理+联机实时处理;【计算机大量用于数据管理;硬件包含磁盘等直接存取设备,软件有OS】
特点:1、数据可以长期保存2. 数据面向应用3.由文件系统管理数据4.虽具有数据独立性,只是设备独立性,不具有数据独立性;5.数据具有一定的共享性,但是存在冗余存储
数据只是以文件的形式存储在磁盘或者存储器中,因此可以单独存储重复使用,但是文件建立更新等需要应用程序完成,并且对文件中相同的数据不能共享
- 数据库系统管理【1960-】
管理的数据对象、应用范围、数据量等发生变化
数据处理要求更高的联机实时处理,出现分布处理
硬件:大容量磁盘、光盘等价格下降;软件价格升,维护成本增加;
数据库
- 数据库
长期存储在计算机内,有组织、统一管理、可共享的相关数据的集合
特点:采用数据模型组织数据:不仅描述数据本身特征,而且描述之间联系
特点:数据可采用数据模型将整个组织所涉及的数据集成在一个全局的数据库中,被不同组织的应用共享
特点:由数据库管理系统统一管理
特点:数据具有独立性,无需修改应用程序,实现程序与数据的分离
- 数据库管理系统DBMS 【数据库系统的核心/最重要的软件】
提供访问数据的方法,包括DB建立,查询,更新及时控制,比如MYSQL
定义:提供数据定义语言 来对数据库中数据对象进行定义,指定其结构和约束
提供数据操纵语言,对数据的基本操作
数据的组织、存储和管理
数据库的事务管理和运行管理 安全性,完整性,多用户并发操纵和系统恢复
数据库的维护 数据的载入,转换,恢复,重组,性能监视等
- 数据库系统
采用数据库技术存储,维护数据,向应用系统提供数据支撑
-
数据库管理员 DBA
五种职责
数据库体系结构【三级模式】
数据库先驱Charles w.bachaman ;1978年提出美国ANSI提出
三级模式好处
1.不同使用者有不同的视图,外部无需理解内部的复杂,减轻用户使用负担
2.实现数据的独立性[需要修改的是三层模式之间的两级映射]
模式和实例:
-
数据库的描述称为模式———模式反应的是数据库中数据的结构和其联系,相对稳定
-
一个特定时刻 数据库中的即时数据称为实例——不断变化【添加删除某列】
概念模式【模式】:
仅一个 概念级数据视图的描述;是全体数据的逻辑结构和特征;简称模式
外模式【子/用户模式】
可以有多个 数据库用户能够看见和使用的局部数据的逻辑结构和特征;外部级用户数据视图
内模式【存储模式】
只有一个 数据库的物理存储结构和存储方法,独立于具体的存储设备
请求检索数据库,在数据库三级模式中,完成各层间请求和结果转换,形成二级映射
1、外模式/概念模式之间的映射
2、概念模式/内模式之间的映射
数据独立性
- 数据
-
信息是现实世界事物存在的方式或者运动状态等
-
数据是信息的符号表示;信息是数据所表达的语义
- 数据结构:数据对象在计算机的组织方式
-
逻辑结构是用户可见 的数据组织方式
-
物理结构是在物理存储空间的存储方式和存放方法
- 数据独立性
用户的应用程序与数据的 逻辑结构和物理结构是相互独立的;
当数据逻辑结构或者物理结构变化时,应用程序不变
- 物理独立性:用户的应用程序与存储磁盘上的数据是相互独立
- 数据的物理存储发生变化时,应用程序不变
- 逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立
- 数据的逻辑结构发生变化时,应用程序不变
三级模式中将数据的结构区分用户的局部逻辑结构、数据的整体逻辑结构和物理逻辑结构
概念模式/内模式 保证数据的物理独立性[中下层]
当数据库的存储结构发生**改变[内模式]**时,只需要修改 概念模式/内模式 的映射 ,保持概念模式不变,内模式的变化隔离开概念模式的
外模式/概念模式 保证数据的逻辑独立性[中上层]
当数据库的逻辑结构发生**改变[模式]**时,只需要修改 外模式/概念模式 的映射 ,保持外模式不变,模式的变化隔离开概念模式的
其实,数据独立性可以定义为:
在修改数据库系统的某个层次模式,而无需修改上一层模式
比如:修改内模式无需修改概念模式,保持数据的物理独立性
当数据库的逻辑结构发生**改变[模式]**时,只需要修改 外模式/概念模式 的映射 ,保持外模式不变,模式的变化隔离开概念模式的
其实,数据独立性可以定义为:
在修改数据库系统的某个层次模式,而无需修改上一层模式
比如:修改内模式无需修改概念模式,保持数据的物理独立性
比如:修改概念模式无需修改外模式,保持数据的逻辑独立性