第四章 数据库设计基础.docx

上传人:飞****2 文档编号:79027463 上传时间:2023-03-19 格式:DOCX 页数:30 大小:227.30KB
返回 下载 相关 举报
第四章 数据库设计基础.docx_第1页
第1页 / 共30页
第四章 数据库设计基础.docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《第四章 数据库设计基础.docx》由会员分享,可在线阅读,更多相关《第四章 数据库设计基础.docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第四章 数据库设计基础数据库技术是计算机领域的一个重要分支。在计算机应用的三大领域(科学计算、数据处理和过程控制)中,数据处理约占其中的 70%,而数据库技术就是作为一门数据处理技术发展起来的。随着计算机应用的普及和深入,数据库技术变的越来越重要了,而了解、掌握数据库系统的基本概念和基本技术是应用数据库技术的前提。本章首先介绍数据库系统的基础知识,然后对基本数据模型进行讨论,特别是其中的ER 模型和关系模型;之后再介绍关系代数及其在关系数据库中的应用,并对关系的规范化理论作了简单的说明;最后,较为详细地讨论了数据库的设计过程。4 1 数据库系统的基本概念 4.1.1 数据、数据库、数据库管理系

2、统4.1.2 数据库系统的发展4.1.3 数据库系统的基本特点4.1.4 数据库系统的内部结构体系计算机科学与技术的发展,计算机应用的深入与拓展,使得数据库在计算机应用中的地位与作用日益重要,它在商业中、事务处理中占有主导地位。近年来在统计领域、在多媒体领域以及智能化应用领域中的地位与作用也变的十分重要。随着网络应用的普及,它在网络中的应用也日渐重要。因此,数据库已成为构成一个计算机应用系统的重要的支持性软件。4.1.1 数据、数据库、数据库管理系统 1.数据 数据( Data )实际上就是描述事物的符号记录。 计算机中的数据一般分为两部分,其中一部分与程序仅有短时间的交互关系,随着程序的结束

3、而消亡,它们称为临时性( Transient )数据,这类数据一般存放于计算机内存中;而另一部分数据则对系统起着长期持久的作用,它们称为持久性( Persistent )数据。数据库系统中处理的就是这种持久性数据。软件中的数据是有一定结构的。首先,数据有型( Type )与值 (Value) 之分,数据的型给出了数据表示的类型,如整型、实型、字符型等,而数据的值给出了符合给定型的值,如整型值 15 。随着应用需求的扩大,数据的型有了进一步的扩大,它包括了将多种相关数据以一定结构方式组合构成特定的数据框架,这样的数据框架称为数据结构( Data structure ),数据库中在特定条件下称之为

4、数据模式( Data schema )。在过去的软件系统中是以程序为主体,而数据则以私有形式从属于程序,此时数据在系统中是分散、凌乱的,这也造成了数据管理的混乱,如数据冗余度高,数据一致性差以及数据的安全性差等多种弊病。近 10 多年来,数据在软件系统中的地位产生了变化,在数据库系统以及数据库应用系统中数据已占有主体地位,而程序已退居附属地位。在数据库系统中需要对数据进行集中、统一的管理,以达到数据被多个应用程序共享的目标。2 数据库 数据库( Database ,简称 DB )是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。 数据库

5、存放数据是按数据所提供的数据模式存放的,它能构造复杂的数据结构以建立数据间内在联系与复杂的关系,从而构成数据的全局结构模式。 数据库中的数据具有“集成”、“共享”之特点,亦即是数据库集中了各种应用的数据,进行统一的构造与存储,而是他们可以被不同的应用程序所使用。 3. 数据库管理系统数据库管理系统( Database Management System, 简称 DBMS )是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。数据库中的数据是具有海量级的数据,并且其结构复杂,因此需要提供管理工具。数据库管理系统是数据库系统的核心,它主要有以下几个

