数据库技术理论与电子商务介绍_第1页
数据库技术理论与电子商务介绍_第2页
数据库技术理论与电子商务介绍_第3页
数据库技术理论与电子商务介绍_第4页
数据库技术理论与电子商务介绍_第5页
已阅读5页,还剩76页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 数据库技术计算机与人类相比的最大优势就是能够迅速准确地处理大量数据。因此,自从计算机发明以来,数据处理就是它的基本功能和关键技术。数据处理的中心问题是数据管理,数据管理是指对数据的分类、组织、编码、存储、检索和维护。而数据库技术正是数据处理技术发展到比较成熟后的产物。电子商务以电子计算机及其网络技术取代传统方式来进行生产经营活动,离不开数据库技术的支持。数据库技术对电子商务的支持主要表现在两方面:存储和管理各各种商务数据据。这是数据据库技术的基基本功能。决策支持。近近几年,随着着数据仓库和和数据挖掘技技术的产生和和发展,使企企业可以科学学地对数据库中海海量的商务数数据进行科学学地组织、

2、分分析和统计,从从而更好地服服务于企业的的决策支持。可以说,数据库库技术是电子子商务的一项项支撑技术,在在电子商务的的建设中占有有重要的地位位。7.1 数数据库技术的的产生与发展展数据库技术是应应数据管理任任务的需要而而产生的,是是数据管理技技术发展到一一定阶段的产产物。数据管管理技术的发发展,是随着着计算机硬件件和软件技术术的发展而不不断发展的。到到目前为止,数据管理技术主要经历了以下几个阶段:手工管理阶段、文件系统阶段、数据库系统阶段、数据仓库阶段。7.1.1 手工管理阶阶段20世纪50年年代中期以前前,计算机主主要用于科学学计算。硬件件存储设备主主要有磁带、卡卡片机、纸带带机等,还没没有

3、磁盘等直直接存取的存存储设备;软软件上也处于于初级的阶段段,没有操作作系统和管理理数据的工具具。数据的组组织和管理完完全靠程序员员手工完成,因因此称为“手工管理阶阶段”。这个阶段段数据的管理理效率很低。手工管理方式的的特点是: 数据不保存存。 程序与数据据合在一起,因因而数据没有有独立性,程程序没有弹性性,要修改数数据必须修改改程序。 程序员必须须自己编程实实现数据的存存储结构、存存取方法和输输入输出,迫迫使程序员直直接与物理设设备打交道,加加大了程序设设计难度,编编程效率低。 数据面向应应用,这意味味着即使多个个不同程序用用到相同数据据,也得各自自定义,数据据不仅高度冗冗余,而且不不能共享。

4、7.1.2 文件系统阶阶段进入20世纪660年代,数数据管理方式式发生了很大大的变化。计计算机在这个个阶段不仅用用于科学计算算,还大量用用于管理。外外存储设备也也出现了存取取效率高得多多的直接存储储设备,如磁磁盘、磁鼓等等;在软件方方面,不仅有有了操作系统统,而且还出出现了专门的的数据管理软软件,一般称称之为文件系系统。有了文文件系统,数数据的增、删删、改等操作作都变得轻松松了。更重要要的是数据的的复制变得相相当容易,使使数据可以反反复使用。程程序员在免除除了数据管理理工作以后,不不仅可以专心心从事其他更更有意义的工工作,而且减减少了错误。文件管理方式本本质上是把数数据组织成文文件形式存储储在

5、磁盘上。文文件是操作系系统管理数据据的基本单位位。文件可以以命名,通过过文件名以记记录为单位存存取数据,不不必关心数据据的存储位置置。由于文件件是根据数据据所代表的意意义组织的,所所以文件能反反映现实世界界事物。在文文件中常涉及及下列术语:数据项:描述述事物性质的的最小数据单单位;记录:若干数数据项的集合合称记录,一一个记录能表表达一个具体体事物;文件:若干记记录的集会就就叫做文件。显然,数据组织织成文件,逻逻辑关系非常常明确,使数数据处理真正正体现了信息息处理,按名名存取数据,既既形象,又方方便。由于有有了直接存取取存储设备,所所以文件可以以组织成多种种形式,如顺顺序文件、索索引文件等,从从

6、而对文件中中的记录可顺顺序访问,也也可随机访问问。文件方式管理数数据是数据管管理的一大进进步,即使是是数据库方式式也是在文件件系统基础上上发展起来的的。这一阶段段的特点如下下: 数据可长期期保存在磁盘盘上。 数据的物理理结构与逻辑辑结构有了区区别,两者之之间由文件管管理系统进行行转换,因而而程序与数据据之间有物理理上的独立性性,即数据在在存储上的改改变不一定会会影响到程序序,这可使程程序员不必过过多地考虑数数据存放地址址,而把精力力放在算法上上。 文件系统提提供了数据存存取方法,但但当数据的物物理结构改变变时,仍需修修改程序。 数据不再属属于某个特定定程序,在一一定程度上可可以共享。上述特点可

7、用图图7l表示文文件管理系统程序1程序2程序n文件n文件2文件1图7l 文件系统阶段数据管理示意图然而,文件方式式管理数据还还是有很多缺缺陷的,主要要表现在以下下几个方面:1. 文件是是面向特定用用途设计的:这意味着有有一个应用,就就有一个文件件相对应。而而程序是基于于文件编制的的,导致程序序仍然与文件件相互依存。因因为文件有所所变动,程序序就得相应修修改,而文件件离开了使用用它的程序便便全部失去存存在的价值。2. 数据冗冗余大:因为为文件之间缺缺乏联系,有有可能造成同同样数据在不不同文件中重重复存储。3. 数据可可能发生矛盾盾:因为同一一数据出现在在不同文件中中,稍有不慎慎就可能造成成同一数

