目录
1.1 数据库系统概述
1.1.1 数据库的4个基本概念
数据:描述事物的符号记录称为数据。数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。
数据库:是存放数据的仓库。是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和以扩展性,并可为各种用户共享。
三个特点:永久存储、有组织、可共享
数据库管理系统:位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件。
主要功能:数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能,其他功能
数据库系统:数据库系统石油数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
1.1.2 数据库的历史
1.1.3数据库系统的特点
1、数据结构化:数据库系统与文件系统的本质区别
2、数据的共享性高、冗余度低且易扩充:数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。
3、数据独立性高:包括物理独立性和逻辑独立性,前者是指用户的应用程序与数据库中的数据的物理存储时相互独立的;后者是指用户的应用程序与数据库的逻辑节后是相互独立的。
4、数据由数据库管理系统统一管理和控制:数据库的共享是并发的共享,即多个用户客户以同时存取数据库中的数据,会带来安全隐患和相互干扰的隐患,并且数据的正确与一致也必须得到保障。
(1)数据的安全性保护:数据的安全性是指保护数据以防止不合法的使用造成数据泄密和破坏,每个用户只能按照规定对某些数据以某些方式进行使用和处理。
(2)数据的完整性检查:数据的完整性是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,并保证数据之间满足一定的关系。
(3)并发控制:当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰耳朵到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
(4)数据库恢复:数据库管理系统必须具有将数据库从错误状态恢复到某一一直的正确状态(亦称为完整状态或一致状态)的功能。
综上所述:数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。
数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。便于集中管理,又能简化应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。
1.2 数据模型
数据模型:也是一种模型,它是对现实世界数据特征的抽象。也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。(是数据库系统的核心和基础)。
三方面要求:1、能比较真实地模拟现实世界;
2、容易被人所理解;
3、便于在计算机上实现
1.2.1 两类数据模型
第一类:概念模型(也称为信息模型):它是按照用户的观点来对数据和信息建模,主要用于数据库设计。
第二类:逻辑模型和物理模型:主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等。它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。
为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。
1.2.2 概念模型
由图可知概念模型实际上是现实世界到机器世界的一个中间层次。
1、信息世界中的基本概念
(1)实体:客观存在并可相互区别的事物称为实体。
(2)属性:实体所具有的某一特性称为属性。
(3)码:唯一标识实体的属性集称为码。
(4)实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
(5)实体集:同一类型实体的集合称为实体集。
(6)联系:实体内部之间的联系通常是指组成实体的各个属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。
实体之间的联系有一对一、一对多和多对多等多种类型。
概念模型的一种表示方法:实体-联系方法(E-R模型)
1.2.3 数据模型的组成要素
一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性的约束条件。因此,数据模型通常是由数据结构、数据操作和数据的完整性约束条件三部分组成。
1、数据结构:数据结构描述数据库的组成对象以及对象之间的联系。数据结构是所描述的对象类型的集合,是对系统静态特性的描述。
2、数据操作:数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的解,包括操作及有关的操作规则。数据操作是对系统动态特性的描述。
3、数据的完整性约束条件:数据的完整性约束条件是一组完整性规则。限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
1.2.4 常用的数据模型
数据库领域中主要的逻辑数据模型有:
层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型,其中层次模型和网状模型统称为格式化模型。
在格式化模型中数据结构的单位的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系。
1.2.5 层次模型
层次模型用树形结构来表示各类实体以及实体以及实体间的联系。
1、层次模型的数据结构
在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:
(1)有且只有一个结点没有双亲结点,这个结点成为根节点;
(2)根以外的其他节点有且只有一个双亲节点。
示例如下:
层次模型像一棵倒立的树,节点的双亲是唯一的。
基本特点:任何一个给定的记录值智能按其层次路径查看,子女记录值不能脱离双亲记录值独立存在。
2、 层次模型的数据操纵与完整性约束
要符合基本逻辑,如,没有双亲节点就不能插入子女节点。
3、层次模型的优缺点
优点:层次模型的数据结构比较简单清晰;查询效率高;层次数据模型提供了良好的完整性支持。
缺点:现实世界中很多联系是非层次的,很难表示;如果一个结点有多个双亲结点等,用层次模型就很不方便,表示联系很笨拙;查询子女结点必须通过双亲结点;由于结构严密,所以层次命令趋于程序化。
总之,用层次模型对具有一对多的层次联系的部门描述非常自然、直观,容易理解。这是层次数据库的突出优点。
1.2.6 网状模型
(DBTG模型)
1、网状模型的数据结构
在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:
(1)允许一个以上的结点无双亲。
(2)一个结点可以有多于一个的双亲。
层析模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一。
2、网状模型的数据操纵与完整性约束
网状模型一般来说没有层次模型那样严格的完整性约束条件。
3、网状模型的优缺点
优点:
(1)、能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系。
(2)、网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中。用户不容易掌握,不容易使用。
(3)、由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。
1.2.7 关系模型
1、关系模型的数据结构
(1)关系:一个关系对应通常说的一张表。
(2)元组:表中的一行即为一个元组。
(3)属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名。
(4)码:也称为码键。比如学号,表中的某个属性组,它可以唯一确定一个元组。
(5)域:域是一组具有相同数据类型的值的集合。比如人的年龄一般在1~120之间。
(6)分量:元组中的一个属性值。
(7)关系模式:对关系的描述,一般表示为
关系名(属性1,属性2,······,属性n)
关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,就是说,不允许表中还有表。
2、关系模型的数据操纵与完整性约束
数据操纵主要包括查询、插入、删除和更新数据,这些操作必须满足关系的完整性约束条件。
关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。
3、关系模型的优缺点
优点:(1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。
(2)关系模型的概念单一。联系和数据的检索和更新结果都用关系来表示,所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
缺点:因为存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。另外,开发关系数据库管理系统的难度也增大了,技术难度增加。
1.3 数据库系统的结构
1.3.1数据库系统模式的概念
在数据模型中有“型”和“值”的概念。
型是指对某一数据的结构和属性的说明,值是型的一个具体赋值。模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例。同一模式可以有很多实例。
模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的事数据的结构及其联系,而实例反映的是数据库某一时刻的状态。
1.3.2 数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,如下图所示:
1、模式
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
2、外模式
外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据实体,是于某一应用有关的数据的逻辑表示。
外模式通常是模式的子集。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。
3、内模式
内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
1.3.3 数据库的二级映像功能与数据独立性
数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织留给数据库系统管理系统管理,使用户能够逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式和存储方式。为了能够在系统内部实现三个抽象层次的联系和转换,所以数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
这两层映像保证了数据库管理系统中的数据能够具有较高的逻辑独立性和物理独立性。
1、 外模式、模式映像
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。。对应同一个模式可以有任意多个外模式。对于任意一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系,这些映像定义通常包含在各自外模式的描述之中。
当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式不变。应用程序是依据数据的外模式编写的,从而应用程序不用修改,保证了数据与程序的逻辑独立性。
2、模式/内模式映像
数据库只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的。它定义了数据全局逻辑结构与存储结构之间的对应关系。
当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性。
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。由于数据的存取由数据库管理系统管理,从而简化了应用程序编制,大大减少了应用程序的维护和修改。
1.4 数据库系统的组成
数据库系统一般由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员构成。下面分别介绍这几个部分的内容。
1、硬件平台及数据库
(1)要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序。
(2)要有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带(或光盘)作数据备份。
(3)要求系统有较高的通道能力,以提高数据传送率。
2、软件
数据库系统的软件主要包括:
(1)数据库管理系统。数据库管理系统是为数据库的建立、使用和维护配置的系统软件。
(2)支持数据库管理系统运行的操作系统。
(3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序
(4)以数据库管理系统为核心的应用开发工具。
(5)为特定应用环境开发的数据库应用系统。
3、人员
(1)数据库管理员
1、决定数据库中的信息内容和结构
2、决定数据库的存储结构和存取策略
3、定义数据的安全性要求和完整性约束条件
4、监控数据的安全性要求和完整性约束条件
5、数据库的改进和重组、重构
(2)系统分析员和数据库设计人员
(3)应用程序员
(4)用户
分为偶然用户、简单用户和复杂用户。