6、方面的具体功能:(1)数据模式定义。数据库管理系统负责为数据库构建模式,也就是为数据库构建其数据框架。 (2) 数据存取的物理构建。数据库管理系统负责为数据模式的物理存储及构建提供有效的存取方法与手段。(3) 数据操纵。数据库管理系统为用户使用数据库中的数据提供方便,它一般提供查询、插入、修改、删除数据的功能。此外,它自身还具有做简单算术运算及统计的能力,而且还可以和某些过程性语言结合,使其具有强大的过程性操作能力。(4)数据的完整性、安全性定义与检查。数据库中的数据具有内在语义上的关联性与一致性,他们构成了数据的完整性,数据的完整性是保证数据库中的数据正确的必要条件,因此必须经常检查以维护数

7、据的正确。 数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用,因此必须要对数据正确使用作出必要的规定,并在使用时做检查,这就是数据的安全性。数据完整性与安全性的维护是数据库管理系统的基本功能。 (5)数据库的并发控制与故障恢复。数据库是一个集成、共享的数据集合体,它能为多个应用程序服务,所以就存在着多个应用程序对数据库的并发操作。在并发操作中如果不加以控制和管理,多个应用程序间就会相互干扰,从而对数据库中的数据造成破坏。因此,数据库管理系统必须对多个应用程序的并发执行做必要的控制一保证数据不受破坏,这就是数据库的并发控制。数据库中的数据一旦遭受破坏,数据库管理系统必须有能力及时进行

8、恢复,这就是数据库的故障恢复。(6) 数据的服务。数据库管理系统提供对数据的多种服务功能,如数据拷贝、转存、重组、性能检测、分析等。为完成以上六个功能,数据库管理系统一般提供相应的数据语言( Data Language ) , 他们是: 数据定义语言( Data Definition Language 简称 DDL )该语言负责数据的模式定义与数据的物理存取构建。 数据操纵语言( Data Manipulation Language 简称 DML )该语言负责数据的操纵,包括查询及增、删、改等操作。 数据控制语言( Data Control Language 简称 DCL )该语言负责数据完整

9、性、安全性定义与检查以及并发控制、故障恢复等功能,包括系统初起程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序、数据库恢复程序等。 上述数据语言按其使用方式具有两种结构形式: 交互式命令语言。它的语言简单,能在终端上即时操作,它又称为自含型或自主型语言。 宿主型语言。它一般可嵌入某些宿主语言( Host Language )中,如 C , C+ 和 COBOL 等高级过程性语言中。 此外,数据库管理系统还为用户提供服务的服务性( Utility )程序,包括数据初始装入程序、数据转存程序、性能检测程序、数据

10、库再组织程序、数据转换程序、通信程序等。 目前流行的 DBMS 均为关系数据库系统,比如 ORACLE 、 Sybase 的 PowerBuilder 及 IBM 的 DB2 、微软的 SQL Server 等,他们均为严格意义上的 DBMS 系统。另外一些小型的数据库,如微软的 Visual Foxpro 和 Access 等,它们只具备数据库管理系统的一些简单功能。 4. 数据库管理员 由于数据库的共享性,因此对数据库的规划、设计、维护、监视等需要有专人管理,称他们为数据库管理员( Database Administrator 简称 DBA )。其主要工作如下:(1)数据库设计( Data

11、base Design ) DBA 的主要工作之一是做数据库设计,具体的说是进行数据模式的设计。由于数据库的集成和共享性,因此需要有专门人员(即 DBA )对多个应用的数据需求做全面的规划、设计与集成。(2) 数据库维护。 DBA 必须对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转存等进行实施与维护。(3) 改善系统性能,提高系统效率。 DBA 必须随时监视数据库运行状态,不断调整内部结构,使系统保持最佳状态与最高效率。当效率下降时, DBA 需采取适当的措施,如进行数据库的重组、重构等。 5. 数据库系统 数据库系统( Database System 简称 DBS )由如下几