8、据在在不同文件中中不一样,这这将导致数据据的冗余。4. 数据联联系弱:不同同文件缺乏联联系就不能反反映现实世界界中事物之间间的自然联系系,这是文件件方式最大的的弊端。7.1.3 数据库系统统阶段到了20世纪660年代后期期,计算机被被越来越多地地应用于管理理领域,而且且规模也越来来越大,因此此数据量也急急剧增长。同同时,人们对对数据共享的的要求也越来来越强烈。在在这种情况下下,“数据库”的概念应运运而生了。用用数据库管理理数据有如下下的特点:1. 数据结结构化数据库是存储在在磁盘等外部部直接存取存存储设备上的的数据集合,是是按一定的数数据结构组织织起来的。与与文件系统相相比,文件系系统中的文件

9、件之间不存在在联系,因而而从总体上看看数据是没有有结构的;而而数据库中的的文件是相互互联系着的,并并在总体上遵遵从一定的结结构形式。这这是文件系统统与数据库系系统的最大区区别。数据库库正是通过文文件之间的联联系反映现实实世界事物间间的自然联系系。2. 数据共共享数据库中的数据据是考虑所有有用户的数据据需求、面向向整个系统组组织的。因此此数据库中包包含了所有用用户的数据成成分,但每个个用户通常只只用到其中一一部分数据。不不同用户所使使用的数据可可以重叠,同同一部分数据据也可为多用用户共享,如如图72所示。程序1程序1程序2程序n数据库应用程序远程终端用户图72 数数据共享示意意图3. 减少了数数

10、据冗余在数据库方式下下,用户不是是自建文件,而而是取自数据据库中的某个个子集,它并并非独立存在在,而是靠数数据库管理系系统从数据库库中映射出来来的,所以叫叫做逻辑文件件。如图73所示,用户户使用的是逻逻辑文件,因因此尽管一个个数据可能出出现在不同的的逻辑文件中中,但实际上上的物理存储储只可能出现现一次,这就就减少了数据据冗余。DBMSDBMS程序A程序B程序C逻辑文件C逻辑文件B逻辑文件A数据库图73 应用程序使用从数据库中导出的逻辑文件4. 有较高高的数据独立立性数据独立是数据据库技术努力力追求的目标标,其好处是是数据存储方方式的改变不不会影响到应应用程序。数数据独立又有有两个含义,即即物理

11、数据独独立性和逻辑辑数据独立性性。所谓物理理数据独立性性是指数据库库物理结构(包包括数据的组组织和存储、存存取方法沙十十部存储设备备等)发生改改变时,不会会影响到逻辑辑结构,而用用户使用的是是逻辑数据,所所以不必改动动程序;所谓谓逻辑数据独独立性是指数数据库全局逻逻辑发生改变变时,用户也也不需改动程程序,就像数数据库并没发发生变化一样样。这是因为为用户仅使用用数据库的一一个子集,全全局变化与否否与具体用户户无关,只要要能从数据库库中导出他所所用到的数据据就行。5. 用户接接口在数据库系统中中,数据库管管理系统作为为用户与数据据库的接口,提提供了数据库库定义、数据据库运行。数数据库维护和和数据安

12、全性性、完整性等等控制功能;此外还支持持某种程序设设计语言,并并设有专门的的数据操作语语言,为用户户编程提供了了方便。数据库系统的出出现,使信息息系统的研制制从围绕加工工数据的程序序为中心转变变到围绕共享享的数据库来来进行。这既既便于数据的的集中管理,也也有利于应用用程序的研制制和维护,提提高了数据的的利用率和相相容性,从而而提高了做出出决策的可靠靠性。因此大大型复杂的信信息系统大多多以数据库为为核心。数据库是一个通通用化的综合合性数据集合合。它可以供供各种用户共共享且具有最最小的冗余度度和较高的数数据与程序的的独立性。由由于多种程序序并发地使用用数据库,为为了能有效、及及时地处理数数据,并提

13、供供安全性和完完整性,就需需要一个软件件系统数据库管管理系统(DDBMS),在在建立、运用用和维护时对对数据库进行行统一控制。在这个阶段,企企业的管理一一般采用管理理信息系统(MIS)。管理信息系统可以有效地管理企业内部的信息和信息流,是企业向管理现代化迈出的第一步。而企业管理信息系统可以说是数据库管理系统在功能上的一种扩展,因为数据管理仍是它的核心内容。电子数据交换(EDI)也渐渐发展起来。数据库管理系统对企业从事电子交易起到很大的支持作用。我们都知道EDI的一大特点(同时也是优点)就是把各种贸易单证的电子化和标准化。而数据库系统也是把数据管理规范化和标准化了。因此,就可以比较容易地实现数据

14、库系统的业务数据与EDI的单证之间的自动转换。与手工制作电子单证相比,提高了效率、减少了错误、降低了成本。更高层次的、帮帮助企业决策策的决策支持持系统(DSSS)也慢慢慢发展起来。但但直到20世纪80年代末,决决策支持系统统的应用还不不是很广泛。原原因在于:那那时的决策支支持系统在理理论和方法上上过于复杂,过过于偏重高级级而抽象的理理论,而且过过于偏重结论论,在一定程程度上忽视了了对业务数据据的分析,而而且,成本高高昂,因此实实际产生的应应用效果远远远比不上管理理信息系统。在在人们眼里,决决策支持系统统是一个高高高在上的东西西。事实上,企企业对于决策策支持并不要要求大而全,也也并不要求一一套系

