首页 理论教育 数据库的基本概念及实体模型和数据模型

数据库的基本概念及实体模型和数据模型

时间:2022-10-31 理论教育 版权反馈
【摘要】:图9-2数据与程序的关系2.实体模型和数据模型管理信息系统处理数据就是对客观存在的事物进行反映,下面主要介绍如何将现实生活中的事物抽象到计算机能够存储和处理的数据形式。凡是数据模型中的实体均表示实体型。以后我们谈到的实体,在不引起混淆的情况下,均表示它是实体型。实体模型由实体、属性、联系三部分组成。管理者设计数据库时,通常都是用E-R模型来构建数据库的概念模型。

9.3.1 数据库概述

1.数据库的基本概念

(1)数据库(Data Base,DB)。数据库是存储在某种存储介质上的相关数据有组织地集合。要特别注意的是“相关”和“有组织”这些描述,就是说,数据库不是简单地将一些数据堆集在一起,而是把一些相互间有一定关系的数据,按一定的结构组织起来的数据集合。例如,建立一个高等学校学生简历信息类,每位学生有下列数据项:姓名、起始日期、终止日期、所在单位名称、从事工作内容、担任职务、证明人、备注。显然这八项中的数据是有密切关系的,是描述每个学生的入学前的情况。如何把描述每个学生的数据按一定方式组织起来,达到方便管理的目的?通常人们用一张二维表格来实现(见表9-1)。

表9-1

img117

从表9-1中容易看出,表头是确定每个学生的数据项,这些数据项通常称为字段,如姓名字段、证明人字段等等。表头下面的每一行是描述学生的情况的数据,每一行数据通常称为记录。表中的数据组织有序,且数据间的关系明确,管理十分方便。我们把这张二维表称作关系,也称作一个数据库。

(2)数据库技术。数据库技术是研究如何科学地组织和存储大量的数据资源,高效地获得和处理数据的数据管理技术。它能提高数据的共享性,使多个用户能同时存取数据库中的数据;能减少数据冗余,以提高数据的一致性和完整性;能使数据与应用程序相互独立

(3)数据库管理系统(Data Base Management System,DBMS)。DBMS是位于用户和数据库之间的一层数据管理软件,它是为数据库的建立、使用和维护而配置的。目前较为流行的大型数据库管理系统有:Informix,Oracle,Sybase等。微机上的数据库管理系统有FoxBASE,FoxPro,Access,Visual FoxPro,Clipper,dBASE。用户只有通过DBMS才能建立数据库结构,才能向数据库中输入数据,查找并提取数据,才可以对数据库中的数据结构和数据进行修改、添加、删除和连接。现在数据库已成为教育信息管理系统中的核心。在数据库管理系统支持下数据与程序的关系如图9-2所示。

img118

图9-2数据与程序的关系

2.实体模型和数据模型

管理信息系统处理数据就是对客观存在的事物进行反映,下面主要介绍如何将现实生活中的事物抽象到计算机能够存储和处理的数据形式。

(1)实体模型。

实体(entity)。实体是现实世界中所存在的客观事物。它可以是人,也可以是任何物体,还可以是抽象的事件。例如:一个学校,一个教师,一个班级是客观事物;一堂课,一次借阅图书,一次记功等则是属于抽象事件。不同的客观事物具有不同的特征:如学生有姓名、学号、性别、出生年月、班级、年级等特征;教师有职工号、姓名、身份证号、性别、科室、年级等特征。我们称客观事物为“实体”,同一类实体的集合我们称为实体集。例如,高一全体学生的集合,全校老师的集合,学校图书馆所有藏书的集合等。通常我们是用命名的实体型表示实体集所代表的群体,比如,实体型“高一学生”用来表示全体在校的学生,而不是表示某一个具体的高一的学生,每个高一的学生都是学生实体型“高一学生”的一个具体的“值”。凡是数据模型中的实体均表示实体型。以后我们谈到的实体,在不引起混淆的情况下,均表示它是实体型。

属性(attribute)。前面我们谈到了不同的事物具有不同的特征,我们把描述一个事物的特征的数据元素称之为该事物的“属性”,也就是每个实体都有自己的属性。例如,“学生”可以用姓名、学号、性别、出生年月、班级、年级等若干属性来描述;“教师”就可以用职工号、姓名、身份证号、性别、科室、年级等属性来描述。属性的具体取值称为属性值,用以表示一个具体的实体,如属性的组合(李平、1003、男、1982/4/23、三、高一)就表示了一个具体的学生。

关键字(key word)。如果某个属性或属性组合的值能够唯一标识出实体集中的每一个实体,以区别于其他的实体,我们就称这个属性为“关键字”。如,在“教职工”实体中,每一名教师的“职工号”可以用来区别其他的教师,所以“职工号”就可以作“关键字”。有人可能会提出“姓名”也能作关键字,实际上是不行的,因为可能会出现同名同姓的情况,所以“姓名”不能作为“关键字”。

E-R模型(entity relationship)。正如客观世界中的各种事物之间存在联系,实体和实体集之间也是有联系的。我们将这种客观世界中事物间的相互联系用E-R模型即实体模型来描述。实体模型由实体、属性、联系三部分组成。管理者设计数据库时,通常都是用E-R模型来构建数据库的概念模型。