12、部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理人员(人员)、系统平台之一 - 硬件平台(硬件)、系统平台之二 - 软件平台(软件)。这五个部分构成了一个以数据库为核心的完整的运行实体,称为数据库系统。 在数据库系统中,硬件平台包括: 计算机:它是系统中硬件的基础平台,目前常用的有微型机,小型机,中型机,大型机及巨型机。 网络:过去数据库系统一般建立在单机上,但是近年来它较多的建立在网络上,从目前形势看,数据库系统今后将以建立在网络上为主,而其结构形式又以客户 / 服务器( C/S )方式与浏览器 / 服务器( B/S )方式为主。 在数据库系统中,软件平包括: 操作系统:它是系统

13、的基础软件平台,目前常用的有各种 UNIX (包括 LINUX )与 WINDOWS 两种。 数据库系统开发工具:为开发数据库应用程序所提供的工具,它包括过程性程序设计语言如 C , C+ 等。也包括可视化开发工具 VB 、 PB 、 Delphi 等,它还包括近期与 INTERNET 有关的 HTML 及 XML 等一些专用开发工具。 接口软件:在网络环境下数据库系统中数据库与应用程序,数据库与网络间存在着多种接口,他们需要用接口软件进行连接,否则数据库整体就无法运作,这些接口软件包括 ODBC 、 JDBC 、 OLEDB 、 CORBA 、 COM 、 DCOM 等。 6.数据库应用系统

14、( Database Application System 简称 DBAS ) 利用数据库系统进行应用开发可构成一个数据库应用系统,数据库应用系统是数据库系统再加上应用软件及应用界面三者所组成,具体包括:数据库、数据库管理系统,数据库管理员,硬件平台,软件平台,应用软件,应用界面。其中应用软件是由数据库系统所提供的数据库管理系统(软件)及数据库系统开发工具所书写而成的,而应用界面大多数由相关的可视化工具开发而成。 数据库应用系统的 7 个部分以一定的逻辑层次结构方式组成一个有机的整体。如果不计数据库管理员(人员)并将应用软件与应用界面记成应用系统,则数据库系统的结构如图 4.1 所示。 图4.

15、1 数据库系统的软硬件层次结构下面以一个用户读取某数据记录为例,展开在数据库系统中访问数据的具体执行过程,该过程如图 4.2 所示,对其各个步骤简单说明如下: 图4.2数据库系统访问数据的步骤(1)用户程序中有一条读取数据库记录的 DML 语句,当计算机执行到此语句时,即向 DBMS 发出读取相应记录的命令。(2)DBMS 接到该命令后,首先访问该用户对应的子模式。检查该操作是否在合法授权范围内及预读记录的正确性、有效性,若不合法则拒绝执行,并向应用程序状态返回区发出回答状态信息:发之执行下一步。(3)DBMS 读取模式描述并从子模式映像到全局模式,从而确定所需的逻辑记录类型。(4)DBMS

16、从逻辑模式映像到存储模式,从而确定读入哪些物理记录以及具体的地址信息。(5)DBMS 想操作系统发出从指定地址读取记录的命令。(6)操作系统执行读命令,按指定地址从数据库中把记录读入系统缓冲区,并在操作结束后向 DBMS 作出应答。(7)DBMS 按照模式将读入系统缓冲区的内容映像成用户要求读取的逻辑记录。(8)DBMS 将导出的逻辑记录送入用户工作区,并将操作执行情况的状态信息返回给用户。 (9)DBMS 将已执行的操作载入运行日志。(10)应用程序根据返回的状态信息决定是否利用该数据进行操作等。如果用户是更新一个记录内容,则执行过程类似。首先读出目标记录,并在用户工作区中进行修改,然后向