15、统代替替决策者去思思考,他们所所需要的往往往是对简单却却十分重要的的业务数据的的反复挖掘,为为决策提供一一定的依据。科学的决策必须须以大量可靠靠的数据为基基础,这些数数据应包括企企业的内部数数据、与企业业的经营和生生产相关的外外部数据,还还应包括综合合数据和历史史数据。否则则,决策就没没有根据,就就会成为主观观的猜想。当当时,数据库库技术虽然已已经成熟,但但应用还不广广泛,所以普普遍存在一个个数据量不足足的问题。此此外,分析工工具的缺乏也也是一大问题题。没有充足足的数据,分分析工具也不不得力,分析析的结果当然然不能切中要要害。由此可可以看出,在在这个阶段,用用于决策支持持的技术还不不完备,时机

16、机也还不成熟熟,决策支持持系统的失败败也是可以理理解的。7.1.4 数据仓库阶阶段进入20世纪990年代,计计算机得到空空前广泛的应应用,使得企企业的生产效效率进一步提提高,商业竞竞争也越来越越激烈了。一一个企业要想想在市场上生生存下去,不不仅要建立完完善的计算机机管理信息系系统来提高效效率,而且要要先于对手获获得至关重要要的决策信息息。这样,企企业才能在未未来的竞争中中适应潮流、把把握正确的发发展方向。企企业对迅速而而准确地获得得决策信息的的需求比以前前大大增强了了。对企业来来说,决策支支持系统已不不是可有可无无的东西,企企业需要实用用而且成本低低廉的决策支支持系统。系系统开发人员员由于企业

17、的的需求,也渐渐渐认识到了了决策支持系系统开发的方方向。决策支支持系统的建建设更应该把把注意力放在在对数据的挖挖掘上,放在在满足业务主主管们各种各各样的查询要要求上,由他他们自己做决决定,系统只只是提供一些些用来辅助决决策的参考意意见,应该帮帮助而不是代代替高级业务务人员的思考考。在这一时期,计计算机及其网网络技术的应应用更为广泛泛,企业管理理信息系统逐逐渐由以内部部管理为主转转变为对整个个供应链的管管理。企业之之间的商务活活动也从以前前简单的电子子数据传输转转变为全方位位的合作,电电子商务蓬勃勃兴起。企业业之间的相互互合作不仅可可以提高企业业的生产效率率、降低生产产成本,也为为企业获取大大量

18、的外部数数据带来了方方便。这就为为决策支持分分析奠定了基基础。另外,由由于数据库技技术的发展和和日益成熟,决决策支持分析析工具也渐渐渐丰富起来。企业的需求和技技术的成熟最最终导致了数数据仓库的产产生。数据仓仓库作为决策策支持系统的的一种有效、可可行的体系化化解决方案,包包括三个方面面的内容:数数据仓库技术术(DW)、联机机分析处理技术(OLLAP)和数数据挖掘技术术(DM)。数据库技术的发发展为解决决决策支持问题题提供了可能能,而激烈的的市场竞争产产生了对决策策支持的巨大大需求,由此此人们找到了了以数据仓库库为基础、以以OLAP和DMI具为手手段的一整套套可操作、可可实施的解决决方案。7.2

19、数数据库技术的的基本理论 电子子商务是指利利用电子网络络进行的商务务活动,这里里的电子网络络主要是指IInternnet和基于于 Inteernet技技术的Inttranet(企业业内部网)及及Extranet(企业业外部网)。其其进行的商务务活动不仅包包含电子数据据交换所涉及及的电子交易易,还包括电电子邮件交流流、网上站点点宣传和利用用lnterrnet技术术改造的其他他传统应用。但但电子商务应应用的前提是是企业管理信信息系统的广广泛应用。数数据库技术是是企业管理信信息系统的核核心技术之一一,所以,想想深入地理解解电子商务就就应该先了解解数据库的一一些基本理论论。7.2.1 数据模型1. 数

20、据模型型的要素数据库是某个企企业、组织或或部门所涉及及的数据的一一个综合,它它不仅要反映映数据本身的的内容,而且且还要反映数数据之间的联联系。由于计计算机不可能能直接处理现现实世界中的的具体事物,所所以人们必须须事先把具体体事物转换成成计算机能够够处理的数据据。在数据库库中用数据模模型这个工具具来抽象、表表示和处理现现实世界中的的数据和信息息。通俗地讲讲数据模型就就是现实世界界的模拟。数据模型应满足足三方面要求求;一是能比比较真实地模模拟现实世界界;二是容易易为人所理解解;三是便于于在计算机上上实现。一种种数据模型要要很好地满足足这三方面的的要求,在目目前尚很困难难。在数据库库系统中针对对不同

21、的使用用对象和应用用目的,采用用不同的数据据模型。不同的数据模型型实际上是提提供给我们模模型化数据和和信息的不同同工具。根据据模型应用的的不同目的,可可以将这些模模型划分为两两类,它们分分属于两个不不同的层次。第第一类模型是是概念模型,也也称信息模型型,它是按用用户的观点对对数据和信息息建模。另一一类模型是数数据模型,主主要包括网状状模型、层次次模型、关系系模型等,它它是按计算机机系统的观点点对数据建模模。一般地讲,任何何一种数据模模型都是严格格定义的概念念的集合。这这些概念必须须能够精确地地描述系统的的静态特性、动动态特性和完完整性约束条条件。因此数数据模型通常常都是由数据据结构、数据据操作

22、和完整整性约束三个个要素组成。 数据结构构数据结构用于描描述系统的静静态特性,它它包括数据对对象及其相互互联系,即数数据结构是所所研究的对象象类型(obbject type)的的集合。这些些对象是数据据库的组成成成分,它们包包括两类,一一类是与数据据类型、内容容、性质有关关的对象,例例如网状模型型中的数据项项、记录,关关系模型中的的域、属性、关关系等;一类类是与数据之之间联系有关关的对象,例例如网状模型型中的系型(set type)。数据结构是刻画画一个数据模模型性质最重重要的方面。因因此在数据库库系统中,人人们通常按照照其数据结构构的类型来命命名数据模型型。例如,层层次结构、网网状结构和关关

