第7章数据库技术计算机与人类相比的最大优势就是能够迅速准确地处理大量数据。因此,自从计算机发明以来,数据处理就是它的基本功能和关键技术。数据处理的中心问题是数据管理,数据管理是指对数据的分类、组织、编码、存储、检索和维护。而数据库技术正是数据处理技术发展到比较成熟后的产物。电子商务以电子计算机及其网络技术取代传统方式来进行生产经营活动,离不开数据库技术的支持。数据库技术对电子商务的支持主要表现在两方面:·存储和管理各种商务数据。这是数据库技术的基本功能。·决策支持。近几年,随着数据仓库和数据挖掘技术的产生和发展,使企业可以科学地对数据库中海量的商务数据进行科学地组织、分析和统计,从而更好地服务于企业的决策支持。可以说,数据库技术是电子商务的一项支撑技术,在电子商务的建设中占有重要的地位。7.1数据库技术的产生与发展数据库技术是应数据管理任务的需要而产生的,是数据管理技术发展到一定阶段的产物。数据管理技术的发展,是随着计算机硬件和软件技术的发展而不断发展的。到目前为止,数据管理技术主要经历了以下几个阶段:手工管理阶段、文件系统阶段、数据库系统阶段、数据仓库阶段。7.1.1手工管理阶段20世纪50年代中期以前,计算机主要用于科学计算。硬件存储设备主要有磁带、卡片机、纸带机等,还没有磁盘等直接存取的存储设备;软件上也处于初级的阶段,没有操作系统和管理数据的工具。数据的组织和管理完全靠程序员手工完成,因此称为“手工管理阶段”。这个阶段数据的管理效率很低。手工管理方式的特点是:⑴数据不保存。⑵程序与数据合在一起,因而数据没有独立性,程序没有弹性,要修改数据必须修改程序。⑶程序员必须自己编程实现数据的存储结构、存取方法和输入输出,迫使程序员直接与物理设备打交道,加大了程序设计难度,编程效率低。⑷数据面向应用,这意味着即使多个不同程序用到相同数据,也得各自定义,数据不仅高度冗余,而且不能共享。7.1.2文件系统阶段进入20世纪60年代,数据管理方式发生了很大的变化。计算机在这个阶段不仅用于科学计算,还大量用于管理。外存储设备也出现了存取效率高得多的直接存储设备,如磁盘、磁鼓等;在软件方面,不仅有了操作系统,而且还出现了专门的数据管理软件,一般称之为文件系统。有了文件系统,数据的增、删、改等操作都变得轻松了。更重要的是数据的复制变得相当容易,使数据可以反复使用。程序员在免除了数据管理工作以后,不仅可以专心从事其他更有意义的工作,而且减少了错误。文件管理方式本质上是把数据组织成文件形式存储在磁盘上。文件是操作系统管理数据的基本单位。文件可以命名,通过文件名以记录为单位存取数据,不必关心数据的存储位置。由于文件是根据数据所代表的意义组织的,所以文件能反映现实世界事物。在文件中常涉及下列术语:·数据项:描述事物性质的最小数据单位;·记录:若干数据项的集合称记录,一个记录能表达一个具体事物;·文件:若干记录的集会就叫做文件。显然,数据组织成文件,逻辑关系非常明确,使数据处理真正体现了信息处理,按名存取数据,既形象,又方便。由于有了直接存取存储设备,所以文件可以组织成多种形式,如顺序文件、索引文件等,从而对文件中的记录可顺序访问,也可随机访问。文件方式管理数据是数据管理的一大进步,即使是数据库方式也是在文件系统基础上发展起来的。这一阶段的特点如下:⑴数据可长期保存在磁盘上。⑵数据的物理结构与逻辑结构有了区别,两者之间由文件管理系统进行转换,因而程序与数据之间有物理上的独立性,即数据在存储上的改变不一定会影响到程序,这可使程序员不必过多地考虑数据存放地址,而把精力放在算法上。⑶文件系统提供了数据存取方法,但当数据的物理结构改变时,仍需修改程序。⑷数据不再属于某个特定程序,在一定程度上可以共享。上述特点可用图7-l表示然而,文件方式管理数据还是有很多缺陷的,主要表现在以下几个方面:1.文件是面向特定用途设计的:这意味着有一个应用,就有一个文件相对应。而程序是基于文件编制的,导致程序仍然与文件相互依存。因为文件有所变动,程序就得相应修改,而文件离开了使用它的程序便全部失去存在的价值。2.数据冗余大:因为文件之间缺乏联系,有可能造成同样数据在不同文件中重复存储。3.数据可能发生矛盾:因为同一数据出现在不同文件中,稍有不慎就可能造成同一数据在不同文件中不一样,这将导致数据的冗余。4.数据联系弱:不同文件缺乏联系就不能反映现实世界中事物之间的自然联系,这是文件方式最大的弊端。7.1.3数据库系统阶段到了20世纪60年代后期,计算机被越来越多地应用于管理领域,而且规模也越来越大,因此数据量也急剧增长。同时,人们对数据共享的要求也越来越强烈。在这种情况下,“数据库”的概念应运而生了。用数据库管理数据有如下的特点:1.数据结构化文件管理系统程序1程序2程序n文件n文件2文件1…………图7-l文件系统阶段数据管理示意图数据库是存储在磁盘等外部直接存取存储设备上的数据集合,是按一定的数据结构组织起来的。与文件系统相比,文件系统中的文件之间不存在联系,因而从总体上看数据是没有结构的;而数据库中的文件是相互联系着的,并在总体上遵从一定的结构形式。这是文件系统与数据库系统的最大区别。数据库正是通过文件之间的联系反映现实世界事物间的自然联系。2.数据共享数据库中的数据是考虑所有用户的数据需求、面向整个系统组织的。因此数据库中包含了所有用户的数据成分,但每个用户通常只用到其中一部分数据。不同用户所使用的数据可以重叠,同一部分数据也可为多用户共享,如图7-2所示。图7-2数据共享示意图3.减少了数据冗余在数据库方式下,用户不是自建文件,而是取自数据库中的某个子集,它并非独立存在,而是靠数据库管理系统从数据库中映射出来的,所以叫做逻辑文件。如图7-3所示,用户使用的是逻辑文件,因此尽管一个数据可能出现在不同的逻辑文件中,但实际上的物理存储只可能出现一次,这就减少了数据冗余。4.有较高的数据独立性数据独立是数据库技术努力追求的目标,其好处是数据存储方式的改变不会影响到应用程序。数据独立又有两个含义,即物理数据独立性和逻辑数据独立性。所谓物理数据独立性是指数据库物理结构(包括数据的组织和存储、存取方法沙十部存储设备等)发生改变时,不会影响到逻辑结构,而用户使用的是逻辑数据,所以不必改动程序;所谓逻辑数据独立性是指数据库全局逻辑发生改变时,用户也不需改动程序,就像数据库并没发生变化一样。这是因为用户仅使用数据库的一个子集,全局变化与否与具体用户无关,只要能从数据库中导出他所用到的数据就行。5.用户接口在数据库系统中,数据库管理系统作为用户与数据库的接口,提供了数据库定义、数程序1程序2程序n数据库应用程序远程终端用户DBMS程序A程序B程序C逻辑文件C逻辑文件B逻辑文件A数据库图7-3应用程序使用从数据库中导出的逻辑文件据库运行。数据库维护和数据安全性、完整性等控制功能;此外还支持某种程序设计语言,并设有专门的数据操作语言,为用户编程提供了方便。数据库系统的出现,使信息系统的研制从围绕加工数据的程序为中心转变到围绕共享的数据库来进行。这既便于数据的集中管理,也有利于应用程序的研制和维护,提高了数据的利用率和相容性,从而提高了做出决策的可靠性。因此大型复杂的信息系统大多以数据库为核心。数据库是一个通用化的综合性数据集合。它可以供各种用户共享且具有最小的冗余度和较高的数据与程序的独立性。由于多种程序并发地使用数据库,为了能有效、及时地处理数据,并提供安全性和完整性,就需要一个软件系统——数据库管理系统(DBMS),在建立、运用和维护时对数据库进行统一控制。在这个阶段,企业的管理一般采用管理信息系统(MIS)。管理信息系统可以有效地管理企业内部的信息和信息流,是企业向管理现代化迈出的第一步。而企业管理信息系统可以说是数据库管理系统在功能上的一种扩展,因为数据管理仍是它的核心内容。电子数据交换(EDI)也渐渐发展起来。数据库管理系统对企业从事电子交易起到很大的支持作用。我们都知道EDI的一大特点(同时也是优点)就是把各种贸易单证的电子化和标准化。而数据库系统也是把数据管理规范化和标准化了。因此,就可以比较容易地实现数据库系统的业务数据与EDI的单证之间的自动转换。与手工制作电子单证相比,提高了效率、减少了错误、降低了成本。更高层次的、帮助企业决策的决策支持系统(DSS)也慢慢发展起来。但直到20世纪80年代末,决策支持系统的应用还不是很广泛。原因在于:那时的决策支持系统在理论和方法上过于复杂,过于偏重高级而抽象的理论,而且过于偏重结论,在一定程度上忽视了对业务数据的分析,而且,成本高昂,因此实际产生的应用效果远远比不上管理信息系统。在人们眼里,决策支持系统是一个高高在上的东西。事实上,企业对于决策支持并不要求大而全,也并不要求一套系统代替决策者去思考,他们所需要的往往是对简单却十分重要的业务数据的反复挖掘,为决策提供一定的依据。科学的决策必须以大量可靠的数据为基础,这些数据应包括企业的内部数据、与企业的经营和生产相关的外部数据,还应包括综合数据和历史数据。否则,决策就没有根据,就会成为主观的猜想。当时,数据库技术虽然已经成熟,但应用还不广泛,所以普遍存在一个数据量不足的问题。此外,分析工具的缺乏也是一大问题。没有充足的数据,分析工具也不得力,分析的结果当然不能切中要害。由此可以看出,在这个阶段,用于决策支持的技术还不完备,时机也还不成熟,决策支持系统的失败也是可以理解的。7.1.4数据仓库阶段进入20世纪90年代,计算机得到空前广泛的应用,使得企业的生产效率进一步提高,商业竞争也越来越激烈了。一个企业要想在市场上生存下去,不仅要建立完善的计算机管理信息系统来提高效率,而且要先于对手获得至关重要的决策信息。这样,企业才能在未来的竞争中适应潮流、把握正确的发展方向。企业对迅速而准确地获得决策信息的需求比以前大大增强了。对企业来说,决策支持系统已不是可有可无的东西,企业需要实用而且成本低廉的决策支持系统。系统开发人员由于企业的需求,也渐渐认识到了决策支持系统开发的方向。决策支持系统的建设更应该把注意力放在对数据的挖掘上,放在满足业务主管们各种各样的查询要求上,由他们自己做决定,系统只是提供一些用来辅助决策的参考意见,应该帮助而不是代替高级业务人员的思考。在这一时期,计算机及其网络技术的应用更为广泛,企业管理信息系统逐渐由以内部管理为主转变为对整个供应链的管理。企业之间的商务活动也从以前简单的电子数据传输转变为全方位的合作,电子商务蓬勃兴起。企业之间的相互合作不仅可以提高企业的生产效率、降低生产成本,也为企业获取大量的外部数据带来了方便。这就为决策支持分析奠定了基础。另外,由于数据库技术的发展和日益成熟,决策支持分析工具也渐渐丰富起来。企业的需求和技术的成熟最终导致了数据仓库的产生。数据仓库作为决策支持系统的一种有效、可行的体系化解决方案,包括三个方面的内容:数据仓库技术(DW)、联机分析处理技术(OLAP)和数据挖掘技术(DM)。数据库技术的发展为解决决策支持问题提供了可能,而激烈的市场竞争产生了对决策支持的巨大需求,由此人们找到了以数据仓库为基础、以OLAP和DMI具为手段的一整套可操作、可实施的解决方案。7.2数据库技术的基本理论电子商务是指利用电子网络进行的商务活动,这里的电子网络主要是指Internet和基于Internet技术的Intranet(企业内部网)及Extranet(企业外部网)。其进行的商务活动不仅包含电子数据交换所涉及的电子交易,还包括电子邮件交流、网上站点宣传和利用lnternet技术改造的其他传统应用。但电子商务应用的前提是企业管理信息系统的广泛应用。数据库技术是企业管理信息系统的核心技术之一,所以,想深入地理解电子商务就应该先了解数据库的一些基本理论。7.2.1数据模型1.数据模型的要素数据库是某个企业、组织或部门所涉及的数据的一个综合,它不仅要反映数据本身的内容,而且还要反映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体