数据库系统的组成简述(数据库系统概述)
数据库系统的组成简述(数据库系统概述)我们将文件中所包含的每一个子项称为文件结构中的一个“字段”或“列”,将每一行数据称为一个“记录”。F3文件:学号、姓名、所在系、专业、课程号、课程名、修课类型、修课学期、考试成绩。假设F1、F2和F3文件分别包含如下信息:F1文件:学号、姓名、性别、出生日期、联系电话、所在系、专业、班号。F2文件:课程号、课程名、开课学期、学分、课程性质。
1.数据库技术的发展数据管理的发展经历了文件管理和数据库管理两个阶段。
1.1.1 用文件管理数据
设实现“学生基本信息管理”的应用系统为A1,实现“学生选课信息管理”的应用系统为A2。由于学生选课管理中要用到F1文件中的一些数据,为减少冗余,假设这个系统使用F1文件中的一些数据。如图1-1所示为基于文件管理的应用系统结构。
图1-1 基于文件管理的应用系统结构
假设F1、F2和F3文件分别包含如下信息:
F1文件:学号、姓名、性别、出生日期、联系电话、所在系、专业、班号。
F2文件:课程号、课程名、开课学期、学分、课程性质。
F3文件:学号、姓名、所在系、专业、课程号、课程名、修课类型、修课学期、考试成绩。
我们将文件中所包含的每一个子项称为文件结构中的一个“字段”或“列”,将每一行数据称为一个“记录”。
“学生选课信息管理”的处理过程大致为:若有学生选课,则先查F1文件,判断有无此学生;若此学生在F1文件中,则再访问F2文件,判断其所选的课程是否存在;若一切均符合规则,就将学生选课信息写入F3文件中。
文件管理数据有如下缺点。
1. 编写应用程序不方便
2. 数据冗余不可避免
3. 应用程序依赖性
4. 不支持对文件的并发访问
5. 数据间联系弱
6. 难以按不同用户的要求表示数据
7. 无安全控制功能
1.1.2 用数据库管理数据
如将数据库管理与文件管理在数据的局限性方面进行比较,数据库管理具有以下优点。
1. 相互关联的数据集合
2. 较少的数据冗余
3. 程序与数据相互独立
4. 保证数据的安全可靠
5. 最大限度地保证数据的正确性
6. 数据可以共享并能保证数据的一致性
1.2 数据与数据模型数据是我们要处理的信息,数据模型是数据的组织方式。
1.2.1 数据
描述事物的符号记录称为数据,而将一行数据称为一条记录。数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。
从现实系统的使用角度来说,数据的特征可分为静态特征和动态特征:
1. 数据的静态特征包括数据的基本结构、数据间的联系和对数据取值范围的约束。
2. 数据的动态特征是指对数据可以进行的操作以及操作规则,对数据库数据的操作主要有查询数据和更改数据,更改数据一般又包括对数据的插入、删除和更新。
数据的动态特征(数据操作)与数据的静态特征(数据结构、完整性约束)统称为数据模型三要素。
1.2.2 数据模型
模型是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。数据模型(data model)也是一种模型,它是对现实世界数据特征的抽象。通俗地讲,数据模型就是对现实世界数据的模拟。
数据模型一般应满足三个要求:
1. 数据模型要能够比较真实地模拟现实世界。
2. 数据模型要容易被人们理解。
3. 数据模型要能够很方便地在计算机上实现。
数据模型实际上是模型化数据和信息的工具。根据模型应用目的的不同,可以将模型分为两大类,它们分别属于两个不同的层次。
1. 概念层数据模型,也称为概念数据模型或概念模型。
2. 组织层数据模型,也称为组织模型,它从数据的组织方式来描述数据。
1.3 概念层数据模型概念层数据模型实际上是现实世界到机器世界的一个中间层次。
1.3.1 基本概念
概念层数据模型是指在抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织层结构。
常用的概念层数据模型有实体—联系(entity-relationship,E-R)模型、语义对象模型。
1.3.2 实体—联系模型
E-R方法使用的工具称为E-R图,它所描述的现实世界的信息结构称为企业模式(enterprise schema),也把这种描述结果称为E-R模型。
1. 实体
实体是具有公共性质且可以相互区分的现实世界对象的集合。实体是具体的,如职工、学生、教师、课程。
2. 属性
每个实体都具有一定的特征或性质,属性就是描述实体或者联系的性质或特征的数据项,一个实体中的所有实例都具有相同的性质,在E-R模型中,这些性质或特征就是属性。
3. 联系
实体内部的联系通常是指一个实体内属性之间的联系,实体之间的联系通常是指属于不同实体的属性之间的联系。
两个实体之间的联系通常分为以下三类:
(1) 一对一联系(1 : 1)。
(2) 一对多联系(1 : n)。
(3) 多对多联系(m : n)。
图1-5 不同类型的联系
实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。
E-R模型不仅能描述两个实体之间的联系,而且还能描述两个以上实体之间的联系。
1.4 组织层数据模型组织层数据模型是从数据组织形式的角度来描述信息,目前,在数据库技术的发展过程中用到的组织层数据模型主要有:层次模型(hierarchical model)、网状模型(network model)、关系模型(relational model)、面向对象模型(object oriented model)和对象关系模型(object relational model)。
1.4.1 层次模型
层次模型用树形结构表示实体和实体之间的联系。现实世界中许多实体之间的联系本身就呈现出一种自然的层次关系,如行政机构、家族关系等。
构成层次模型的树由节点和连线组成,节点表示实体,节点中的项表示实体的属性,连线表示相连的两个实体间的联系,这种是一对多的联系。
1.4.2 网状模型
在现实世界中事物之间更多的是非层次的联系,用层次模型表达现实世界中存在的联系有很多限制。如果去掉层次模型中的两点限制,即允许一个以上的节点无父节点,并且每个节点可以有多个父节点,便构成了网状模型。
用图形结构表示实体和实体之间联系的数据模型称为网状模型。
1.4.3 关系模型
关系模型是目前最重要的一种数据模型,关系数据库就是采用关系模型作为数据的组织方式。关系模型源于数学,它把数据看作二维表中的元素,而这个二维表在关系数据库中就称为关系。用关系(表格数据)表示实体和实体之间的联系的模型就称为关系模型。
如表1-1和表1-2所示分别为“学生”关系模型的数据结构和“选课”关系模型的数据结构,其中“学生”和“选课”间的联系是通过“学号”列实现的。
1.5 数据库的三级模式结构1.5.1 三级模式结构
数据库系统内部的结构划分为外模式、模式和内模式三个抽象结构,同时在三个模式之间提供二级映像功能。这些结构的划分反映了看待数据库的三个角度。图1-11说明了这三种模式以及模式之间的映像关系。
图1-11 数据库系统的三级模式结构
广义地讲:
● 外模式:是最接近用户的,也就是用户所看到的数据视图。
● 模式:是介于内模式和外模式之间的中间层次。
● 内模式:是最接近物理存储的,也就是数据的物理存储方式。
1.5.2 模式映像与数据独立性
1. 外模式/模式映像
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。
2. 模式/内模式映像
模式/内模式映像定义了数据库的逻辑结构与物理存储之间的对应关系,该映像关系通常被保存在数据库的系统表(由数据库管理系统自动创建和维护,用于存放维护系统正常运行的信息)中。
1.5.3 数据库三级模式的关系
在数据库的三级模式结构中,模式(逻辑模式)是数据库的中心与关键,它独立于数据库的其他模式。设计数据库时也是首先设计数据库的逻辑模式。
数据库的内模式依赖于数据库的全局逻辑结构,但独立于数据库的用户视图,也就是外模式,也独立于具体的存储结构。内模式将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。
数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,并独立于存储模式和存储设备。当应用需求发生较大变化,相应的外模式不能满足用户要求时,就需要调整外模式定义,以满足新的要求。
1.6 数据库系统1.6.1 数据库系统的组成
从狭义上讲,数据库系统主要指数据库和数据库管理系统。从广义上讲,数据库系统由数据库、数据库管理系统(及其开发工具)、应用程序和用户组成。其中,用户可分为数据库管理员、开发人员和最终用户三类。数据库系统结构如图1-12所示。
图1-12 数据库系统结构
1.6.2 数据库管理系统功能
数据库管理系统是对数据库进行管理的系统软件,其主要作用是使数据库成为方便用户使用的资源,易于为各类用户共享,并提供数据的安全性、完整性和可靠性保证。数据库的所有操作,数据的组织、存储和访问都必须借助DBMS提供的工具或接口完成。
DBMS的功能概括起来如图1-13所示。
图1-13 DBMS的功能
(1)数据定义功能。
(2)数据操作功能。
(3)数据库运行管理和控制功能
(4)数据库的建立和维护功能。