23、系结构的数数据模型分别别命名为层次次模型、网状状模型和关系系模型。 数据操作作数据操作用于描描述系统的动动态特性,主主要是对数据据的检索和更更新,即数据据操作是指对对数据库中各各种对象(型型)的实例(值值)允许执行行的操作的集集合,包括操操作及有关的的操作规则。数数据库主要有有检索和更新新(包括插入入、删除、修修改)两大类类操作。数据据模型必须定定义这些操作作的确切含义义、操作符号号、操作规则则(如优先级级)以及实现现操作的语言言。 数据的约约束条件数据的约束条件件是一组完整整性规则的集集合。完整性性规则是给定定的数据模型型中数据及其其联系所具有有的制约和储储存规则,用用以限定符合合数据模型的

24、的数据库状态态以及状态的的变化,以保保证数据的正正确、有效和和相容。数据模型应该反反映和规定本本数据模型必必须遵守的基基本的通用的的完整性约束束条件。例如如,在关系模模型中,任何何关系必须满满足实体完整整性和参照完完整性两个条条件。此外,数据模型型还应该提供供定义完整性性约束条件的的机制,以反反映具体应用用所涉及的数数据必须遵守守的特定的语语义约束条件件。例如,在在学校的数据据库中规定大大学生年龄不不得超过299岁,硕士研研究生不得超超过38岁,学生生累计成绩不不得有3门以上不及及格等。2. 数据模型型的种类不同的数据模型型具有不同的的数据结构形形式。目前最最常用的数据据模型有层次次模型(hi

25、ierarchicaal modeel)、网状状模型(neetworkk modeel)和关系系模型(reelatioonal mmodel)。其其中层次模型型和网状模型型统称为非关关系模型。非非关系模型的的数据库系统统在20世纪70年代与80年代初非非常流行,在在数据库系统统产品中占据据了主导地位位,现在已逐逐渐被关系模模型的数据库库系统取代,但但在美国等一一些国家里,由由于历史遗留留下来的原因因,目前网状状数据库系统统的用户数仍仍很多。20世纪80年年代以来,面面向对象的方方法和技术在在计算机各个个领域,包括括程序设计语语言、软件工工程、信息系系统设计、计计算机硬件设设计等各方面面都产生了

26、深深远的影响,也也促进了数据据库中面向对对象数据模型型的研究和发发展。 层次模型型层次模型是数据据库系统中最最早出现的数数据模型,它它用树形结构构表示各类实实体以及实体体间的联系。现实世世界中许多实实体之间的联联系本来就呈呈现出一种很很自然的层次次关系,如行行政机家族关系等。层层次模型数据据库系统的典典型代表是IIBM公司的的IMS(IInformmationn Manaagemennt Sysstems)数数据库管理系系统,这是一一个曾经广泛泛使用的数据据库管理系统统。 层次模型的的数据结构层次模型用树结结构表示数据据之间的层次次关系。按照照树的定义,在在层次模型中中,数据之间间的关系满足足

27、;有且仅有一个个结点无双亲亲,这个结点点称为根结点点。其他结点有且且仅有一个双双亲结点。因此,层次模型型职能描述数数据之间一对对一或多对多多的关系。层层次模型就像像一棵倒立的的树,如图774所示。在层次模型的数数据库中查找找某一结点,必必须指定存取取路径。所谓谓存取路径是是指从根结点点开始沿途所所经过的路径径。以图74为例。存存取不同结点点的存取路径径如表71所示。ADADCB表71 存取路径 存取结点存取路径ABCDAABABCAD图74 层层次模型 层次模型的的操纵与完整整性检查层次模型的操纵纵主要有:查查询、插入、删删除和更新。进进行查询、插插入、删除和和更新时要满满足层次模型型的完整性

28、约约束条件。进行插入操作时时,如果没有有相应的双亲亲结点值就不不能插入子女女结点值。进进行删除操作作时,如果删删除双亲结点点值,则相应应的子女结点点值也被同时时删除。进行行更新时,应应更新所有相相应记录,以以保证数据的的一致性。 层次模型的的优缺点层次模型的优点点主要有:层次模型本身身比较简单,只只需很少几条条命令就能操操纵数据库,比比较容易使用用。对于实体间联联系是固定的的,且预先定定义好的应用用系统,采用用此模型来实实现,其性能能优于关系模模型,不次于于网状模型。层次模型提供供了良好的完完整性支持。层次模型的缺点点主要有:现实世界中很很多联系是非非层次性的,如如多对多联系系,一个结点点具有

29、多个双双亲,层次模模型表示这类类联系的方法法很笨拙,只只能通过引入入冗余数据(以以产生不一致致性)或创建建非自然的数数据组织(引引入续借点)来来解决。对插入和删除除操作的限制制比较多。查询子女结点点必须通过双双亲结点。由于结构严密密,层次命令令趋于程序化化。 网状数据据模型自然界中实体型型间的联系更更多的是非层层次关系,用用层次模型表表示非树形结结构是很不直直接的,网状状模型则可以以克服这一弊弊病。网状模模型的典型代代表是DBTTG系统,也也称COY这是20世纪770年代数据据系统预言研研究会CODDASYL(CConferrence On Daata Syystemss Langguage)