17、DBMS 发出“写回修改数据”的数据库指令即可。4.1.2数据库系统的发展 数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段是在 20 世纪 50 年代中期以前,主要用于科学计算,硬件无磁盘,直接存取,软件没有操作系统。 20 世纪 50 年代后期到 20 世纪 60 年代中期,进入文件系统阶段。 20 世纪 60 年代之后,数据管理进入了数据库系统阶段。随着计算机领域不断扩大,数据库系统的功能和应用领域也愈来愈广,到目前已成为计算机系统的基本及主要的支撑软件。 1.文件系统阶段 文件系统是数据库发展的初级阶段,它提供了简单的数据共享与数据管理能力。但

18、是它无法提供完整的、统一的、管理和数据共享的能力。由于它的功能简单,因此它附属于操作系统而不成为独立的软件,目前一般将其看成是数据库系统的雏形,而不是真正的数据库系统。 2.层次数据库与网状数据库阶段 从 20 世纪 60 年代末期起,真正的数据库系统 - 层次数据库与网状数据库开始发展,它们为统一管理与数据共享提供了有力支持,这个时期数据库系统蓬勃发展形成了有名的“数据库时代”。但是这两种系统也存在着不足,主要是它们脱胎于文件系统,受文件的物理影响较大,对数据库使用带来诸多不便,同时,此类系统的数据模式构造烦琐不宜于推广使用。 3.关系数据库系统阶段 关系数据库系统出现于 20 世纪 70

19、年代,在 80 年代得到蓬勃发展,并逐渐取代前两种系统,关系数据库系统结构简单,使用方便,逻辑性强物理性少,因此在 80 年代以后一直占据着数据库系统的主导地位。但是由于此系统来源于商业应用,适合于事务处理领域而对非事务处理领域应用受到限制,因此在 80 年代末期兴起与应用技术相结合的各种专用数据库系统。 工程数据库系统:是数据库与工程领域的结合 图形数据库系统:是数据库与图形应用的结合 图像数据库系统:是数据库与图像应用的结合 统计数据库系统:是数据库与工程应用的结合 知识库系统:是数据库与人工智能应用领域的结合 分布式数据库系统:是数据库与网络应用的结合 并行数据库系统:是数据库与多机并行

20、应用的结合 面向对象数据库系统:是数据库与面向对象方法的结合关于数据库管理三个阶段中的软硬件背景及处理特点,简单概括在表 4.1 中 人工管理 文件系统 数据库系统 背 景 应用背景 科学计算 科学计算、管理 大规模管理 硬件背景 无直接存取设备 磁盘、磁鼓 大容量磁盘 软件背景 没有操作系统 有文件系统 有数据库管理系统 处理方式 批处理 联机实时处理批处理 联机实时处理分布处理 批处理 特 点 数据管理者 人 文件系统 数据库管理系统 数据面向对象 某个应用程序 某个应用程序 现实世界 数据共享程度 无共享 冗余度大 共享性差 冗余度大 共享性大冗余度小 数据独立性 不独立 完全依赖于程序

21、 独立性差 具有高度的物理独立性和一定的逻辑独立性 数据结构化 无结构 记录内有结构整体无结构 整体结构化,用数据模型描述 数据控制能力 应用程序自己控制 应用程序自己控制 由 DBMS 提供数据安全性、完整性、并发控制和恢复 表 4.1 数据管理三个阶段的比较目前,数据库技术也与其它信息技术一样在迅速发展中,计算机处理能力的增强和越来越广泛的应用是促进数据库技术发展的主要动力。一般认为,未来的数据库系统应支持数据库管理,对象管理和知识管理,应该具有面向对象的基本特征。在关于数据库的诸多新技术中,下面三种是比较重要的: 面向对象数据库系统:用面向对象方法构筑面向对象数据模型使其具有比关系数据库

