数据是数据库中存储的基本对象
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享
概括的讲,数据库数据具有永久存储、有组织和可共享三个基本特点
数据库管理系统可以科学地组织和存储数据,高效地获取和维护数据
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
它的主要功能包括以下几个方面:
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。而数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和
综上所述,数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统在数据建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复
数据模型是对现实世界数据特征的抽象,是用来描述数据、组织数据和对数据进行操作的
数据模型是数据库系统的核心和基础
数据模型应满足三方面要求:
第一类概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计
第二类中的逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等。它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现
信息世界中的基本概念
概念模型的一种表示方法:实体—联系方法
概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出上述信息世界中常用概念。
概念模型的表示方法很多,最常用的是 P . P . S . C h e n P.P.S.Chen P.P.S.Chen提出的实体—联系方法。该方法用 E — R E—R E—R图来描述现实世界的概念模型, E — R E—R E—R方法也称为 E — R E—R E—R模型
一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作系统和数据的完整性约束条件三部分组成
数据库领域中主要的逻辑数据模型有:
其中层次模型和网状模型统称为格式化模型
数据结构、数据操作和数据完整性约束条件这三个方面的内容完整地描述了一个数据模型,其中数据结构是刻画模型性质的最基本的方面
在格式化模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系
图中 R i R_i Ri位于联系 L i j L_{ij} Lij的始点,称为双亲结点, R j R_j Rj位于联系 L i j L_ij Lij的终点,称为子女结点
层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式
层次模型用树形结构来表示各类实体以及实体间的联系
在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:
在层次模型中,每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系。这就使得层次数据库系统只能处理一对多的实体联系
在层次模型中,同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为叶节点
由图可知,层次模型像一棵树,结点的双亲是唯一的
层次模型的一个基本特点是:任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在
层次模型的数据操作主要有查询、插入、删除和更新。进行这些操作时要满足层次模型的完整性约束条件
进行插入操作时,如果没有相应的双亲结点值就不能插入它的子女结点值。
进行删除操作时,如果删除双亲结点值,则相应的子女结点值也将被同时删除
优点:
缺点:
网状数据库系统采用网状模型作为数据的组织方式。网状数据模型的典型代表是 D B T G DBTG DBTG系统,亦称 C O D A S Y L CODASYL CODASYL系统。
这是 20 20 20世纪 70 70 70年代数据系统语言研究会下属的数据库任务组提出的一个系统方案
在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:
网状模型是一种比层次模型更具普遍性的结构。
它去掉了层次模型的两个限制,允许结点有多个双亲结点;此外它还允许两个结点之间有多种联系(称为复合联系)
层次模型实际上是网状模型的一个特例
层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一。因此要为每个联系命名,并指出与该联系有关的双亲记录和子女记录
网状模型一般没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操纵都加了一些限制,提供了一定的完整性约束
例如, D B T G DBTG DBTG在模式数据定义语言中提供了定义 D B T G DBTG DBTG数据库完整性的若干概念和语句,主要有:
优点:
缺点:
关系模型是最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式
数据库领域当前的研究工作都是以关系方法为基础
关系模型是建立在严格的数学概念的基础上的
从用户观点看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表
相关术语:
关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表
关系模型的数据操纵主要包括查询、插入、删除和更新数据
关系的完整性约束条件包括三大类:
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系。另一方面,关系模型把存取路径向用户隐蔽起来,从而大大提高了数据的独立性,提高了用户生产率
优点:
缺点:
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,这是数据库系统内部的系统结构
从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构、客户—服务器、浏览器—应用服务器/数据库服务器多层结构等。这是数据库系统外部的体系结构
在数据模型中有“型” ( t y p e ) (type) (type)和“值” ( v a l u e ) (value) (value)的概念。型是指对某一类型数据的结构和属性的说明,值是型的一个具体赋值
模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例。同一个模式可以有很多实例
模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是
虽然实际的数据库管理系统产品种类很多,但它们在体系结构上通常都具有相同的特征,即采用三级模式结构(早期微机上的小型数据库系统除外)并提供两级映像功能
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关
一个数据库只有一个模式
数据库管理系统提供模式数据定义语言(模式 D D L DDL DDL)来严格地定义模式
外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
外模式通产是模式的子集。一个数据库可以有多个外模式
数据库管理系统提供外模式数据定义语言(外模式 D D L DDL DDL)来严格地定义外模式
外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的
内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织留给数据库管理系统管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于每一个外模式,数据库系统都有一个外模式 / 模式映像,它定义了该外模式与模式之间的对应关系
当模式改变时,由数据库管理员对各个外模式 / 模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
数据库中只有一个模式,也只有一个内模式,所以模式 / 内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系
当数据库的存储结构改变时,由数据库管理员对模式 / 内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性
在数据库的三级模式结构中
数据库的二级映像保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去
由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改
数据库系统对硬件资源有较高的要求,这些要求是:
数据库系统的软件主要包括:
D D L DDL DDL:数据库模式定义语言 ↩︎
D M L DML DML:数据库操纵语言 ↩︎