30、下下属的数据库库任务组(DData BBase TTase GGroup简简称DBTGG)提出的一一个系统方案案。网状模型的数数据结构网状模型描述了了数据之间的的网状关系,是是一种比层次次模型更具普普遍性的结构构,它去掉了了层次模型的的两个限制,数数据之间允许许:有一个以上的的节点无双亲亲。结点可以有多多个双亲结点点。因此,网状模型型可以更直接接地描述现实实世界。而层层次结构实际际上是网状结结构的一个特特例。图75时网状模模型的例子。图7图75 网状模型网状模型的操操纵与完整性性约束网状模型的操纵纵主要包括查查询、插入、删删除和更新数数据。插入操作允许插插入尚未确定定双亲结点值值的子女结点点值

31、。删除操操作允许只删删除双亲结点点值。由于网网状模型可以以直接表示非非树形结构,而而无需像层次次模型那样增增加冗余结点点,因此做更更新操作时只只需更新指定定记录即可。查询操作可以有多种方法,可根据具体情况选用。可见,网状模型型没有层次模模型那样严格格的完整性约约束条件,但但具体的网状状数据库系统统(如DBTTG)对数据据操纵还是加加了一些限制制,提供了一一定的完整性性约束。网状模型的优优缺点网状模型的优点点主要有:能够更为直接接地描述现实实世界,如一一个结点可以以有多个双亲亲、允许结点点之间为多对对多的联系等等。具有良好的性性能,存取效效率较高。网状模型的缺点点主要有:其DDL语言言极其复杂。

32、数据独立性较较差。由于实实体间的联系系本质上是通通过存取路径径指示的,因因此应用程序序在访问数据据时要指定存存取路径。 关系模型型关系模型是目前前最重要的一一种模型。美美国IBM公司的的研究员EFCoddd于19700年发表题为为“大型共享系系统的关系数数据库的关系系模型”的论文,文文中首次提出出了数据库系系统的关系模模型。20世纪80年代以来来,计算机厂厂商新推出的的数据库管理理系统(DBBMS)几乎乎都支持关系系模型,非关关系系统的产产品也大都加加上了关系接接口。数据库库领域当前的的研究工作都都是以关系方方法为基础。关系模型的数数据结构关系模型在三种种模型中是最最重要的。虽虽然它的数据据关

33、系是几种种模型中最简简单的,但其其定义却比较较复杂。可以以把关系模型型理解为一张张二维表,表表格中的每一一行代表一个个实体,称为为记录;每一一列代表实体体的一个属性性,称为数据据项。记录的的集合称为关关系。关系具具有如下性质质:数据项不可再再分(即不可可表中套表)。关系中的列是是同性质的,称称为属性。属属性之间不能能重名。关系中不能出出现相同的记记录,记录的的顺序免所谓谓。每个关系都有有一个主键,它它能唯一地标标识关系中的的一个记录。关系中列的顺顺序不重要。学号姓名性别出生日期入学总分专业号9901张三男82/10/002625J001图76 关关系模型关系模型的操操纵与完整性性约束关系数据模

34、型的的操纵主要包包括查询、插插入、删除和和更新数据。这这些操作必须须满足关系的的完整性约束束条件。关系系的完整性约约束条件包括括三大类:实实体完整性、参参照完整性和和用户定义的的完整性。关系模型中的数数据操作是集集合操作,操操作对象和操操作结果都是是关系,即若若干元组的集集合,而不像像非关系模型型中那样是单单记录的操作作方式。另一一方面,关系系模型把存取取路径向用户户蔽起来,用用户只需指出出“干什么”或“找什么”,不必详细细说明“怎么干”或“怎么找”,从而大大大地提高了数数据的独立性性,提高了用用户的生产率率。关系模型的优优缺点关系模型具有下下列优点:关系模型与非非关系模型不不同,它是建建立在

35、严格的的数学概念的的基础上的。关系模型的概概念单一。无无论实体还是是实体之间的的联系都用关关系来表示。对对数据的检索索结果也是关关系(即表)。所所以其数据结结构简单、清清晰,用户易易懂易用。关系模型的存存取路径对用用户透明,从从而具有更高高的数据独立立性,更好的的安全保密性性,也简化了程序员员的工作和数数据库开发建建立的工作。”所以关系数据模模型诞生以后后发展迅速,深深受用户的喜喜爱。关系模型的缺点点主要是:由由于存取路径径对用户透明明,查询效率率不如非关系系模型。因此此,必须对用用户的查询请请求进行优化化,增加了开开发数据库管管理系统的负负担。7.2.2 关系数据库库关系数据库是以以关系模型

36、为为基础的数据据库,它利用用关系来描述述现实世界,应用数学方法来处理数据库中的数据。关系数据库目前是各类数据库中最重要、最流行的数据库。1. 概述关系数据库系统统是支持关系系模型的数据据库系统。关关系模型由关关系数据结构构、关系操作作集合和完整整性约束三部部分组成。 关系数据结结构关系模型的数据据结构非常单单一,在用户户看来,关系系模型中数据据的逻辑结构构是一张扁平平的二维表。但但关系模型的的这种简单的的数据结构能能够表达丰富富的语义,描描述出现实世世界的实体以以及实体间的的各种联系。 关系操作 关系操作采用集集合操作方式式,即操作的的对象和结果果都是集合。关关系模型中常常用的关系操操作包括:

37、选选择、投影、连连接、除、并并、交、差等等查询操作和和增、删、改改操作两大部部分。查询的的表达能力是是其中最主要要的部分。关系模型中的关关系操作能力力早期通常是是用代数方式式或逻辑方式式来表示,分分别称为关系系代数和关系系演算。关系系代数是用对对关系的运算算来表达查询询要求的方式式。关系演算算是用谓词来来表达查询要要求的方式。关关系演算又可可按谓词变元元的基本对象象是元组变量量还是域变量量分为元组关关系演算和域域关系演算。关关系代数、元元组关系演算算和域关系演演算三种语言言在表达能力力上是完全等等价的。关系代数、元组组关系演算和和城关系演算算均是抽象的的查询语言,这这些抽象的语语言与具体的的数