22、系统更为通用的能力; 知识库系统:用人工智能中的方法特别是用谓词逻辑知识表示方法构筑数据模型,使其模型具有特别通用的能力; 关系数据库系统的扩充:利用关系数据库作进一步扩展,使其在模型的表达能力与功能上有进一步的加强,如与网络技术相结合的 Web 数据库、数据仓库及嵌入式数据库等。 4.1.3数据库系统的基本特点 数据库技术是在文件系统基础上发展产生的,两者都以数据文件的形式组织数据,但由于数据库系统在文件系统之上加入了 DBMS 对数据进行管理,从而使得数据库系统具有以下特点:1. 数据的集成性数据库系统的数据集成性主要表现在如下几个方面: (1)在数据库系统中采用统一的数据结构方式,如在关

23、系数据库中采用二维表作为统一结构方式。(2) 在数据库系统中按照多个应用的需要组织全局的统一的数据结构(即数据模式),数据模式不仅可以建立全局的数据结构,还可以建立数据间的语义关系从而构成一个内在紧密联系的数据整体。(3) 数据库系统中的数据模式是多个应用共同的、全局的数据结构,而没个应用的数据则是全局数据结构中的一部分,称为局部结构(即视图),这种全局与局部的结构模式构成了数据库系统数据集成性的主要特征。2. 数据的高共享性与低冗余性由于数据的集成性使得数据可以为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享自身又可极大的减少数据冗余性,不仅减

