第8章电子商务数据库技术目录8.1数据库概述8.2数据库设计方法8.3Acess数据库8.4SQL基础8.1数据库概述8.1.1数据库的概念8.1.2关系数据库8.1.3数据库常用对象8.1.1数据库的概念1.数据库技术的产生与发展2.数据库的常用术语(1)数据(Data)(2)数据库(DB,即Database)(3)数据库管理系统(DBMS,即DatabaseManagementSystem)(4)数据库系统(DBS,即DatabaseSystem)8.1.2关系数据库1.数据模型(DM,即DataModel):数据模型是对现实世界的模拟,是一种用来抽象、表示和处理现实世界中的数据信息的工具。2.关系模型:关系模型把世界看作是由实体(Entity)和联系(Relationship)构成的。(1)实体(2)联系3.关系数据库的重要概念(1)关键字(Key)(2)数据完整性(DataIntegrity)8.1.3数据库常用对象数据库对象是数据库的组成部分,常见的有以下几种:1.表(Table)数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row)和列(Column)组成的。2.索引(Index)索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。3.视图(View)视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。8.2数据库设计方法8.2.1数据库的设计规则8.2.2数据库的设计内容8.2.3数据库的设计过程8.2.4数据库的概念设计8.2.1数据库的设计规则设计数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式(NormalForm)。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以此类推。一般说来,数据库只需满足第三范式(3NF)就行了。8.2.2数据库的设计内容数据库设计通常包含两方面的内容:结构(数据)设计和行为(处理)设计。(1)结构(数据)设结构(数据)设计是指数据库的总体概念设计,即设计数据库的框架或数据库的结构。设计出具有最小数据冗余、能反映不同用户数据需求、实现数据共享的系统是结构(数据)设计的目标。结构(数据)设计出的系统一旦形成,轻易不作改动,因此,结构(数据)设计是数据库设计的关键。但结构(数据)设计需要留有数据扩充的余地,便于系统升级。(2)行为(处理)设计行为(处理)设计是指设计与数据库相关的应用程序、事务处理等数据库程序。用户通过数据库程序访问、操作数据库。因而,行为(处理)设计与用户的业务活动息息相关,是一个动态渐进的过程。8.2.3数据库的设计过程(1)需求分析(2)概念设计(3)逻辑设计(4)物理设计8.2.4数据库的概念设计在通过系统功能分析以后,将这些需求抽象为信息世界的结构,也就是实体联系分析。采用E-R(Entity-Relationship)模型来建立各子系统信息结构,最后进行汇总。E-R模型,即实体联系数据模型(Entity-RelationshipDataModel),于1976年由P.P.S.Chen提出,是用E-R图来描述现实世界的概念模型。E-R模型建立了一个统一的数据模型,概括了层次、网状和关系三种传统数据模型,以比较自然的方式模拟现实世界,并可以作为三种传统模型相互之间转换的中间模型。8.3Acess数据库8.3.1常用数据库系统简介8.3.2Acess数据库系统8.3.1常用数据库系统简介数据库的物理实现要依赖于数据库管理系统(DBMS),目前广泛使用的数据库系统不少,下面对其中最常见的几种做些概要介绍。•DB2•SQLServer•ORACLE•ACCESS8.3.2Acess数据库系统1.Access数据库功能与特点Access数据库具有三个基本功能:建立数据库、数据库操作、数据通讯。Access是关系型数据库的一种,因此具有表的特性。在Access数据库中,包括表、查询、窗体、报表、页、宏和模块七个对象,这些对象用于收集、存储和操作各种不同的信息。每个对象都是数据库的一个组成部分,其中表是数据库的基础,它记录着数据库的全部数据内容,其他对象是Access提供的工具,用于对数据库进行维护和管理。2.Access表(1)表的创建(2)常用数据类型(3)表的操作(4)数据字段的操作8.4SQL基础8.4.1SQL概述8.4.2SQL语言常用语句8.4.1SQL概述1.SQL包含通常包括4个部分•数据操纵语言(DML-DataManipulationLanguage)INSERT,UPDATE,DELETE•数据查询语言(DQL-DataQueryLanguage)SELECT•数据定义语言(DDL-DataDefinitionLanguage)CREATE,ALTER,DROP•数据控制语言(DCL-DataControlLanguage)COMMITWORK,ROLLBACKWORK2.SQL的优点(1)非过程化语言(2)统一的语言(3)是所有关系数据库的公共语言8.4.2SQL语言常用语句1.资料定义DDL(DataDefinitionLanguage)(1)建表格(2)更改表格(3)建立索引(4)删除(5)视图的建立与撤销2.数据查询语言(DQL)(1)单表查询(2)多表连接查询(3)分组查询3.数据定义语言DDL(1)INSERT语句(2)DELETE语句(3)UPDATE语句(4)数据控制语言DCL8.5ADO与ODBC8.5.1ASP访问数据库的几种方式8.5.2ODBC简介8.5.3ADO对象简介8.5.4Connection对象8.5.5Command对象8.5.6Recordset对象8.5.7Field对象与Fields数据集合8.5.1ASP访问数据库的几种方式在ASP脚本中一般可以通过CGI,IDC或者ADO等方式访问数据库。Web浏览器用HTTP协议向Internet信息服务器(IIS)递交请求。Internet信息服务器执行访问数据库的操作,并以一个HTML格式的文档作为回答。8.5.2ODBC简介ODBC(OpenDatabaseConnectivity,开放数据库互连)是由Microsoft公司于1991年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。从结构上分,ODBC分为单束式和多束式两类。一个完整的ODBC由下列几个部件组成:①应用用程序(Application)ODBC管理器(Administrator)。该程序位于windows服务器控制面板(ControPanel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。②驱动程序管理器(DriverManager)驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。③ODBCAPIODBC驱动程序是一些DLL,提供了ODBC和数据库之间的接口。④数据源数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。8.5.3ADO对象简介ADO对象组件主要提供了7种对象和4种集合供程序设计师使用。Connection对象:负责创建一个ASP脚本与指定数据库的连接。在对某个数据库进行各种操作之前,首先需要与该数据库建立连接。Command对象:负责对数据库提出操作请求,通常是传递和执行指定的SQL命令。该对象的执行结果将返回一个Recordset记录集。Parameter对象与Parameters集合:负责传递Command对象在执行时所需的SQL命令参数。Recordset对象:用来保存和表示从数据库中取得的记录集合,并允许访问者进一步对其中的记录和字段进行各种操作。Field对象与Fields集合:表示Recordset对象指定的数据字段,每个Field对象对应于Recordset对象中的一列。Property对象与Properties集合:提供有关的属性值,供Connection对象、Command对象、Recordset对象或Field对象使用。Error对象与Errors集合:提供连接或访问数据库时发生的错误信息,每当发生错误时,一个或多个Error对象将出现在Connection对象的Errors集合中。8.5.4Connection对象ADO组件中的Connection对象负责与数据库实际的连接动作,其他所有对象都必须依赖该对象实现的连接才能发挥其各自的功能。1.Connection对象的方法(1)Open方法(2)Execute方法(3)Close方法(4)BeginTrans方法(5)CommitTrans方法(6)RollbackTrans方法2.Connection对象的属性(1)ConnectionTimeout属性(2)CommandTimeout属性(3)Provider属性(4)Mode属性8.5.5Command对象1.Command对象概述Command对象负责对数据库提供操作请求,即负责发出指定的SQL命令。使用Command对象可以查询数据库并返回Recordset对象中的记录。2.Command对象的属性(1)ActiveConnection属性(2)CommandText属性(3)CommandType属性(4)CommandTimeout属性8.5.6Recordset对象1.Recordset对象的方法•(1)Recordset对象的Open方法•(2)Recordset对象的其他方法•(3)Recordset对象的属性1.BOF属性2.EOF属性3.RecordCount属性4.MaxRecords属性5.PageSize属性6.PageCount属性7.AbsolutePage属性8.CursorType属性9.LockType属性8.5.7Field对象与Fields数据集合1.Field数据集合常用属性2.Field数据集合的应用8.6数据库技术与电子商务8.6.1数据的收集、存储和组织8.6.2决策支持和对EDI的支持8.6.3Web数据库对电子商务的支持8.6.4数据库技术和电子商务的发展8.6数据库技术与电子商务8.6数据库技术与电子商务电子商务中所涉及的数据库技术如图图8-6电子商务与数据库技术8.6.1数据的收集、存储和组织数据库技术是数据管理技术。其主要目标是解决数据管理中数据的存储、访问、处理等问题。因此数据库技术主要用于信息管理应用领域,如基层部门的事务处理、企业管理信息系统等,这也是传统的数据库的主要功能。对于参与电子商务而言,数据的来源不仅仅是企业内部管理信息系统,还包括大量的外部数据。在电子商务环境下,数据是企业的生命线,是决策的依据,是进行各类生产经营活动的基础及结果。在电子商务环境下,要区别对企业重要的与琐碎的、正确的与谬误的信息越来越难,这就使得数据的收集、组织和存储技术对电子商务的发展变得更加重要。8.6.2决策支持和对EDI的支持EDI系统模型图8-7EDI系统模型8.6.3Web数据库对电子商务的支持web数据库是电子商务的核心技术.它能将数据库技术与web技术很好地融合在一起,使数据库系统成为web的重要组成部分,实现数据库与网络技术的有机结合。web数据库在发展过程中.经历了非结构化数据库和异构数据库系统等历程,这种技求的升级给电子商务系统带来了有力的支持。8.6.4数