38、据库管理理系统(DBBMS)中实实现的实际语语言并不完全全一样。但它它们能用作评评估实际系统统中查询语言言能力的标准准或基础。实际的查询语言言除了提供关关系代数或关关系演算的功功能外,还提提供了许多附附加功能,例例集函数、关系赋赋值、算术运运算等。关系系语言是一种种高度非过程程化的语言,用用户不必请求求数据库管理理员(DBAA)为他建立立特殊的存取取路径,存取取路径的选择择由数据库管管理系统(DDBMS)的的优化机制来来完成,另外外,用户不必必求助于循环环结构就可以以完成数据操操作。对于关系数据库库而言,有一一种介于关系系代数和关系系演算之间的的语言SQLL(struuctureed quee

39、ry laanguagge,结构化化查询语言),它它不仅具有丰丰富的查询功功能,而且具具有数据定义义和数据控制制功能,是集集查询、数据据定义语言(DDDL)、数数据操纵语言言(DML)和和数据控制语语言(DCLL)于一体的的关系数据语语言,它充分分体现了关系系数据语言的的特点和优点点,是关系数数据库的标准准语言。因此此,关系数据据语言可分成成以下三类:关系代数语言言,如ISBBL;关系演算语言言,其中包括括:元组关系演算算语言,如AAPLHAQQUEL;域关系演算语语言,如QBBE;具有关系代数数和关系演算算双重特点的的语言,例如如SQL。这些关系数据语语言的共同特特点是,语言言具有完备的的表

40、达能力,是是非过程化的的集合操作语语言,功能强强,能够嵌入入高级语言中中使用。 完整性约束束在关系型数据库库中,完整性性约束用于确确保数据的准准确性和一致致性。关系模模型提供了丰丰富的完整性性控制机制,允允许定义三类类完整性:实实体完整性、参参照完整性和和用户定义完完整性。其中中实体完整性性和参照完整整性是关系模模型必须满足足的完整性约约束条件,应应该由关系系系统自动支持持。实体完整性(eentityy inteegrty)一个基本关系通通常对应现实实世界的一个个实体集。例例如,“学生”关系对应于于学生的集合合。现实世界界中的实体是是可区分的,即即它们具有某某种唯一性标标识。相应地地,关系模型

41、型中以主码作作为唯一性标标识。主码中中的属性即主主属性不能取取空值。所谓谓空值就是“不知道”或“无意义”的值。如果果主属性取空空值,就说明明存在某个不不可标识的实实体,即存在在不可区分的的实体,这与与现实世界的的应用环境相相矛盾,因此此这个实体一一定不是一个个完整的实体体。实体完整性规则则:若属性A是基本关系系R的主属性,则则属性A不能取空值值。例如,在关系学学生(学号,姓姓名,性别,出出生日期,入入学总分,专专业号)中,学学生的学号属属性为主码,则则学生的学号号不能取空值值。实体完整性规则则规定基本关关系的所有主主属性都不能能取空值,而而不仅是主码码整体不能取取空值。例如如,学生选课课关系“

42、选修(学号号,课程号,成成绩)”中,(学号号,课程号)为为主码,则学学号和课程号号两属性都不不能取空值。参照完整性(rrefereentiall inteegrityy)现实世界中的实实体之间往往往存在某种联联系,在关系系模型中实体体及实体间的的联系都是用用关系来描述述的。这样就就自然存在着着关系与关系系间的引用。先先看下面的33个例子。例1:学生实体体和专业实体体可以用下面面的关系表示示,其中主码码用下划线标标识:学生(学号,姓姓名,性别,出出生日期,入入学总分,专专业号,)专业(专业号,专专业名)这两个关系之间间存在着属性性的引用,即即“学生”关系引用了了“专业”关系的主码码“专业号”。显

43、然,“学生”关系中的专专业号值必须须是确实存在在的专业的专专业号,即“专业”关系中有该该专业的记录录。这也就是是说,“学生”关系中的某某个属性的取取值需要参照照“专业”关系的属性性取值。例2:学生、课课程、学生与与课程之间的的多对多联系系可以用以下下三个关系来来表示:学生(学号,姓姓名,性别,出出生日期,入入学总分,专专业号)课程(课程号,课课程名,学分分)选修(学号,课课程号,成绩绩)这三个关系之间间也存在着属属性的引用,即即“选修”关系引用了了“学生”关系的主码码“学号”和“课程”关系的主码码“课程号”。同样,“选修”关系中的学学号值必须是是确实存在的的学生的学号号,即“学生”关系中一定定

44、有该学生的的记录;“选修”关系中的课课程号值也必必须是确实存存在的课程的的课程号,即即“课程”关系中一定定有该课程的的记录。换句句话说“选修”关系中某些些属性的取值值需要参照其其他关系的属属性取值。不仅两个或两个个以上的关系系间可以存在在引用关系,同同一关系内部部属性间也可可能存在引用用关系。例3:关系学生生1如下所示示:学生1(学号,姓姓名,性别,出出生日期,专专业号,班长长)其中,“学号”属性是主码码,“班长”属性表示该该学生所在班班级的班长的的学号,它引引用了本关系系中的“学号属性,即“班长”必须是确实实存在的学生生的学号。定义:设A是基基本关系R的一个或一一组属性,但但不是关系RR的主

45、码,如如果A与基本本关系S的主码Ks相对应,则则称A是基本本关系R的外码(fooreignn key),并并称基本关系系R为参照关系(reeferenncing relaation),基基本关系S为被参照关关系(refferencced rrelatiion)或目目标关系(ttargett rellationn)。关系R和S不一定是不不同的关系。显然,目标关系系S的主码Ks和参照关关系的外码AA必须定义在在同一个(或或一组)域上上。在例1中,“学学生”关系的“专业号”属性与“专业”关系的主码码“专业号”相对应,因因此“专业号”属性是“学生”关系的外码码。这里“专业”关系为被参参照关系,“学生”