实体:一般是用矩形框来表示,框内标注实体的名称。

属性:通常是用椭圆形来表示的,用连线将实体与属性连接起来。

实体与实体间的联系是用菱形框来表示,框内标注联系的名称,并用连线将菱形框分别与有关的实体连接,并在连线上标明联系的类型。联系的类型有三种:

1∶1表示一对一联系。例如,现有“一个班”和“班主任”两个实体,一个班只能有一个班主任,而一个班主任也只能负责一个班的管理工作,则“一个班”和“班主任”两个实体之间存在着一对一的联系,如图9-3所示。

img119

图9-3 一对一联系

1∶n表示一对多联系。例如,现有“一个班”和“学生”两个实体,一个班可以有很多学生,而一个学生则只能在一个班学习,则“一个班”和“学生”实体存在一对多的联系。如图9-4所示。

m∶n表示多对多联系。例如,现有“学生”和“课程”两个实体,一个学生可以选修多门课程,一门课程可以有多名学生选修,则“学生”和“课程”两个实体之间存在多对多的联系,“成绩”是“学生”和“课程”共有的属性,如图9-5所示。

img120

图9-4一对多联系

img121

图9-5多对多的联系

以上只画出了最基本的联系,对于多个实体间的联系,可以通过分解为少数实体之间的联系来进行描述。

例如,用E-R图描述实体“学生”、“课程”、“教师”、“系”之间的联系。

一个系可能有多名学生,但一名学生只能在一个系;

一个系可能有多名教师,但一名教师只能属于一个系;

一个教师可能讲授几门课程,但每门课程可能由多个教师来讲授;

一个教师可以给很多学生讲课,每个学生也可以有多名教师为其授课;

一个系可能开设几门课程,一门课程也可能在几个系都开设;

一名学生可以选修多门课程,一门课程也能被多个学生选修。

其E-R模型如图9-6所示。

img122

图9-6 学生、教师、课程、系之间的E-R模型

(2)数据模型。计算机只能处理数据,经过抽象了的客观事物及其相互之间联系的E-R模型并不能立即存入计算机,还需要将其进一步的表示成便于计算机处理的数据模型。数据模型即数据之间的相互联系,任何一个数据库管理系统都是基于某种数据模型的。它是数据库的逻辑模型。数据模型有三种,它们是层次模型,网状模型和关系模型。

层次模型:用数型结构表示实体型及实体之间联系的数据模型称为层次模型。如图9-7所示即层次模型。在层次模型中,数据被组织成由“根”开始的“树”,每个实体由根开始沿着不同的分支放在不同的层次上,最后的结点称为“叶”。层次模型的上一层叫做父结点,下一层叫做子结点。根无父结点,叶无子结点。每个结点且仅有一个父结点,而每个父结点可以有一个或多个子结点。

img123

图9-7 教育管理信息化标准层次模型

使用层次模型表示一对多的联系比较方便,由于层次模型中层次的顺序比较严格和复杂,引起数据的查询、插入、修改、删除也比较复杂,因此应用程序的编写比较复杂。不易表现多对多的联系,虽然通过转换可以实现多对多的联系,但是比较复杂不易掌握。

网状模型:用网状结构表示实体型及实体之间的联系称为网状模型。如图9-8所示即网状模型。网状模型中至少有一个子结点,有两个或两个以上的父结点;也可以有两个或多个结点没有父结点,网状模型反映了实体与实体之间的多对多的联系。但是它的编写与实现也比较复杂。

img124

图9-8网状模型

关系模型:用表格形式表示的实体与实体间的联系称为关系模型。与前两种模型相比,关系模型比较简单,容易为初学者接受。每个关系即一张二维表格。关系在磁盘上以文件形式存储,每个字段是表中的一列,每个记录是表中的一行。表9-2和表9-3分别代表学生成绩和学生联系方式的关系。

表9-2 学生成绩

img125

表9-3 学生联系方式

img126

以上两个关系中出现了共同的字段“学号”,正是这个公共字段把两个表联系起来了。从表9-2的内容可以看出,一个学生可以有多门学科的分数,每个学科的分数也是多个学生都有,所以学生与分数之间的关系是多对多的关系。

对关系的描述称为关系模式,格式如下:

关系名称(属性1,属性2,……属性n)。

一个关系模式对应一个关系的结构,可以存储为一个文件。例如,学生成绩(学号,语文,数学,外语,物理,化学,生物,历史,地理,政治);学生联系方式(学号,姓名,联系电话)分别描述了两个关系模式。

一个具体的关系模型总是对应若干个关系模式的集合。在关系模型中,基本的数据机构是二维表,关系之间的联系通过不同关系中的公共属性来体现。因而在关系模型中,无论实体还是实体间的联系均用关系来表示。

上面的学生成绩关系中,要想找到物理成绩不及格的学生的联系电话,则必须先在学生成绩关系中找到物理不及格的学生的学号01,再依据学号在学生联系方式关系中查找到家庭联系电话“61347801”。上述的查询过程中,同名学号起到了连接两个关系的纽带作用。由此可见,关系模型中的各个关系模式不应当是孤立的,而应该是相互有关系的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