目录
1.数据库基本概念
①数据
②数据库
③数据库管理系统DBMS
④ 数据库系统DBS
2.数据库发展
①人工管理阶段
②文件系统阶段
③数据库管理系统(与文件对比)
3.数据模型(重点关系模型)
①层次模型
②网状模型
③关系模型
4.数据库系统结构(三级模式两层映射)
①什么是模式
②三级模式
③两层映像
1.数据库基本概念
①数据
数据(Data)是数据库中存储的基本对象,比如数值图像声音等等。
②数据库
长期储存在计算机内、有组织的、可共享的大量数据集合。
③数据库管理系统DBMS
互相关联的数据的集合和一组用以访问这些数据的程序组成。是位于用户与操作系统之间的一层数据管理软件。
由下图可以看出,操作系统是DBMS的基础。操作系统提供的存取原语和基本的存取方法通常是作为和DBMS存储层的接口。 两者都是系统软件,不过OS更在底层,(所以是DBMS调用OS,大的调用小的。)数据库DBMS介于OS和应用软件之间。
DBMS功能:
(1)数据库定义功能: DDL,提供数据定义语言,定义数据库的三级结构,包括外模式、模式、内模式及互相之间的映像,定义数据的完整性、安全性等约束(数据库的完整性的全名,关系数据库的参照完整性,一般是用在表示多个表之间关系时用的,而且经常使用。数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏)。
(2)数据库操纵功能:DML,数据库操纵语言,提供检索和更新(增,删,改,查)基本操作。
(3)数据库控制功能:a.保证能进入数据库的数据都是正确(取值在一定范围内或满足某种关系)的(数据的完整性); b.当数据库由于机器故障遭到破坏时尽可能保证数据不丢失(可靠性,安全性);
(4)数据库的建立(将文件中的数据转换成数据库中的格式,并装入到数据库中)和维护(数据备份)。
④ 数据库系统DBS
数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。
DBS(数据库系统)包括DB(数据库)和DBMS(数据库管理系统)。数据库系统是一个通称,包括数据库、数据库管理系统、数据库管理人员等的统称,是最大的范畴。
2.数据库发展
①人工管理阶段
数据不保存,数据随程序一起输入计算机,处理结束后将结果输出,数据空间和程序空间一起释放。
程序之间的数据不共享。
数据与程序没有独立性。应用程序的数据由应用程序自行负责。
②文件系统阶段
a.数据可以长期保存,出现了磁盘,磁鼓等外存设备。
文件系统管理(不是专门的软件,操作系统一部分),应用程序可以通过文件系统提供的访问控制接口完成对数据文件的读写,从而使程序和数据之间有 了一定的独立性。
c.数据仍然是面向应用的,一个文件仍然基本上对应一个应用程序,多个应用程序使用同一个文件的时候任然需要在各自的文件中建立相同的文件,数据冗余度大,相同数据重复存储容易造成数据的不一致性。(冗余性、不一致性)
数据联系性差,文件内部各数据有联系,文件间没有联系。
③数据库管理系统(与文件对比)
a.数据结构化(和文件系统的本质区别),
在文件系统中同一文件记录内有结构,文件间的联系没有。数据库记录保存在关系中(二维表),关系之间的参照完整性使数据库实现了整体数据的结构化。首先来说数据库数据是结构化的数据,文件管理系统数据间是独立的,无法表示数据间的关系。数据库通过数据间的参照完整性使数据库实现了数据整体完整性(非结构化)
.数据共享性高
数据不再面向某个应用而是面向整个系统。数据可以被多个用户多个应用共同使用,极大地减小了数据的冗余度,又避免了数之间的不一致性。(共享性,低冗余度)
数据的独立性提高(数据的物理独立性,数据的逻辑独立性)。
物理独立性是指用户应用程序与储存在磁盘上的数据库中的数据是相互独立的。数据在磁盘上怎么存储由DBMS管理,应用程序不需要了解,当数据的物理存储发生变化的时候,应用程序不需要变化。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即当数据库的逻辑结构发生变化是应用程序可以不变。(逻辑结构指数据库模式)
数据独立性是由DBMS通过用户程序与数据的全局逻辑结构及数据的存储结构的二级映像得到的。
d.数据由DBMS统一管理和控制。
实现了并发访问,保证了数据库的安全性完整性。
3.数据模型(重点关系模型)
数据模型三要素:数据结构、数据操作和数据完整性约束。
通俗来讲数据模型就是对现实世界数据的模拟。概念层数据模型是现实世界到机器世界的中间层(E-R),组织层数据模型是从数据的组织方式来看有以下几种。
①层次模型
用树结构表示实体之间联系的模型叫层次模型 ,树由节点和连线组成 ,节点代表实体型 。连线表示两实体型间的一对多联系。
②网状模型
用网状结构表示实体之间联系的模型叫网状模型 ,每个节点表示一个实体,节点之间的有向线段表示实体之间的联系。网状数据模型中需要为每个联系指定对应的名称。
③关系模型
关系模型的基础不是树或者图,而是表格。把实体-联系模型中的实体联系均用二维表表示,其数据模型就是关系模型。
4.数据库系统结构(三级模式两层映射)
数据库的内部结构通常采用三级模式结构。
①什么是模式
数据库中的数据是按照一定结果组织起来的,这种结构在数据库中就是数据模型,这个数据模型就是组织层模型,它是描述数据的一种形式。
模式是数据库中全体数据逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体值。以关系模式为例,关系模式是关系的型,是元组结构的共性描述。实际上也就是关系表的表头。
而模式的具体值称为模式的实例,在关系数据库中就是一个元组,可以看出一个模式可以对应对多个实例,模式是相对稳定的(结构不会经常变动)而实例是相对变动的(具体数值可以经常变化) ,模式描述了一类事物的结构属性约束,而实例反应某类事物在某一时刻的当前状态。
②三级模式
数据库分为外模式、模式、内模式三个抽象模式结构。
什么是三级模式 ?
- 内模式:最接近物理存储的,也就是数据的存储方式。
- 外模式:最接近用户的,也就是用户看到的数据视图。
- 模式:介于外模式和内模式之间的中间层次。
注意:
模式又称逻辑模式或概念模式,是数据库中全体数据逻辑结构及特征的描述,因此只有一个,是数据在概念层的视图。
外模式又称为用户模式或子模式,是面向每一类用户的信息需求设计的(我要查什么表所以又叫用户模式),是数据的外部视图可以有很多个,是用户能够看得到并能使用的局部数据逻辑结构和特征的描述,一般是数据库整体数据结构的子集或局部重构(所以又叫子模式)。
内模式也称为存储模式,描述的是数据的物理存储,它是数据的内部视图。
③两层映像
数据库的模式映像与数据独立性
两层映像保证了数据库系统中数据具有较高的逻辑独立性和物理独立性,使数据库应用程序不随数据库逻辑或存储结构变动而变动。
(1)外模式/模式映像
每个外模式数据库中均有一个外模式/模式映像,它定义了该外模式和模式之间的对应关系,当模式改变(增加新的关系模式,属性,删除列等等),可由数据库管理员用外模式/模式定义语句调整外模式/模式映像定义,从而保证外模式不变。程序是依据外模式编写的所以程序也不需要调整。
(2)模式/内模式映像
模式/内模式映像定义了数据库逻辑结构和物理存储之间的关系,当数据库物理结构发生改变(如选择了另一个存储位置),只需对模式/内模式映像进行修改,而不必修改程序,从而保证了程序和数据的物理独立性。
两层映像由DBMS负责。