46、关系为参照照关系。如图图77(aa)所示。在例2中,“选选修”关系的“学号”属性与“学生”关系的主码码“学号”相对应,“课程号”属性与“课程”关系的主码码“课程号”相对应,因因此“学号”和“课程号”属性是“选修”关系的外码码。这里“学生”关系和“课程”关系均为被被参照关系,“选修”关系为参照关系。如图77(b)所示。学生关系学生关系专业号专业关系学生关系选修关系课程关系学号课程号(a)(b)图77 关系的参照图在例3中,“班班长”属性与本关关系主码“学号”属性相对应应,因此“班长”是外码。这这里“学生1”关系既是参参照关系也是是被参照关系系。需要指出的是,外外码并不一定定要与相应的的主码同名(

47、如如例3)。不过,在在实际应用当当中,为了便便于识别,当当外码与相应应的主码属于于不同关系时时,往往给它它们取相同的的名字。参照完整性规则则就是定义外外码与主码之之间的引用规规则。参照完整性规则则:若属性(或或属性组)AA是基本关系系R的外码,它它与基本关系系S的主码Ks相对应(基基本关系R和S不一定是不不同的关系),则则对于R中每个元组组在A上的值值必须为:或者取空值(AA的每个属性性值均为空值值);或者等于S中中某个元组的的主码值。例如,对于例11,“学生”关系中每个个元组的专业业号属性只能能取下面两类类值;空值,表示尚尚未给该学生生分配专业;非空值,这时时该值必须是是“专业”关系中某个个

48、元组的专业业号值,表示示该学生不可可能分配到一一个不存在的的专业中。即即被参照关系系“专业”中一定存在在一个元组,它它的主码值等等于该参照关关系“学生”中的外码值值。对于例2,按照照参照完整性性规则,学号号和课程号属属性也可以取取两类值:空空值或目标关关系中已经存存在的值。但但由于学号和和课程号是“选修”关系中的主主属性,按照照实体完整性性规则,它们们均不能取空空值。所以“选修”关系中的学学号和课程号号属性实际上上只能取相应应被参照关系系中已经存在在的主码值。参照完整性规则则中,R与S可以是同一一个关系。例例如,对于例例3,按照参照照完整性规则则,班长属性性值可以取两两类值空值,表示该该学生所

49、在班班级尚未选出出班长;非空值,这时时该值必须是是本关系中某某个元组的学学号值。用户定义的完完整性(usser-deefinedd inteegrityy)实体完整性和参参照完整性适适用于任何关关系数据库系系统。用户定定义的完整性性是针对某一一具体关系数数据库的约束束条件,它反反映某一具体体应用所涉及及的数据必须须满足的语义义要求。关系系模型应提供供定义和检验验这类完整性性的机制,以以便用统一的的系统方法来来处理它们而而不是由应用用程序承担这这一功能。2. 结构化查查询语言(SSQL)结构化查询语言言(struuctureed quuery languuage,简简称SQL)的理理论是1977

50、4年由Booyce和CChambeerlin提提出的,并于于1975年年至19799年在IBMM公司的Sysstem R上实现。由由于它具有功功能丰富、使使用方式灵活活、语言简洁洁易学等优点点,在计算机机工业界和用用户中倍受青青睐,很快被被广泛推广。后后来,美国国国家标准局(ANSI)和国际标准化组织(ISO)先后批准SQL作为关系数据库语言的美国及国际标准。至此,SQL就成为关系数据库的标准语言,关系数据库系统一般都支持标准SQL语句。所以,尽管当今不同品牌的关系数据库有这样或那样的差异,但是人们却都可以通过标准SQL语句对数据库进行操作,因此,大大减轻了用户的负担。 SQL语言言的特点SQ

51、L语言之所所以能够被用用户和业界所所接受并成为为国际标准,是是因为它是一一个综合的、通通用的、功能能极强同时又又简洁易学的的语言。SQQL语言充分分体现了关系系数据语言的的特点和优点点。其重要特特点包括;SQL是一种种一体化的语语言,它包括括了数据定义义、数据查询询、数据操纵纵和数据控制制等功能,可可以完成数据据库活动中的的全部工作。以以前的非关系系模型(层次次模型、网状状模型)的数数据语言一般般都分为存储储模式描述语语言、概念模模式描述语言言、外部模式式描述语言和和数据操纵语语言等,这种种模型的数据据语言,一是是内容多;二二是掌握和使使用起来都不不像SQL那样简简单和实用。另外,在关系模模型

52、中,实体体和实体间的的联系均用关关系来表示,这这种数据结构构的单一性带带来了数据操操作符的统一一性,查找、插插入、删除、更更新等每一种种操作都只需需一种操作方方式,从而避避免了非关系系系统由于信信息表示方式式的多样性带带来的操作复复杂性。SQL语言是是一种高度非非过程化的语语言,用户只只需提出“做什么”,而不必指指明“怎么做”,SQL语言就就可以将要求求交给系统,由由系统自动完完成全部工作作。SQL语言用用一种语法结结构提供两种种使用方式:直接以命令令方式交互使使用,也可以以嵌入到程序序设计语言中中(例如C、Coboll、Fortraan、PL/SQL)以程序序方式使用。这这一种做法为为用户提

