3.5 数据库技术 计算机的基本功能和关键技术,就是数据处理。数据处理的中心问题是数据管理,数据管理是指对数据的分类、组织、编码、存储、检索和维护。而数据库技术正是数据处理技术发展到比较成熟后的产物。电子商务以电子计算机及其网络技术取代传统方式来进行生产经营活动,当然离不开数据库技术的支持。数据库技术对电子商务的支持主要表现在两方面: (1)、存储和管理各种商务数据。这是数据库技术的基本功能。 (2)、决策支持。近几年,随着数据仓库和数据挖掘技术的产生和发展,使企业可以科学地对数据库中海量的商务数据进行科学地组织、分析和统计,从而更好地服务于企业的决策支持。
3.5 数据库技术 本节中将从以下几个方面讨论数据库技术及其在电子商务中的应用: 3.5.1数据库技术的产生和发展 3.5.2数据库技术基本理论 3.5.3数据仓库、联机分析处理和数据挖掘 3.5.4数据库技术与电子商务
3.5.1数据库技术的产生和发展 几十年来,数据管理随着计算机硬件和软件技术的发展而不断发展。而数据库技术是数据管理发展到一定阶段的产物。到目前为止,数据管理主要分为以下几个阶段: 手工管理阶段 文件系统阶段 数据库系统阶段 数据仓库阶段
3.5.1数据库技术的产生和发展 1、手工管理阶段 本世纪50年代中期以前,计算机主要用于科学计算。硬件存储设备主要有磁带、卡片机、纸带机等,还没有磁盘等直接存取的存储设备;软件上也处于初级的阶段,没有操作系统和管理数据的工具。数据的组织和管理完全靠程序员手工完成,因此称为“手工管理阶段”。这个阶段数据的管理效率很低。
3.5.1数据库技术的产生和发展 2、文件系统阶段 进入60年代,数据管理方式发生了很大的变化。计算机在这个阶段不仅用于科学计算,还大量用于管理。外存储设备也出现了存取效率高得多的直接存储设备,如磁盘、磁鼓等;在软件方面,不仅有了操作系统,而且还出现了专门的数据管理软件,一般称之为文件系统。有了文件系统数据的增、删、改等操作都变得轻松。更重要的是数据的复制变得相当容易,使数据可以反复使用。程序员在免除了数据管理工作以后,不仅可以专心从事其它更有意义的工作,而且减少了错误。但这个阶段仍存在一些问题,如数据冗余度大,数据和程序缺乏独立性等。
3.5.1数据库技术的产生和发展 3、数据库系统阶段 到了60年代后期,计算机被越来越多地应用于管理领域,而且规模也越来越大,因此数据量也急剧增长。同时,人们对数据共享的要求也越来越强烈。在这种情况下,“数据库”的概念应运而生。用数据库管理数据有如下的特点: (1)、面向全组织的复杂的数据结构 (2)、数据的最小存取单位是数据项 (3)、数据的冗余度小,易扩充 (4)、具有较高的数据和呈现的独立性 (5)、统一的数据控制功能,包括安全性控制、完整性控制和并发控制
3.5.1数据库技术的产生和发展 数据库系统使信息系统的研制从围绕加工数据的程序为中心转变到围绕共享的数据库来进行。这既便于数据的集中管理,也有利于应用程序的研制和维护,提高了数据的利用率和相容性,从而提高了作出决策的可靠性。因此大型复杂的信息系统大多以数据库为核心。 数据库是一个通用化的综合性数据集合。它可以供各种用户共享且具有最小的冗余度和较高的数据与程序的独立性。由于多种程序并发地使用数据库,为了能有效、及时地处理数据,并提供安全性和完整性,就需要一个软件系统——数据库管理系统(DBMS)在建立、运用和维护时对数据库进行统一控制。 在数据库技术的支持下,管理信息系统(MIS)、电子数据交换(EDI)、决策支持系统(DSS)从无到有,逐渐发展起来。
3.5.1数据库技术的产生和发展 4、数据仓库阶段 进入90年代,计算机得到空前广泛的应用,使得企业的生产效率进一步提高,商业竞争也越来越激烈了。对企业来说,决策支持系统已不是可有可无的东西,企业需要实用而且成本低廉的决策支持系统。系统开发人员渐渐认识到,决策支持系统开发应该把注意力放在对数据的挖掘上,放在满足业务主管们各种各样的查询要求上,由他们自己做决定,系统只是提供一些用来辅助决策的参考意见,应该帮助而不是代替高级业务人员思考。 在这一时期,计算机及其网络技术的应用更为广泛,企业之间的商务活动也从以前简单的电子数据传输转变为全方位的合作,电子商务蓬勃兴起。另外,由于数据库技术的发展和日益成熟,决策支持分析工具也渐渐丰富起来。
3.5.1数据库技术的产生和发展 企业的需求和技术的成熟最终导致了数据仓库的产生的。数据仓库作为决策支持系统的一种有效、可行的体系化解决方案,包括了三个方面的内容:数据仓库技术(DW)、联机分析处理技术(OLAP)、数据挖掘技术(DM)。 数据库技术的发展和激烈的市场竞争为解决决策支持问题提供了可能和需求,并找到了以数据仓库为基础、以OLAP和DM工具为手段的一整套可操作、可实施的解决方案。
3.5.2数据库技术基本理论 电子商务应用的前提是企业管理信息系统的广泛应用。企业管理信息系统的核心技术就是数据库技术。所以,想深入地理解电子商务就应该先了解数据库的一些基本理论。 下面我们将从下面几个方面接受数据库技术基本理论: 1、数据模型 2、关系数据库 3、数据库系统的建立
3.5.2数据库技术基本理论 --数据模型 1、数据模型 数据模型是数据库系统中用于提供信息表示和操作手段的形式构架。数据模型通常由三部分组成: (1)、数据结构:包括数据对象及其相互联系。 (2)、数据操作:主要是对数据的检索和更新。 (3)、数据的约束条件:完整性规则的集合。完整性规则是指在给定的数据模型中数据及其联系所具有的制约和依存规则。 在数据库系统中,主要的数据模型有:层次模型(Hierarchical Model)、网状模型(Network Model)和关系模型(Relational Model)。其中,关系模型应用最广泛。
3.5.2数据库技术基本理论 --数据模型 (1)、层次模型(Hierarchical Model) 层次模型描述了数据之间的层次关系。在层次模型中,数据之间的关系满足: a、有且仅有一个结点无双亲,这个结点称为根结点 b、其它结点有且仅有一个双亲结点 因此,层次模型只能描述数据之间一对一或一对多的关系。其结构就象一棵倒栽的树,如下图所示: 学校(根) 班级1 班级3 学生1 学生2 班级2
3.5.2数据库技术基本理论 --数据模型 (2)、网状模型(Network Model) 网状模型描述了数据之间的网状关系。在网状模型中,数据之间的关系允许: a、有一个以上的结点无双亲 b、结点可以有多个双亲结点 网状模型的最大特点是可以描述多对多的关系。 其结构如下图所示: 教师 课程 学生
3.5.2数据库技术基本理论 --数据模型 (3)、关系模型(Relational Model) 关系模型在三种模型中是最重要的。虽然它的数据关系是几种模型中最简单的,但其定义却比较复杂。我们可以把关系模型理解为一张二维表,表格中的每一行代表一个实体,称为记录;每一列代表实体的一个属性,称为数据项。记录的集合称为关系。关系具有如下性质: a、数据项不可再分(即不可表中套表)。 b、关系中的列是同性质的,称为属性。属性之间不能重名。 c、关系中不能出现相同的记录,记录的顺序无所谓。 d、每个关系都有一个主键,它能唯一地标识关系中的一个记录。 e、关系中列的顺序不重要。
3.5.2数据库技术基本理论 --数据模型 (3)、关系模型(Relational Model) 关系模型的结构如下图所示: 学号 姓名 性别 生日 班级 …… 98001 张山 男 80/5/12 98-计算机 在上述三种数据模型中,由于关系模型概念简单、清晰,用户易懂易用,有严格的关系数据理论支持,简化了程序员的工作和数据库开发建立的工作,因而关系模型在诞生以后发展迅速,很快就成为深受用户欢迎的数据模型。目前市面上比较流行的数据库系统,如ORACLE,SYBASE,SQL SERVER,FoxPro等均为关系型数据库。
3.5.2数据库技术基本理论 --关系数据库 2、关系数据库 (1)、基本概念 关系数据库是以关系模型为基础的数据库。关系模型有三部分组成: a、数据结构:在关系模型中,无论是实体还是实体之间的联系均由单一的结构类型即关系来表示。 b、关系操作:关系代数(或等价的关系演算)中并、交、差、选择、投影、连接等。关系语言的特点是高度的非过程化,其操作方式的特点是集合操作,即操作的对象和结果是集合。
3.5.2数据库技术基本理论 --关系数据库 c、关系完整性:实体完整性、参照完整性和用户自己定义的完整性。实体完整性是保证数据库中记录的唯一性,即每个记录的主键不能为空值也不能与其它记录的主键相同。参照完整性是保证表与表之间语意上的完整性,即当一个表引用在另一个表中定义的实体时,要保证这个实体的有效性。这两种完整性是关系模型必须满足的约束条件,应该由关系系统自动支持。而用户自定义完整性反映了用户的要求,是用户自行定义的。
3.5.2数据库技术基本理论 --关系数据库 (2)、结构化查询语言(SQL) 结构化查询语言(Structured Query Language,简称SQL)的理论是1974年提出的,并在IBM公司的System R上实现。由于它功能丰富、使用方式灵活、语言简洁易学等优点,在计算机工业界和用户中倍受青睐,很快得以推广。后来,美国国家标准局(ANSI)和国际标准化组织(ISO)先后批准SQL作为关系数据库语言的美国及国际标准。至此,SQL就成为关系数据库的标准语言,关系数据库系统一般都支持标准SQL语句。 SQL虽被称为“查询语言”,其功能却包括查询、操纵、定义和控制四个方面,是一个综合、通用、功能强大的关系数据库语言。
3.5.2数据库技术基本理论 --关系数据库 SQL的功能可以分成以下四类: a、数据定义:用于定义和修改数据库对象。如CREATE TABLE(创建表)、DROP TABLE(删除表)等。 b、数据操纵:对数据的增、删、改和查询操作。如SELECT(查询数据)、INSERT(插入记录)、DELETE(删除记录)、UPDATE(修改数据)等。 c、数据库控制:控制用户对数据库的访问权限。如GRANT(授予权利)、REVOKE(取消权利)等。 d、事务控制:控制数据库系统事务的运行。如COMMIT(事务提交),ROLLBACK(事务回滚)等。
3.5.2数据库技术基本理论 --关系数据库 SQL有如下几个比较突出的优点: a、一体化:SQL可以完成包括数据库定义、修改、删除、数据更新、数据查询等数据库生命周期中的全部活动,给用户使用带来很多方便。 b、灵活:SQL有两种使用方式。一种是联机交互使用,另一种是嵌入某种高级程序设计语言的程序中。这两种方式的语法结构是统一的。这样既给用户带来了灵活的选择余地,又不会带来不一致的困扰。 c、高度非过程化:与高级编程语言相比,SQL对数据库的操作方面是非常有优势的。使用SQL用户只需提出“做什么”,不用了解实现的细节,复杂的过程均由系统自动完成。 d、语言简洁,易学易用。
3.5.2数据库技术基本理论 --关系数据库 (3)、关系数据的规范化理论 为了使数据库设计的方法走向完备,人们提出规范化理论。规范化可以使关系的结构简化,更加有规律,存储尽量减少冗余,使数据库设计得更为合理。规范化的目的可以概括为以下几点: 保证库中每一个分量都不可再分 消除冗余存储,简化检索操作 消除插入异常和删除异常 关系数据的规范化理论涉及到以下两个问题: a、数据依赖 规范化问题考虑的基本出发点在于一个关系的数据项之间存在数据依赖问题。它是现实世界属性间相互联系的抽象。关系中数据项之间存在两种依赖关系:函数依赖和多值依赖。
3.5.2数据库技术基本理论 --关系数据库 b、范式 通常我们按属性间情况来区分关系规范化的程度为:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、修正的第三范式(BCNF)、第四范式(4NF)。 范式之间的关系如下图所示: 1NF 2NF 3NF BCNF 4NF 消除决定因素非键的非平凡函数依赖 消除非主属性对键的部分函数依赖 消除非主属性对键的传递函数依赖 消除主属性对键的部分和传递函数依赖 消除非平凡且非函数依赖的多值依赖
3.5.2数据库技术基本理论 --数据库系统的建设 3、数据库系统的建设 数据库系统是企业整个管理信息系统的核心和基础,它的任务就是把系统中大量的数据按一定的模型组织起来,以便及时、准确地提供给用户。一个管理信息系统的各部分是否能紧密地结合在一起以及如何结合,关键在数据库。因此只有对数据库进行合理的逻辑设计和有效的物理设计才能开发出完善而高效的管理信息系统。数据库系统是整个管理信息系统建设重要的组成部分。 建设数据库系统一般要分为两步:设计和建立高效的数据库,设计和建立数据库管理系统(DBMS)。其基本过程如下页图所示:
3.5.2数据库技术基本理论 --数据库系统的建设 其中,一般我们不自己开发数据库管理系统,而是选择相应的商品软件。不同的数据库产品有各自的特色,如ORACLE大而全,而Sybase则比较灵活高效。所以,在选择数据库产品时,一定要以用户需求为依据,这样才能真正发挥各个数据库产品的优势。 用户需求分析 数据库设计 数据分析 概念模型设计 建立数据库 DBMS设计 DBMS实现 系统使用与维护 数据库 设计与实现阶段 数据库管理系统 数据库管理信息系统的建设过程
3.5.3数据仓库、联机分析处理和数据挖掘 广义概念上的数据仓库是一种帮助企业做决策的体系化解决方案,它包括了三个方面的内容: 数据仓库技术(Data Warehouse,DW) 联机分析处理技术(On-line Analytical Processing,OLAP) 数据挖掘技术(Data Mining,DM) 数据仓库、联机分析处理和数据挖掘作为信息处理技术是独立出现的。但是,这三种技术之间存在着一定的联系性和互补性,把它们结合起来,就可以使它们的能力更充分地发挥出来。
3.5.3数据仓库、联机分析处理和数据挖掘--数据仓库技术 1、数据仓库技术(DW) 数据仓库是支持管理决策过程的、面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合。其中,“主题”是指用户使用DW辅助决策时所关心的重点问题,每一个主题对应一个客观分析领域,如销售、成本、利润的情况等。“面向主题”就是指DW中的信息是按主题组织的,并且按主题来提供信息。“集成的”是指DW中的数据不是业务处理系统数据的简单拼凑与汇总,而是经过加工整理、相互一致的、具有代表性的数据。“随时间变化”,是指DW中存储的是一个时间段的数据,而不是某一个时点的数据,所以主要用于进行时间趋势分析。“信息本身相对稳定”,是指数据一旦进入数据仓库,一般情况下将被长期保留,变更很少。
3.5.3数据仓库、联机分析处理和数据挖掘--数据仓库技术 数据仓库组织和管理数据的方法与普通数据库不同。主要表现在三个方面: a、它依据决策要求,只从数据库中抽取那些需要的数据,并进行一定的加工处理。 b、数据仓库是多维的,即数据仓库的数据的组织方式有多层的行和列。 c、它支持决策处理,不同于普通的事务处理。 数据仓库需要以下数据库技术的支持。 a、并行数据库技术:数据仓库中的数据量很大,处理大规模的数据,使用并行技术对提高运行效率是很有帮助的。
3.5.3数据仓库、联机分析处理和数据挖掘--数据仓库技术 b、高性能的数据库服务器。数据仓库的应用是分析型的,它需要有高性能的数据库服务器配合工作,对DBMS核心的性能也有更高的要求。 c、数据库互操作技术。数据仓库的数据来源多种多样,可能来自数据库,也可能来自文件系统。即使都来自数据库,这些数据库也往往是异构。为了从这些异构数据源中定期抽取、转换和集成所需要的数据存入库中,异构数据源之间的互操作技术是必需的。 仅仅拥有数据仓库是不够的,在其上应用各种工具进行分析,才能使数据仓库真正发挥作用。联机分析处理和数据挖掘就是这样的分析工具。
3.5.3数据仓库、联机分析处理和数据挖掘--联机分析处理技术 2、联机分析处理是针对特定问题的联机数据访问和分析,通过对信息进行快速、稳定、一致和交互式的存取,对数据进行多层次、多阶段的分析处理,以获得高度归纳的分析结果。联机分析处理是一种自上而下、不断深入的分析工具。在用户提出问题或假设之后,它负责提取出关于此问题的详细信息,然后进行分析,最后将分析的结果以一种比较直观的方式呈现给用户。 目前,联机分析处理的工具可分为两大类,一类是基于多维数据库的,另一类是基于关系数据库的。两者的不同点在于,前者是把分析所需的数据从数据仓库中抽取出来,物理地组织成多维数据库,而后者则是利用关系表来模拟多维数据,并不是物理地生成多维数据库。
3.5.3数据仓库、联机分析处理和数据挖掘--数据挖掘技术 3、数据挖掘技术 数据挖掘的基本思想就是从数据中抽取有价值的信息,其目的是帮助决策者寻找数据间潜在的关联,发现被忽略的要素,而这些信息对预测趋势和决策行为也许是十分有用的。 从数据库的角度看,数据挖掘就是这样一个过程,它从数据库的数据中识别出有效的、新颖的、具有潜在效用的并最终可理解的信息(如规则、约束等)的过程。 从决策支持的角度看,数据挖掘是一种决策支持的过程,主要基于人工智能、机器学习、统计学和数据库技术等多种技术,能高度自动地分析企业原由的数据,进行归纳推理,从中挖掘出潜在的模式,预测客户的行为,帮助企业的决策者调整市场策略,从而减少风险,辅助作出正确的决策。
3.5.3数据仓库、联机分析处理和数据挖掘--数据挖掘技术 数据挖掘和联机分析处理都可以在数据仓库的基础上对数据进行分析,它们之间是有差别的: 联机分析处理还是一种传统的决策支持方法。即,在某个假设的前提下通过数据查询和分析来验证或否定这个假设,所以联机分析处理是一种验证型的分析。联机分析处理是由用户驱动的,很大程度上受到用户水平的限制。 与联机分析处理不同,数据挖掘是数据驱动的,是一种真正的知识发现方法。使用数据挖掘工具,系统能够根据数据本身的规律性,自动地挖掘数据潜在的模式,或通过联想,建立新的业务模型,帮助决策者调整市场策略,并找到正确的决策。这显然利于发现未知的事实。所以,联机分析处理和数据挖掘的主要差别就在于是否能自动地进行数据分析。
3.5.3数据仓库、联机分析处理和数据挖掘--决策支持方案 在传统的决策支持系统中,数据库、模型库和知识库往往被独立地设计和实现,因而缺乏内在的统一性。以数据仓库为中心、事务处理和数据挖掘为手段的新方案很好地解决了这个问题,如下图所示: 工具层 联机分析处理 数据 挖掘 DSS应用 多维数 据模型 仓库 字典 非结构化数据 库 集成、转换、综合 以数据仓库为中心的决策支持系统
3.5.3数据仓库、联机分析处理和数据挖掘--决策支持方案 a、数据仓库解决了数据不统一的问题。数据仓库自底层数据库收集大量事务级数据的同时,对数据进行集成、转换和综合,形成面向全局的数据视图,形成整个系统的数据基础。 b、联机分析处理从数据仓库中的集成数据出发,构建面向分析的多维数据模型,利用这个带有普遍性的数据分析模型,用户可以使用不同的方法,从不同的角度对数据进行分析,实现了分析方法和数据结构的分离。 c、数据挖掘以数据仓库和多维数据库中的大量数据为基础,自动地发现数据中的潜在模式,并以这些模式为基础自动做出预测。数据挖掘反过来又可以为联机分析处理提供分析的模式。
3.5.4数据库技术和电子商务 数据库技术对电子商务的支持是全方位的,从底层的数据基础到上层的应用都涉及到数据库技术。其结构如下图所示: 业务 数据库 EDI 数据 仓库 Web 决策者 归纳 收集与 发布 数据格式转化 单证 浏览器 分析工具 内部 收集 决 策 支 持 系 统 管理信息系统 EDI系统 Web系统 电子商务中涉及的数据库技术
3.5.4数据库技术和电子商务 --数据的收集、存储和组织 数据库技术对于电子商务的支持可以概括为以下几部分: 1、数据的收集、存储和组织。 这是传统数据库系统的主要功能。对于参与电子商务的企业而言,数据的来源包括企业内部管理信息系统,和大量的外部数据。数据是企业重要资源,是决策的依据,是进行各类生产经营活动的基础及结果。
3.5.4数据库技术和电子商务 --决策支持 2、决策支持。 这就要用到前面所提到的数据仓库解决方案。 由于电子商务是利用网络来做生意,这给企业带来了机遇,同时也带来了挑战。一方面,由于电子商务的介入,企业可以得到更多的经济信息,有利与企业的经营。另一方面,由于电子商务交易的全球化,使全球经济成为一个整体,从而使得电子商务市场变化频繁。企业预测市场动向和规划经营管理策略更加困难。电子商务系统如果缺少好的决策支持功能,一方面是对电子商务海量数据资源的一种浪费,另一方面也是对从事电子商务的企业的一大损失。
3.5.4数据库技术和电子商务 --对EDI的支持 3、对EDI的支持。 EDI是电子商务重要的组成部分,要想成功地实现EDI,企业的基础设施建设是关键,而数据库系统的建设是其中重要的一环。如果有良好的数据库系统的支持,就可以实现应用到应用的EDI过程。这一过程是,企业内部的管理信息系统依据业务情况自动产生EDI单证,并传输给贸易伙伴;而对方传来的EDI单证也可以由系统自动解释,并存入相应的数据库,整个过程无须人工干预。因此,业务数据库和EDI系统之间的接口就变得非常重要了。
3.5.4数据库技术和电子商务 --WEB数据库 4、Web数据库。 随着WWW的不断扩展,越来越多的企业加入到Web中来。企业不仅可以通过Web发布自己的信息,同时也可以收集顾客的需求信息。这样给双方都带来了好处。 Web数据库是一个新兴事物。Web与数据库的结合,主要是源于两者各自的优势和缺陷: Web的特点:Web上数据数量大、界面友好灵活、类型多、缺乏组织和管理。 数据库技术的特点:DBMS能高效、高质、安全地管理数据。与Web相比,数据库管理系统显得严谨有余而灵活不足。 Web与数据库结合,可以集Web和数据库的诸优点于一身。前端有界面友好的Web浏览器,后台则有成熟的数据库技术作支撑。这样无疑会带给企业一个良好的应用环境。