《数据库与数据仓库44580.docx》由会员分享,可在线阅读,更多相关《数据库与数据仓库44580.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章 数据库与数据仓库第一节 数据库技术数据处理是指从某些已知的数据出发,推导加工出一些新的数据。在数据处理中,通常计算比较简单,而数据管理比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作。这部分操作是数据处理业务的基本环节,而且也是任何数据处理业务中必不可少的共有部分。数据处理的目的是从大量的数据中,按照应用的需要,根据数据自身的规律及其相互联系,通过分析、归纳、推理等科学方法,利用计算机技术,提取有效的信息资源,为进一步分析、管理、决策提供依据。一、数据管理技技术及其发展展数据管理技术经经历了人工管管理、文件系系统和数据库库系统三个阶阶段。(一)人工管理理阶段该
2、阶段处在200世纪50年年代中期以前前,当时计算算机主要用于于科学计算,其其他工作还没没有展开。当当时的硬件状状况是,外存存只有纸带、卡卡片、磁带,没没有磁盘等直直接存取的存存储设备。软软件状况是,没没有操作系统统,没有管理理数据的软件件。数据处理理的方式基本本上是批处理理。这时期的的数据管理呈呈以下特点:1、数据不保存存。2、数据由应用用程序管理。3、数据不共享享。4、数据不具独独立性。(二)文件系统统阶段20世纪50年年代后期到660年代中期期,随着数据据量的增加,数数据的存储、检检索和维护等等成为迫切需需要解决的问问题,数据结结构和数据管管理技术迅速速发展起来。此此时,计算机机硬件方面有
3、有了磁盘、磁磁鼓等直接存存取的外部存存储设备;而而软件中出现现了操作系统统和高级语言言。操作系统统中有了专门门进行数据管管理的软件,称称为文件系统统。处理方式式上不仅有了了批处理,而而且能够联机机实时处理。在文件管理阶段段,文件系统统为应用程序序和数据之间间提供了一个个公共接口,使使应用程序采采用统一的存存取方法来操操作数据,应应用程序和数数据之间不再再是直接的对对应关系。这这一时期的数数据管理的特特点是:1、数据可以长长期保存。数数据以“文件件”的形式可可以长期保存存在外部存储储设备中。2、数据由文件件系统管理。文文件系统把数数据组织成相相互独立的数数据文件,利利用按文件名名访问、按记记录进
4、行存取取的管理技术术,可以对文文件进行修改改、插入和删删除的操作。3、数据具有一一定的独立性性。程序与数数据之间具有有“设备独立立性”,即程程序只需用文文件名就可以以访问数据,不不必关心数据据的物理位置置,由文件系系统提供存取取方式。(三)数据库系系统阶段20世纪60年年代以来,计计算机用于管管理的规模越越来越大,应应用越来越广广泛,数据量量急剧增大,对对数据共享的的要求越来越越迫切;同时时,大容量磁磁盘已经出现现,联机实时时处理业务增增多;软件价价格在系统中中的比重日益益上升,硬件件价格大幅下下降,编制和和维护应用软软件所需成本本相对增加。在在这种情况下下,为了解决决多用户、多多应用共享数数
5、据的需求,使使数据为尽可可能多的应用用程序服务,数数据库技术应应运而生,出出现了统一管管理数据的专专门软件系统统数据库管管理系统(DDBMS,DDataBaase Maanagemment SSystemm)。数据库技术的出出现主要是为为了克服文件件管理系统在在管理数据上上的诸多缺陷陷,满足人们们对数据管理理的需求。与与文件系统相相比,应用程程序不再直接接访问数据文文件,而是通通过数据库管管理系统来访访问数据;数数据文件也不不再被应用程程序管理,而而由数据库管管理系统统一一管理。数据库阶段的数数据管理特点点是:1、数据结构化化。数据结构构化是数据库库与文件系统统的根本区别别。在文件系系统中,相
6、互互独立的文件件的内部(即即记录的结构构)是有结构构的,但从整整个系统来说说,数据在整整体上是没有有结构的。即即记录内部有有了结构,但但记录间没有有联系。在数数据库系统中中实现了整体体数据的结构构化,数据不不再是针对某某个应用,而而是面向全组组织,在整体体上服从一定定的结构形式式。同时在数数据库系统中中存取数据的的方式也很灵灵活,可以存存取数据库中中某个数据项项、一组数据据项、一个记记录或一组记记录,而在文文件系统中数数据存取的最最小单位是记记录。2、较高的数据据独立性。用用户能以简单单的逻辑结构构操作数据而而无需考虑数数据的物理结结构。数据库库的结构分成成用户的局部部逻辑结构、数数据库的整体
7、体逻辑结构和和物理结构三三级。用户(应用程序或或终端用户)的数据和外外存中的数据据之间转换由由数据库管理理系统实现。3、数据共享。在在数据库系统统中,数据不不再仅仅服务务于某个程序序或用户,而而成为若干程程序或用户的的共享资源,由由数据库管理理系统统一管管理与控制。在在数据库中,由由DBMS完完成诸如打开开、关闭、读读、写等文件件的低级操作作,应用程序序不必关心数数据存储和其其他实现的细细节,可以在在更高的抽象象级别上访问问数据。文件件结构由DBBMS修改,从从而减少应用用程序的维护护工作量,提提高数据的独独立性。4、方便的用户户接口。用户户可以使用查查询语句或终终端命令操作作数据库,也也可以
8、用程序序方式(如用用Delphhi、VC、VVB、Javva等高级语语言和数据库库语言联合编编制的程序)操作数据库库。5、较强的数据据控制能力。并并发控制能力力,对程序的的并发操作加加以控制,防防止数据库被被破坏;恢复复能力,系统统有能力在数数据库被破坏坏或数据不可可靠时,把数数据库恢复到到最近某个正正确的状态;完整性能力力,保证数据据库中数据完完整;安全性性能力,保证证数据库中数数据安全。(四)数据库发发展新技术 数据库技术发展展之快、应用用之广是计算算机科学其他他领域的技术术无可比拟的的。随着数据据库应用领域域的不断扩大大和信息量的的急剧增长,占占主导地位的的关系数据库库系统已不能能满足新
9、的应应用领域的需需求,如CAAD(计算机机辅助设计)/CAM(计算机辅助助制造)、CCIMS(计计算机集成制制造系统)、GG1S(地理理信息系统)、MIS(管理信息系系统)、KBBS(知识库库系统)等,都都需要数据库库新技术的支支持。这些新应用领域域的特点是:存储和处理理的对象复杂杂,对象间的的联系具有复复杂的语义信信息;需要复复杂的数据类类型支持;需需要常驻内存存的对象管理理以及支持对对大量对象的的存取和计算算。这些需求求是传统关系系数据库系统统难以满足的的。 自200世纪60年年代中期以来来,数据库技技术与具他领领域的技术相相结合,出现现了数据库的的许多新的分分支,如:与与网络技术相相结合
10、出现了了网络数据库库;与分布处处理技术相结结合出现了分分布式数据库库;与面向对对象技术相结结合出现了面面向对象数据据库;与人工工智能技术相相结合出现了了知识库;与与并行处理技技术相结合出出现了并行数数据库;与多多媒体技术相相结合出现了了多媒体数据据库。1、分布式数据据库技术 分布式式数据库系统统(Disttributted DaataBasse Sysstem,DDDBS)是是在集中式数数据库基础上上发展起来的的,分布式数数据库系统是是地理上分布布在计算机网网络的不同节节点,逻辑上上属于同一系系统的数据库库系统,分布布式数据库系系统不仅能支支持局部应用用,存取本地地节点或另一一个节点的数数据,
11、而且能能支持全局应应用,同时存存取两个或两两个以上节点点的数据。 2、面面向对象数据据库技术面向对象数据库库系统(Obbject-Oriennted DDataBaase Syystem,OOODBS)是将面向对对象的模型、方方法和机制,与与先进的数据据库技术有机机地结合而形形成的新型数数据库系统。它它从关系模型型中脱离出来来,强调在数数据库框架中中发展类型、数数据抽象、继继承和持久性性。它的基本本设计思想是是:一方面把把面向对象语语言向数据库库方向扩展,使使应用程序能能够存取并处处理对象;另另一方面扩展展数据库系统统,使其具有有面向对象的的特征,提供供一种综合的的语义数据建建模概念集,以以便
12、对现实世世界中复杂应应用的实体和和联系建模。因因此,面向对对象数据库系系统首先是一一个数据库系系统,具备数数据库系统的的基本功能,其其次是一个面面向对象的系系统,针对面面向对象程序序设计语言的的永久性对象象存储管理而而设计的,充充分支持面向向对象的概念念和机制。 3、多媒媒体数据库 多媒体数据据库系统(MMulti-mediaa Dataabase Systeem,MDBBS)是数据据库技术与多多媒体技术相相结合的产物物。在许多数数据库应用领领域中,都涉涉及到大量的的文字、图形形、图像、声声音等多媒体体数据,这些些与传统的数数字、字符等等格式化数据据有很大的不不同,都是一一些结构复杂杂的对象。
13、这这主要体现为为如下几点: (1)数数据量大。格格式化数据的的数据量小,而而多媒体数据据量一般都很很大,1分钟钟视频和音频频数据就需要要几十兆空间间。 (2)结结构复杂。传传统的数据以以记录为单位位,一个记录录由若干个字字段组成,结结构简单,而而多媒体数据据种类繁多、结结构复杂,大大多是非结构构化数据,来来源于不同的的媒体且具有有不同的形式式和格式。(3)数据传输输的连续性。多多媒体数据,如如声音或视频频数据的传输输必须是连续续的、稳定的的,不能间断断,否则出现现失真而影响响效果。多媒体数据的这这些特点,使使系统不能像像格式化数据据一样去管理理和处理多媒媒体数据,也也不能简单地地通过扩充传传统
14、数据库来来满足多媒体体应用的需求求,因此,多多媒体数据库库需要有特殊殊的数据结构构、存储技术术、查询和处处理方式。 4、数数据仓库 随着数数据库应用规规模、范围和和深度的不断断扩大,般般的事务处理理已不能满足足应用的需要要,企业界需需要在大量信信息数据基础础上的决策支支持(Deccisionn Suppport,DDS)。数据据仓库(Daata Waarehouusing,DDW)技术的的兴起满足了了这一需求。数据仓库技术是是目前数据处处理中发展十十分迅速的一一个分支。所所谓“数据仓仓库”,就是是一种长期数数据存储,这这些数据来自自于多个异种种数据源。通通过数据仓库库提供的联机机分析处理(OL
15、AP)工具,实现现各种粒度的的多维数据分分析,以便向向管理决策提提供支持。数数据仓库系统统允许将各种种应用系统集集成在一起,为为统一的历史史数据分析提提供坚实的平平台,对信息息处理进行支支持。数据仓库可以提提供对企业数数据的方便访访问和强大的的分析工具,从从企业数据中中获得有价值值的信息,发发掘企业的竞竞争优势,提提高企业的运运营效率,指指导企、业决决策。数据仓仓库作为决策策支持系统(Decission SSupporrt Sysstem,DDSS)的有有效解决方案案,涉及3方方面的技术内内容:数据仓仓库技术、联联机分析处理理(On-LLine AAnalyssis Prrocesssing,
16、OOLAP)技技术和数据挖挖掘(Datta Minning,DDM)技术。二、数据库系统统的组成数据库系统是由由支持数据库库运行的硬件件、数据库、数数据库管理系系统、应用软软件、数据库库管理员和用用户组成。如如图6-1所所示。图6-1 数据据库系统(一)数据库数据库是长期存存储在计算机机存贮介质上上,有一定组组织形式、可可共享的数据据集合。针对对应用的所需需要进行收集集并抽取大量量数据,经过过加工处理后后保存在数据据库中。数据据库中的数据据按一定的数数据模型组织织、描述和存存储,具有较较小的冗余度度、较高的数数据独立性和和易扩展性,并并为各种用户户共享。数据据库中的数据据由数据库管管理系统进行
17、行统一管理和和控制,用户户对数据库进进行的各种操操作都是通过过数据库管理理系统实现的的。(二)支持数据据库运行的硬硬件硬件是数据库赖赖以存在的物物理设备,包包括CPU、存存储器和其他他外部设备等等。数据库系系统要求要有有较大的内存存,用以存放放系统程序、应应用程序和开开辟用户工作作区及系统缓缓冲区;而对对外部存储器器更有特殊要要求,一般应应配备高速度度、大容量的的直接存取存存储设备(磁磁盘、光盘等等)。(三)数据库管管理系统数据库管理系统统(DBMSS)是介于用用户和操作系系统之间的一一层数据管理理软件,属于于系统软件。它它由计算机软软件生产厂家家按商品软件件出版。如OORACLEE公司的Or
18、racle系系统、SYBBASE公司司的Sybaase系统、MMicrossoft公司司的SQL Serveer系统以及及MySQLL等。数据库管理系统统为数据库的的建立、运行行和维护提供供了统一的管管理和控制。用用户通过数据据库管理系统统定义数据和和操纵数据,由由它保证数据据的安全性、完完整性、并发发使用及发生生故障后的系系统恢复。数数据库管理系系统是数据库库系统的核心心,其功能的的强弱是衡量量数据库系统统性能优劣的的主要指标。(四)应用程序序一个数据库应用用可分为客户户端应用程序序和服务端应应用程序两类类。服务端应应用程序运行行在数据库服服务器上,是是真正存储和和操纵数据的的,它接受用用户
19、程序的请请求,对数据据进行不同的的操作。客户户端应用程序序运行在客户户端计算机上上,实现用户户的业务逻辑辑,通过客户户端应用程序序界面,用户户可以发出不不同的请求给给服务器端,由由服务端程序序完成各种各各样的操作。一一般情况下,客客户端和服务务器端的程序序通过标准SSQL语言通通信。数据库应用程序序主要完成用用户的业务逻逻辑,被安装装在用户的计计算机上。应应用程序和数数据库管理系系统一起完成成用户的业务务处理。在这这个应用中,数数据库管理系系统负责数据据的管理,提提供数据共享享功能,因此此多个应用程程序可以同时时使用同一个个数据库。应应用程序使用用数据库是通通过DBMSS实现的。(五)数据库管
20、管理员(DaataBasse Admministtratorr,DBA)数据库的建立、使使用和维护工工作等只靠一一个DBMSS远远不够,还还要有专门的的人员来完成成。大型数据据库通常由专专业人员设计计,还要配上上专职数据库库管理员(DDBA)。DDBA是控制制数据整体结结构的一组人人员,负责数数据库系统(DBS,DDataBaase Syystem)的正常运行行,承担创建建、监控和维维护数据库结结构的责任。(六)用户按照应用数据库库系统的方式式不同,可以以分为数据库库开发人员和和终端用户。数数据库开发人人员包括系统统分析员、数数据库设计人人员和应用程程序员。三、数据库系统统的体系结构构为了有效
21、地组织织和管理数据据,提高数据据库的逻辑独独立性和物理理独立性,美美国ANSII/SPARRC(美国国国家标准化组组织/标准规规划与需求委委员会)数据据库管理系统统研究小组于于1975年年、19788年提出了标标准化的建议议,将数据库库体系结构分分为三级:面面向用户或应应用程序员的的用户级(外外部级)、面面向建立和维维护数据库人人员的概念级级和面向系统统程序员的物物理级(内部部级)。用户户级对应外模模式,概念级级对应模式,物物理级对应内内模式,使不不同级别的用用户对数据库库形成不同的的视图。所谓谓视图是指观观察、认识和和理解数据的的范围、角度度和方法,即即视图就是数数据库在用户户“眼中”的的反
22、映。显然然不同层次(级别)用户户所“看到”的的数据库是不不相同的。数数据库系统的的体系结构如如图6-2所所示。用户视图用户级应用A应用B应用E应用D应用C外模式1外模式2外模式3外模式到概念模式的映射概念模式概念模式到内模式的映射内模式数据库全局视图概念级存储视图物理级DBMSOS图6-2 数据库系统统的体系结构构(一)模式模式又称概念模模式或逻辑模模式,对应于于概念级。它它是由数据库库设计者综合合所有用户的的数据,按照照统一的观点点构造的全局局逻辑结构,是是对数据库中中全部数据的的逻辑结构和和特征的总体体描述,是所所有用户的全全局视图。模式是数据库系系统结构的中中间层,既不不涉及数据的的物理
23、存储细细节和硬件环环境,也与具具体的应用程程序无关。一一个数据库只只有一个模式式。定义模式式时不仅要定定义数据的逻逻辑结构,例例如数据记录录由哪些数据据项构成,数数据项的名称称、类型等,还还要定义数据据之间的联系系。数据库管管理系统提供供数据模式描描述语言(模模式DDL)来描述、定定义模式,反反映了数据库库系统的整体体观。(二)外模式外模式又称子模模式或用户模模式,对应于于用户级。它它是数据库用用户(包括程程序员和终端端用户)所看看到和使用的的局部数据的的逻辑结构和和特征的描述述,是数据库库的用户视图图。外模式是从模式式中导出的一一个子集,一一个数据库可可以有多个外外模式。针对对不同用户需需求
24、,其外模模式可以是不不同的。用户户可以通过外外模式描述语语言(外模式式DDL)来来描述、定义义对应于用户户的数据记录录(外模式),也可以利利用数据操纵纵语言(DMML)对这些些数据记录进进行操作。外外模式反映了了数据库的用用户观。(三)内模式 内模式又称存存储模式,对对应于物理级级。它是数据据库中全体数数据的内部表表示或底层描描述,是数据据库最低一级级的逻辑描述述,它描述了了数据在存储储介质上的存存储方式和物物理结构,对对应着实际存存储在外存储储介质上的数数据库,例如如,记录的存存储方式是顺顺序存储还是是按照B树结结构存储;数数据是否压缩缩存储,是否否加密等。一个数据库只有有一个内模式式。内模
25、式由由内模式描述述语言(内模模式DDL)来描述、定定义,它反映映了数据库的的存储观。(四)二级映射射数据库系统的三三级模式是数数据在三个级级别上的抽象象,使用户能能够逻辑地、抽抽象地处理数数据而不必关关心数据在计计算机中的物物理表示和存存储。实际上上,对于一个个数据库系统统而言,只有有物理级数据据库是客观存存在的,概念念级数据库只只是物理数据据库的一种逻逻辑的、抽象象的描述(即即模式),用用户级数据库库则是用户与与数据库的接接口,它是概概念级数据库库的一个子集集(外模式)。为了能够在内部部实现这三个个抽象层次的的联系和转换换,数据库管管理系统在这这三级模式之之间提供了两两层映射:外外模式模式式
26、映射,模式式内模式映映射。1.外模式模模式映射外模式模式映映射定义了该该外模式与模模式之间的对对应关系。这这些映射定义义通常包含在在各自外模式式的描述中。当模式改变时(例如增加新新的属性、改改变属性的数数据类型时),只要改变变其映射,就就可以使外模模式保持不变变,对应的应应用程序也可可保持不变(因为应用程程序是依据外外模式编写的的),从而保保证了数据与与应用程序的的逻辑独立性性。2.模式内模模式映射模式内模式映映射定义了数数据库全局逻逻辑结构与存存储结构之间间的对应关系系。例如说明明记录和字段段在内部是如如何表示的。该该映射定义通通常包含在模模式描述中。当当数据的存储储结构发生变变化时,只需需
27、改变模式内模式映射射,就能保持持模式不变,因因此应用程序序也可以保持持不变,从而而保证了数据据与应用程序序的物理独立立性。正是通过这两级级映射,将用用户对数据库库的逻辑操作作最终转换成成对数据库的的物理操作。在在这一过程中中,用户不必必关心数据库库全局,更不不必关心物理理数据库,用用户面对的只只是外模式,因因此,换来了了用户操作和和使用数据库库的方便。这这两种映射转转换是由数据据库管理系统统实现的,它它将用户对数数据库的操作作从用户级转转换到物理级级去执行。同时也正是通过过这两级映射射,大大提高高了数据与应应用程序之间间的独立性,使使得数据的定定义和描述可可以从应用程程序中分离出出来,简化了了
28、程序的编制制,减少程序序的维护和修修改。四、概念模型模型是现实世界界特征的模拟拟和抽象,例例如一架飞机机模型使人一一眼望去就能能联想到真实实的飞机。数数据模型(DDate MModel)也也是一种模型型,它是用来来抽象、表示示和处理现实实世界的数据据和信息的工工具。概念模型用于对对信息世界建建模,是现实实世界到信息息世界的第一一层抽象。在在数据库系统统的开发过程程中,概念模模型作为与用用户进行交流流的语言,成成为数据库设设计人员进行行数据库设计计的有力工具具。因此概念念模型具有较较强的语义表表达能力,能能够方便、直直接地表达应应用中的各种种语义知识,便便于用户理解解。(一)基本概念念1、实体现
29、实世界中的客客观事物在信信息世界中称称为实体(EEntityy)。实体可可以是具体的的人、事、物物,也可以是是抽象的概念念或联系,例例如一个教师师、一个学生生、一门课、学学生的一次选选课、教师与与系的工作关关系等都是实实体。关于实体的其它它概念还有:(1)属性(AAttribbute)实体所具有的某某一特性称为为属性。一个个实体可以由由若干个属性性来刻画。例例如学生实体体可以由学号号、姓名、性性别、出生年年月、所在院院系等属性组组成。例如,(22006122023044,张勇,男男,19888/7,工商商系),这些些属性组合起起来表征了一一个学生。属性有型和值之之分。属性型型就是属性名名及其取
30、值类类型,属性值值就是属性在在其值域中所所取的具体值值。学生实体体中姓名属性性,“姓名”和和取值字符类类型就是其型型,而“张勇勇”则是其值值。(2)实体标识识符(Ideentifiier)能够唯一标识一一个实体的属属性集称为实实体标识符,也也称为关键码码,简称码或或键。例如学学号是学生实实体的码。(3)域(Doomain)属性的取值范围围称为该属性性的域。例如如,学号的域域为11位整整数,姓名的的域为字符串串集合,性别别的域为男男,女等。(4)实体型(EEntityy Typee)具有相同属性的的实体必然具具有共同的特特征和性质。用用实体名及其其属性名集合合来抽象和刻刻画同类实体体,即实体的的
31、结构描述,称称为实体型。例例如,学生(学学号,姓名,性性别,出生年年份,所在院院系)就是一一个实体型。(5)实体集(EEntityy Set)同型实体的集合合称为实体集集。例如,某某个班的全体体学生就是一一个实体集。2、实体联系 在现实实世界中,事事物是相互联联系的,这种种联系必然要要在数据库中中有所反映。建建立概念模型型的一个主要要任务就是要要确定实体之之间的联系。所谓联系(Reelatioonshipp)就是实体体之间的相互互关系,包括括实体内部的的联系和实体体之间的联系系。实体内部部的联系通常常指的是组成成实体的各属属性之间的联联系。实体之之间的联系通通常是指不同同实体集之间间的联系。常
32、见的实体联系系可以有三种种,如图6-3所示:图6-3 两个个实体型之间间的三类联系系(1)一对一联联系(1:11)如果对于实体集集A中的每一一个实体,实实体集B中至至多有一个(也也可以没有)实实体与之联系系;反之亦然然,则称实体体集A与实体体集B具有一一对一联系,记记为1:1。例例如,学校里里面,一个班班级只有一个个班长,而一一个班长只在在一个班中任任职,则班级级与班长之间间具有一对一一联系。(2)一对多联联系(1:NN) 如果对于实体集集A中的每一一个实体,实实体集B中有有N个实体(NN0)与之之联系;反之之,对于实体体集B中的每每一个实体,实实体集A中至至多只有一个个实体与之联联系,则称实
33、实体集A与实实体集B有一一对多联系,记记为1:N。例例如,一个班班级中有若干干名学生,而而每个学生只只在一个班级级中学习,则则班级与学生生之间具有一一对多联系。(3)多对多联联系(M:NN) 如果对于实体集集A中的每一一个实体,实实体集B中有有N个实体(NN0)与之之联系;反之之,对于实体体集B中的每每一个实体,实实体集A中有有M个实体(MM0)与之之联系,则称称实体集A与与实体集B具具有多对多联联系,记为MM:N。例如如,一门课程程同时有若干干个学生选修修,而一个学学生可以同时时选修多门课课程,则课程程与学生之间间具有多对多多联系。实际上,一对一一联系是一对对多联系的特特例,而一对对多联系又
34、是是多对多联系系的特例。(二)概念模型型的表示方法法概念模型是对信信息世界建模模,所以概念念模型应该能能够方便、准准确地表示出出上述信息世世界中的常用用概念。概念念模型的表示示方法很多,其其中最为著名名和常用的是是P.P.SS.Chenn于19766年提出的实实体联系方方法(Enttity-RRelatiionshiip Appproachh)。该方法法用E-R图图来描述现实实世界的概念念模型,E-R方法也称称为E-R模模型。E-R图提供了了表示实体型型、属性和联联系的方法:(1)实体型:用矩形表示示,矩形框内内写明实体名名。(2)属性:用用椭圆形表示示,并用无向向边将其与相相应的实体连连接起
35、来。(3)联系:用用菱形表示,菱菱形框内写明明联系名,并并用无向边分分别与有关实实体连接起来来,同时在无无向边旁标上上联系的类型型(1:1,11:N或M:N)。需要要注意的是,如如果一个联系系具有属性,则则这些属性也也要用无向边边与这个联系系连接起来。例6-1 某工厂物资资入库管理的的概念模型。物资管理涉及的的实体有:l 供方单位:属性性有单位号、单单位名、地址址、联系人、邮邮政编码l 物资:属性有物物资代码、名名称、规格、备备注l 库存:属性有入入库号、日期期、货位、数数量l 合同:属性有合合同号、数量量、金额、备备注l 结算:属性有结结算编号、用用途、金额、经经手人这些实体间的联联系包括:
36、l 入库:一种物资资可以分多次次入库,所以以是1:N联联系l 验收:一份合同同订购的物资资可以分多次次验收,所以以是1:N联联系l 购进:一次购进进的物资可以以经多次结算算,而一次结结算可以承办办多次购进的的物资,所以以是多对多的的联系。其属属性为:数量量、金额。l 付款:也是多对对多的联系。其其属性是:数数量、金额。l 订货:这是一个个数量超过两两个的不同类类型实体之间间的联系。在在订货业务中中,一种物资资可由多家供供应,产生多多笔合同。反反之,一个供供应单位可以以供应多种物物资,产生多多笔合同,所所以,在图中中用M:N:L的结构来来表示。其属属性为:数量量、单价。该工厂的物资入入库管理E-
37、R图如图66-4,6-5 所示。 图6-4 实体和联系系的E-R图图1MNNLNMMN物资库存入库订货验收购进供方单位合同付款结算1N图6-5 工厂厂物资入库管管理E-R图图五、数据模型数据模型是直接接面向数据库库的逻辑结构构,是对现实实世界的第二二层抽象。数数据库系统均均是基于某种种数据模型的的,数据模型型是数据库系系统的核心和和基础。因此此,了解数据据模型的概念念是学习数据据库的基础。(一)数据模型型概述由于计算机不能能直接处理现现实世界中的的具体事物,所所以人们必须须事先把具体体事物转换成成计算机能够够处理的数据据。在数据库库中用数据模模型这个工具具来抽象、表表示和处理现现实世界中的的数
38、据和信息息。数据模型应满足足三方面要求求:一是能比比较真实地模模拟现实世界界;二是容易易为人所理解解;三是便于于在计算机上上实现。一种种数据模型要要很好地满足足这些方面的的要求是很困困难的。在数数据库系统中中针对不同的的使用对象和和应用目的,应应采用不同的的数据模型。数据模型由三个个基本的要素素组成:数据据的结构、数数据的操作、数数据的约束条条件。其中数数据的结构最最具代表性。从文件系统中,可可以看到一个个简单数据模模型的基本框框架。其数据据的结构包括括了文件、记记录、字段等等概念;其数数据的操作包包括打开、关关闭、读、写写等文件操作作;其约束条条件表现在字字段有类型和和长度的定义义。当然这个
39、个简单的数据据模型没有描描述数据间的的联系。数据模型从概念念上描述了系系统的静态特特征、动态特特征和约束条条件。静态特特征是指数据据的基本结构构、数据间的的联系;动态态特征是指定定义在数据上上的操作;约约束条件主要要是完整性约约束。1、数据结构数据结构是所研研究的对象类类型的集合。这这些对象是数数据库的组成成成分,它们们包括两类,一一类是与数据据类型、内容容、性质有关关的对象;另另一类是与数数据之间联系系有关的对象象。数据结构是刻画画一个数据模模型性质最重重要的方面,它它是对系统静静态特性的描描述。在数据据库系统中,人人们通常按照照其数据结构构的类型来命命名数据模型型。例如层次次结构、网状状结
40、构和关系系结构的数据据模型分别命命名为层次模模型、网状模模型和关系模模型。2、数据操作数据操作是指对对数据库中各各种对象的实实例允许执行行的操作的集集合,包括操操作及有关的的操作规则。数数据库主要有有检索和更新新(包括插入入、删除、修修改)两大类类操作。数据据模型必须定定义这些操作作的确切含义义、操作符号号、操作规则则以及实现操操作的语言。数数据操作是对对系统动态特特性的描述。3、数据的约束束条件数据的约束条件件是一组完整整性规则的集集合。完整性性规则是给定定的数据模型型中数据及其其联系所具有有的制约和依依存规则,用用以限定符合合数据模型的的数据库状态态以及状态的的变化,以保保证数据的正正确、
41、有效、相相容。数据模型应该反反映和规定本本数据模型必必须遵守的基基本的通用的的完整性约束束条件。此外外,数据模型型还应该提供供定义完整性性约束条件的的机制,以反反映具体应用用所涉及的数数据必须遵守守的特定的语语义约束条件件。例如,年年龄不能取负负值,学生累累计成绩不得得有三门以上上不及格等。(二)关系模型型关系模型是目前前最重要的一一种数据模型型。关系数据据库系统采用用关系模型作作为数据的组组织方式。1、关系模型的的数据结构关系模型与以往往的模型不同同,其数据结结构单一,它它是建立在严严格的数学概概念基础上的的。在关系模模型中,实体体以及实体之之间的各种联联系都用关系系来表示。在在用户观点下下
42、,关系模型型中数据的逻逻辑结构是一一张二维表,它它由行和列组组成。现在以以教工登记表表(如表6-1所示)为为例,介绍关关系模型中的的一些术语。表6-1 关关系模型的数数据结构职工号姓名出生日期性别学院电话100001章文1968.100男管理学院882312334100022王芳1954.2女外语学院856612333100030宋晖1973.4男文学院822345667 关系:一个个关系对应通通常说的一张张表。如表66-1中的这这张学生登记记表。 元组:表中中的一行即为为一个元组。 属性:表中中的一列即为为一个属性,给给每一个属性性起一个名称称即属性名。如如上表有6列列,对应6个个属性(职工
43、工号,姓名,出出生日期,性性别,学院,电电话)。主键(码):表中的某个个属性组,它它可以唯一确确定一个元组组。如表6-1中的职工工号,可以唯唯一确定一个个教职工,也也就成为此关关系的主键(码)。 域:属性的的取值范围。如如人的出生日日期应在公历历日期规定的的范围内,性性别的域是(男男,女),学学院的域是一一个学校所有有院系名的集集合。 分量:元组组中的一个属属性值。 关系模式:对关系的描描述成为关系系模式,一般般表示为:关系名(属性11,属性2,属性n)例如上面的关系系可描述为:教职工(职工号号,姓名,出出生日期,性性别,学院,电电话)在关系模型中,实实体以及实体体间的联系都都是用关系来来表示
44、的。例例如教师、课课程、教师与与课程之间的的多对多联系系在关系模型型中可以如下下表示:教职工(职工号号,姓名,出出生日期,性性别,学院,电电话)课程(课程号,课课程名,学分分)教授课程(职工工号,课程号号)关系模型要求关关系必须是规规范化的,即即要求关系必必须满足一定定的规范条件件,这些规范范条件中最基基本的一条就就是:关系的的每一个分量量必须是一个个不可再分的的数据项,也也就是说,不不允许表中还还有表。表66-2中工资资和扣除是可可再分的数据据项,工资又又分为基本工工资、工龄工工资和职务工工资,扣除又又分为房租和和水电。因此此,表6-22中的表就不不符合关系模模型的要求。表6-2 不不符合关系模模型的表示例例职工号姓名职称工资扣除实发基本工龄职务房租水电