53、供了了极大的灵活活性与方便性性。现在有很很多数据库应应用开发工具具都将SQLL语言直接溶溶到自身的语语言中,如DDelphi、Powerrbuildder等。这这种使用方式式为用户提供供了更多的选选择余地。SQL语言的的命令简洁,易易学易用。虽虽然SQL语言功功能极强,但但由于设计巧巧妙,所以只只用了为数不不多的几条命命令就完成了了所有的核心心功能。另外外,它的语法法也很简单,很很接近自然语语言(英语),因因此,容易学学习和掌握。SQL语言支支持数据库的的三层模式结结构;与概念念模式的概念念文件对应的的是基本表(TTable),与与存储模式对对应的是存储储文件以及与与外部模式对对应的是视图图和

54、部分基本本表。用户看看到的可以是是基本表或视视图,基本表表和视图都是是关系,用户户可以在其上上进行查询操操作。而存储储文件对用户户来说是透明明的。 SQL语言言的功能SQL语言是结结构化的查询询语言。是一一种综合的、通通用的、功能能极强的关系系数据库语言言。它的功能能包括:创建建数据库对象象、操纵对象象、往数据库库表中填充数数据、在数据据表中更新已已存在的数据据、删除数据据、执行数据据库查询、控控制数据库访访问权限和数数据库总体管管理。主要分分以下几类:数据定义语言言DDL数据定义语言(DDDL)是SSQL的一部部分,是SQQL中用来生生成、修改、删删除关系数据据库的表、窗窗口、模式、目目录等

55、基本要要素的语言成成分。它允许许数据库用户户创建或重新新构造数据库库对象,如创创建或删除一一个数据库表表。DDL所包含的的要点是:标识所有的表表定义每一个表表中所含的列列给每一个表一一个保证唯一一的主关键字字确认在数据库库每一个表中中至少有一个个列是与其他他表中的列相相同。这些共共享的列提供供了逻辑上的的连接,允许许一个表中的的信息与另一一表中的相应应信息相关联联。将每一个表都都用第三范式式(3NF)或或更好的方法法来检验,以以确保防止插插入、删除、更更新非法。数据定义语言的的功能包括数数据库的定义义、基本表的的定义、视图图的定义、存存储过程的定定义、规则的的定义和索引引的定义等部部分,这些命

56、命令包括:CREATEE DATTABASEE定义数据据库ALTER DATAABASE修改数据据库DROP DATABBASE删除数据库库CREATEE TABBALE定义基本表表ALTER TABAAL修改基本本表DROP TABALL删除基本本表CREATEE VIEEW定义视图图DROP VIEW删除视图图CREATEE INDDEX定义存储储模式中的索索引DROP INDEXX删除存储储模式中的索索引CREATEE PROOCEDURRE定义存储储过程DROP PROCEEDURE删除存储储过程CREATEE RULLE定义数据据库用户角色色DROP RULE删除数据据库用户角色色数

57、据操纵语言言DML数据操纵语言(DDML)是SSQL的一部部分,在SQQL中用来生生成、修改、删删除关系数据据库结构,但但它并不涉及及数据。DMML用于在关关系型数据库库对象中操纵纵数据,主要要包括数据的的插入、更新新和删除三方方面的内容。主主要的DMLL命令包括:INSERTT数据的插插入UPDATEE数据的更更新DELETEE数据的删删除数据查询语言言DQL查询是对数据库库中的信息的的寻找和定位位。数据查询询语言(DQQL)尽管值值包含了一条条命令,但它它是数据库的的核心操作,是是关系型数据据库用户使用用SQL的焦点点。SQL语言提提供了SELLECT语句句进行数据库库的查询,它它包含有许

58、多多选项合子句句,具有灵活活的使用方法法和丰富的功功能。不论是是简单的还是是复杂的查询询,也不论是是模糊的还是是精确的查询询,都是很容容易创建的。事务控制命令令事务控制命令允允许用户管理理数据库的事事务。以防止止数据库的表表或元素不被被破坏。主要要的命令包括括:COMMITT保存数据据库中由事务务引起的改变变;ROLLBAACK撤销没保保存到数据库库中的事务的的事务控制命命令;GRANT授权REVOKEE收回授权权SAVEPOOINT创建彝族事事务中的撤销销点;SET TTRANSAACTIONN给事务命命名。3. 关系数据据的规范化理理论为了使数据库设设计的方法走走向完备,人人们提出了规规范

59、化理论。规规范化可以使使关系的结构构简化,更加加有规律,存存储尽量减少少冗余,使数数据库设计得得更为合理。规规范化的目的的可以概括为为以下几点:保证库中每一一个分量都不不可再分;消除冗余存储储,简化检索索操作;消除插入异常常和删除异常常。 数据依赖赖规范化问题考虑虑的基本出发发点在于一个个关系的数据据项之间存在在数据依赖问问题。它是现现实世界属性性间相互联系系的抽象,是是数据内在的的性质,是语语义的体现。关关系中数据项项之间存在两两种依赖关系系:函数依赖赖和多值依赖赖。函数依赖:设RR(U)是属性集集U上的关系模模式。X,Y是U的子集集。若对于RR(U)的任意一个可能的关关系r,r中不可能存存

60、在两个元组组在X上的属性值值相等,而在在Y上的属性值值不等,则称称X函数确定Y或Y函数依赖于于X,记为XY。函数依赖普遍存存在于现实生生活中,如:对一个学生生的描述,描描述的属性有有学号、姓名等,在给定学学号的情况下下,就可以唯唯一地确定其其姓名,不能能出现一个学学号对应两个个以上姓名的的情况,就称称“姓名”函数依赖“学号”。函数依赖赖描述的是属属性之间的单单值对应关系系,即给定一一个关键字,就就能确定关系系模式中的所所有属性,且且属性值是唯唯一的。在关关系模式中函函数依赖可以以描述一对一一和多对一的的关系,但无无法描述一对对多和多对多多的关系。多值依赖:若结结定X,有一组属属性值Y与之对应,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论