24、少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中的同一数据的不同出现应保持相同的值,而数据不一致性是指同一数据在系统中不同拷贝处有不同的值。因此,减少冗余性以避免数据的不同出现是保证系统一致性的基础。 3.数据独立性数据独立性是数据与程序间的互不依赖性,即数据库中的数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构和存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。 (1)物理独立性:物理独立性即是数据的物理结构(包括存储结构、存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据

25、库的逻辑结构,从而不至引起应用程序的变化。(2) 逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间的关系等,不需要相应修改应用程序,这就是数据的逻辑独立性。 4.数据统一管理与控制 数据库系统不仅为数据提供高度集成环境,同时它还为数据提供统一管理的手段,这主要包含以下三个方面:(1) 数据的完整性检查:检查数据库中的数据的正确性以保证数据的正确。 (2)数据的安全性保护:检查数据访问者以防止非法访问。(3) 并发控制:控制多个应用的并发访问所产生的相互干扰以保证其正确性。4.1.4 数据库系统的内部结构体系 数据库系统在其内部具有三级模式及二级映射,三级模式分

26、别是感念模式,内部级模式与外部级模式,二级映射分别是感念级到内部级的映射以及外部级到感念级的映射。这种三级模式与二级映射构成了数据库系统内部的抽象结构体系,如图 4.3 所示。 图4.3三级模式、两级映像关系图1. 数据库系统的三级模式数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。(1) 概念模式。概念模式( Conceptual Schema )是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。此种描述是一种抽象的描述,它不设计具体的硬件环境与平台,也与具体的软件环境无关。 概念模式主要描述数据的概念记录类型以及它们间的关系,它还包括一些数据间

27、的语义约束,对它的描述可用 DBMS 中的 DDL 语言定义。(2) 外模式。外模式( External Schema )或用户模式( Users schema )。它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。概念模式给出了系统全局的数据描述而外模式则给出每个用户的局部数据描述。一个概念模式可以有若干个外模式,每个用户只关心与它有关的模式,这样不仅可以屏蔽大量无关信息而且有利于数据保护。在一般的 DBMS 中都提供有相关的外模式描述语言(外模式 DDL )。(3) 内模式。内模式( Internal schema )又称物理模式( Physical Schema )

28、, 它给出了数据库物理存储结构与物理存取方法,如数据存储文件结构、索引、集簇及 hash 等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。内模式对一般用户是透明的,但它的设计直接影响数据库的性能。 DBMS 一般提供相关的内模式描述语言(内模式 DDL )。 数据模式给出了数据苦的数据框架结构,数据是数据苦中的真正的实体。但这些数据必须按框架所描述的结构组织,以概念模式为框架所组成的数据库叫做概念数据库( Conceptual Database )以外模式为框架所组成的数据库叫做用户数据库( Users Database ),以内模式

29、为框架所组成的数据库叫做物理数据库( Physical Database )。这三种数据库中只有物理数据库是真实存在于计算机外存中的,其它两种数据库并不存在于计算机中,而是通过两种映射由物理数据库映射而成。模式的三个级别层次反映了模式的三个不同环境以及它们的不同要求,其中内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式,概念模式处于中层,它反映了设计者的数据全局逻辑要求,而外模式处于最外层,它反映了拥护对数据的要求。 2.数据库系统的两级映射 数据库系统的三级模式是数据的三个级别抽象,它把数据的具体物理时间留给物理模式,使用户与全局设计者不必关心数据库的具体实现与物理背景;同时,

30、它通过两级映射建立了模式间的联系与转换,使得概念模式与外模式虽然并不具备物理存在,但是也能通过映射而获得其实体。此外,两级映射也保证了数据库系统中数据的独立性,亦即数据的物理组织改变与逻辑概念级改变相互独立,使得只要调整映射方式而不必改变用户模式。(1) 概念模式到内模式的映射。该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储机构间的对应关系,此种映射一般由 DBMS 实现。 (2) 外模式到概念模式的映射。概念模式是一个全局模式而外模式是用户的局部模式。一个概念模式中可以定义多个外模式,而每个外模式是概念模式的一个基本视图。外模式到概念模式的映射给出了外模式与概念模式的对应关系,这种

31、映射一般也是由 DBMS 来实现的。4 2 数据模型 4.2.1 数据模型的基本概念4.2.2 E-R模型4.2.3 层次模型4.2.4 网状模型4.2.5 关系模型4.2.1数据模型的基本概念 数据库中的数据 模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界,这种反映是一个逐步转化的过程,它分为两个阶段:由现实世界开始,经历信息世界而至计算机世界,从而完成整个转化。 现实世界( real world ):用户为了某种需要,需将现实世界中的部分需求用数据库实现,这样,我们所见到的是客观世界的划定边界的一个部分环境,它称为现实世界。 信息世界( information world ):

32、通过抽象对现实世界进行数据库级上的刻画所构成的逻辑模型叫信息世界。信息世界与数据库的具体模型有关,如层次、网壮、关系模型等。 计算机世界( computer world ):在信息世界基础上致力于其在计算机物理结构上的描述,从而形成的物理模型叫计算机世界。现实世界的要求只有在计算机世界中才得到真正的物理实现,而这种实现是通过信息世界逐步转化得到的。 数据是现实世界符号的抽象,而数据模型( data model )则是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三个部分,它们是数据结构、数据操作与数

33、据约束。 (1)数据结构,数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作与约束均建立在数据结构上。不同数据结构有不同的操作与约束,因此,一般数据模型的分类均以数据结构的不同而分。 (2)数据操作。数据模型中的数据操作主要描述在相应数据结构上的操作类型与操作方式。 (3)数据约束。数据模型中的数据约束主要描述数据结构内数据同的语法、语义联系,它们之间的制约与依存关系,以及数据动态变化的规则,以保证数据的正确、有效与相容。 数据模型按不同的应用层次分成三种类型,它们是概念数据模型( conceptual data model )、逻辑数据模

34、型( logic data model )、物理数据模型( physical data model )。 概念数据模型简称概念模型,它是一种面向客观世界、面向用户的模型;它与具体的数据库管理系统无关,与具体的计算机平台无关。概念模型着重于对客观世界复杂事物的结构描述及它们之间的内在联系的刻画。概念模型是整个数据模型的基础。目前,较为有名的概念模型有 E-R 模型、扩充的 E-R 模型、面向对象模型及谓词模型等。 逻辑数据模型又称数据模型,它是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。概念模型只有在转换成数据模型后才能在数据库中得以表示。目前,逻辑数据模型也有很多种,较为成熟

35、并先后被人们大量使用过的有;层次模型、网状模型、关系模型、面向对象模型等。 物理数据模型又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。4.2.2 E-R 模型 概念模型是面向现实世界的,它的出发点是有效和自然地模拟现实世界,给出数据的概念化结构,长期以来被广泛使用的概念模型是 E-R 模型( entity-relationship model )(或实体联系模型),它于 1976 年 Peter Chen 首先提出。该模型将现实世界的要求转化成实体、联系、属性等几个基本秒年 ,以及它们间的两种基本联结关系,并且可以用一种图非常直观地表示出来。 1

36、 、 E-R 模型的基本概念 (1)实体 现实世界中的事物可以抽象成为实体,实体是概念世界中的基本单位,它们是客观存在的且又能相互区别的事物。凡是有共性的实体可组成一个集合称为实体集( entity set )。如小赵、小李是实体,他们又均是学生而组成一个实体集。 (2)属性 现实世界中事物均有一些特性,这些特性可以用属性来表示。属性刻画了实体的特征。一个实体往往可以有若干个属性。每个属性可以有值,一个属性的取值范围为该属性的值域( value domain )或值集( value set )。如小赵年龄取值为 17 ,小李为 19 。 (3)联系 现实世界中事物间的关联称为联系。在概念世界中

37、联系反映了实体间的一定关系,如工人与设备之间的操作关系,上、下级间的领导关系,生产者与消费者之间的供求关系。 实体集间的联系有多种,就实体集的个数而言有: 两个实体集间的联系。两个实体集间的联系是一种最为常见的联系,前面举的例子均属两个实体集间的联系 多个实体集间的联系。这种联系包括三个实体集间的联系以及三个以上实体集间的联系。如工厂、产品、用户这三个实体集间存在着工厂提供产品为用户服务的联系。 一个实体集内部的联系。一个实体集内哟若干个食堂,它们之间的联系称实体集内部联系。如某公司职工这个实体集内部可以有上、下级联系。 实体集间联系的个数可以是单个也可以是多个,如工人与设备之间有操作联系,另

38、外还可以有维修联系。两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种:一对一( one to one )的联系,简记为 1 : 1 。这种函数关系是常见的函数关系之一,如学校与校长间的联系,一个学校与一个校长间互相一一对应。 一对多( one to many )或多对一( many to one )联系,简记为 1 : M ( 1 : m )或 M : 1 ( m : 1 )。这两种函数关系实际上是一种函数关系,如学生与其宿舍房间的联系是多对一的联系(反之,则为一对多联系),即多个学生对应一个房间。 多对多( many to many )联系,简记为 M : N 或 m

39、 : n 。这是一种较为复杂的函数关系,如教师与学生这两个实体集间的教与学的联系是多对多的,因为一个教师可以教授多个学生,而一个学生又可以受教于多个教师。 2、E-R 模型三个基本概念之间的联接关系 E-R 模型由上面三个基本概念组成。由本体、联系、属性三者结合起来才能表示现实世界。 (1)实体集(联系)与属性间的联接关系 实体是概念世界中的基本单位,属性附属于实体,它本身并不构成独立单位。一个实体可以有若干个属性,实体以及它的所有属性构成了实体的一个完整描述,因此实体与属性同有一定的联系关系。如在人事档案中每个人(实体)可以有:编号、姓名、性别、年龄、籍贯、政治面貌等若干属性,它们组成了一个

40、有关人(实体)的完整描述。 属性有属性域,每个实体可取属性域内的值,一个实体的所有属性取值组成了一个值集叫元组( tuple )。在概念世界中,可以用元组表示实体,也可用它区别不同的实体。如在人事档案简表 4.2 中,每一行表示一个实体,这个实体可以用一组属性值表示。比如:( 101 ,赵英俊,男, 18 ,浙江,团员),( 102 ,王平,男, 21 ,江苏,党员),这两个元组分别表示两个不同的实体。 实体有型与值之别,一个实体的所有属性构成了这个实体的型,如人事档案中的实体,它的型是由编号、姓名、性别、年龄、籍贯、政治面貌等属性组成,而实体中属性值的集合(即元组)则构成了这个实体的值。 相

41、同型的实体构成了实体集。如表 4.2 中的每一行是一个实体,他们均有相同的型,因此表内诸实体构成了一个实体集。编 号 姓 名 性 别 年 龄 籍 贯 政治面貌 101 赵英俊 男 18 浙江 团员 102 王平 男 21 江苏 党员 103 吴亦奇 女 20 辽宁 群众 104 刘过 男 21 陕西 群众 105 李美丽 女 18 安徽 团员 表 4.2 人事档案简表联系也可以附有属性,联系和它的所有属性够成了联系的一个完整描述,因此,联系与属性间也有联系关系。如有教师与学生两个实体集间的教与学的联系,该联系尚可附有属性“教室号”。 (2)实体(集)与联系 实体集间可通过联系建立联系关系,一般

42、而言,实体集间无法建立直接关系,它只能通过联系才能建立联系关系。如教师与学生之间无法直接建立关系,只有通过“教与学”的联系才能在相互之间建立关系。 在E-R 模型中有三个基本概念以及它们之间的两种基本联系关系。它们将现实世界中的错综复杂的现象抽象成简单明了的几个概念与关系,具有极强的概括性和表达能力。因此, E-R 模型目前已成为表示概念世界的有力工具。 3. E-R 模型的图示方法 E-R 模型可以用一种非常直观的图的形式表示,这种图称为 E-R 图( entity-relationship diagram )。在 E-R 图中我们分别用下面不同的几何图形表示 E-R 模型中的三个概念与两个

43、联系关系。 (1)实体集表示法 在E-R 图中用矩形表示实体集,在矩形内写上该实体集的名字。如实体集学生( student )、课程( course )可用图 4.4 表示。 图4.4实体集表示法 (2)属性表示法 在 E-R 图中用椭圆形表示属性,在椭圆形内写上该属性的名称。如学生有属性:学号( S# )、姓名( Sn )及年龄( Sa ),它们可以用图 4.5 表示。 图4.5属性表示法 (3)联系表示法 在E-R 图中用菱形(内写上联系名)表示联系。如学生与课程间的联系 SC ,用图 4.6 表示。 图4.6联系表示法 三个基本概念分别用三种几何图形表示。它们间的联系关系也可用图形表示。

44、 (4)实体集(联系)与属性间的联系关系 属性依附于实体集,因此,它们之间有联系关系。在 E-R 图中这种关系可用联接这两个图形间的无向线段表示(一般情况下可用直线)。如实体集 student 有属性 S# (学号)、 Sn (学生姓名)及 Sa (学生年龄):实体集 course 有属性 C# (课程号)、 Cn (课程名)及 P#( 预修课号 ) ,此时它们可用图 4.7 联接。 图4.7实体集的属性间的联接属性也依附于联系,它们之间也有联接关系,因此也可用无向线段表示。如联系 SC 可与学生的课程成绩属性 G 建立连接并可用图 4.8 表示 图4.8联系与属性间的联接(5)实体集与联系间的联接关系 在E-R 图中实体集与联系间的联接关系可用联接这两个图形间的无向线段来表示。如实体集 student 与联系 SC 间有联接关系,实体集 course 与联系 SC 间也有联接关系,因此他们之间可用无向线段想联,构成一个如图 4.9 所示的图。图4.9实体集与联系间的联接关系 有时为了进一步刻画实体间的函数关系,还可在线段边上注明其对应的函数关系,如: 1 : 1 , 1 : n , n : m 等,如 student 与 course 间有多对多联系,此时在图中可以用图 4.10 所示的形式表示。 图4.10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