《电子商务数据库技术PPT全套电子课件完整版ppt整本书电子教案最全教学教程整套课件.ppt》由会员分享,可在线阅读,更多相关《电子商务数据库技术PPT全套电子课件完整版ppt整本书电子教案最全教学教程整套课件.ppt(589页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、电子商务数据库技术21世纪高等学校电子商务专业规划教材全书共分12章,全面系统地讲述了数据库设计、实现的基本原理及在电子商务中的应用。本书侧重于介绍如何利用数据库来管理数据、创建应用程序,主要内容包括:数据库系统概述、关系数据库、关系数据库标准语言(SQL)、查询优化、关系规范化理论、面向对象与UML基础、数据库设计、数据库管理,同时还反映了数据库技术在电子商务领域的一些应用技术,例如网络数据库技术、XML数据库技术、数据仓库与数据挖掘技术。最后,还简要介绍了SQLServer这个流行的数据库管理系统的简要使用方法,以达到理论结合实际的目的。本书内容循序渐进,深入浅出,概念清晰,每一章节都给出
2、了相关的实例。同时每章都有知识的总结,并附有各种类型的习题,从不同方面帮助读者理解和掌握所学的知识。本书适合作为高等学校电子商务专业、计算机专业及相关专业的教材,也可用做从事电子商务系统开发人员数据库方面的参考用书。引言引言1美欧日发达国家数据库产业发展概况美欧日发达国家数据库产业发展概况1.1美国的数据库产业发展美国的数据库产业发展1)发展简况v从20世纪60年代开始,为了适应美国和全世界科技信息的迅猛增长和与此相对应的信息需求的不断增长,美国政府的信息部门开始带头组织数据库的生产和利用。v这一时期,美国生产的数据库集中在科学技术和工程领域。v1980年,美国数据库生产者中商业公司所占的比例
3、迅速增加,数据库内容也由以科技数据库为主向以商业、经济、金融数据库为主过渡。总之,美国是世界上数据库产业起步最早的国家,它的数据库发展远远领先于其他任何国家。2)发展的特点(1)数据库产量高(2)数据库容量大(3)数据库的主题越来越丰富,专业方向越来越细(4)数据库的信息含量不断丰富 3)迅速发展的原因(1)美国数据库产业有着雄厚的技术背景的支持(2)美国政府大力支持数据库产业的发展(3)美国的数据库产业以市场为明确导向(4)美国数据库产业的发展重点和方向明确1.2欧洲和日本的数据库产业发展1.2.1欧洲 欧洲的数据库产业发展晚于美国,并且大大落后于美国,因此欧洲的数据库发展过程中很大程度上吸
4、收了美国的发展经验。与美国相比,欧洲数据库产业的发展有着自己不同的发展方式和特点:欧洲的数据库产业发展有着其信息优势 欧洲国家联合起来发展整个欧洲的数据库产业欧洲数据库产业以面对欧洲市场为主 重视技术对数据库发展的作用以及展开国家间的技术合作 1.2.2日本 日本数据库从19852005年的十年间尽管取得了相当的发展,但其数据库数量还不到美国的1/5。与美欧相比,日本的数据库产业则显得更加落后。日本的数据库产业发展基本上借鉴了美国和欧洲的经验,采取从政府支持到商业化发展的道路。2 国产数据库产业发展之路2.1 现状掌握核心软件技术,开发自主知识产权的系统软件一直是我国软件产业发展的目标。作为信
5、息处理的核心软件之一,数据库系统是除操作系统外最重要的核心软件,也是我国信息化建设中需求量最大、应用最广泛的基础性软件。但中国数据库软件市场主导者一直是国外厂商。发展国产数据库系统对保证国家信息安全具有重要意义。信息化涉及到国家政治、经济、军事、安全的要害领域,因此拥有自主知识产权的国产数据库对保证国家信息安全具有重要的意义。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已经成为衡量国家信息化程度的重要标志。2.2现已有多个产品及原型系统如人大、北大、中软和华中合作研发的COBASE数据库管理系统。人大金仓信息技术有限公司研制的通用并行数据库管理系统Kingbase ES和小
6、金灵嵌入式数据库系统。该系统可以从人大金仓公司的网站上下载:http:/实验1.分别安装SQL-server2000和Kingbase ES,比较应用界面的不同。自己独立完成。中国人民大学数据与知识工程研究所研发的PBASE并行数据库管理系统、EASYBASE桌面数据库管理系统和PBASE并行数据库安全版。东大开发关系数据库管理系统NITDB、分布式数据库管理系统SUNDDB、联邦式数据库系统SU_FDBS、面向对象的数据库管理系统FOOD、移动数据库管理系统SwiftDB、数据仓库系统SEU_Warehouse等。此外,还有东软集团的Openbase数据库管理系统和武汉达梦的DM系列等等。课
7、程主要内容本课程详细介绍数据库系统的基本原理、设计方法和应用。主要内容包括:数据库系统的产生与发展、数据库系统特点、数据系统的数据模型、数据库系统结构、关系数据库方法、关系数据库标准语言SQL、数据依赖和关系规范化理论、数据库保护、数据库设计、网络数据库的访问方法、熟悉SQL-SERVER数据库管理系统的使用方法。1.1数据库技术与电子商务1.1.1 数据库的基本概念1数据。数据的定义。数据(data)是描述事物所用的符号,是对事物特征的一种符号化或量化的表示。p例如计算机中可以用一组数据来描述一本书的信息。p人们可以用自然语言来描述事物(“数据库原理及应用”,“高等教育出版社”,“ISBN9
8、78-7-04-022511-2”,“2007-12”,“李红”)由于数据可以被书写,因而可以被记录、处理、存储,具有传递信息的功能。记录数据的特征 数据有“型”和“值”的特点。数据的型指数据的内部结构和对外联系,数据的值指数据的具体取值。例如上例中的数据“ISBN978-7-04-022511-2”的型是一个字符串类型,但具体的值是唯一标识一本书的ISBN号。不同的数据类型在计算机中存储的方式不同。数据有多种表现形式。数据的表现形式不仅包含数字,还包括文字、图形、图像、声音等多媒体信息。数据与信息有内在的联系。数据是信息的符号表示,信息是数据的语义解释。例如上例中的“2007-12”这个数据
9、表示的是2007年12月这个特定的语义。因此数据表示了信息,而信息也必须依靠数据形式的表示才能被人所理解和接受。2.数据库 数据库定义。可以理解为存储数据的仓库 数据库(database)以位或字节的方式长期存储在计算机内、有组织的和可共享的统一管理的数据集合。数据库的特征 数据库中的数据有不同的组织形式。数据库中数据的集成和共享。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。3 数据库管理系统 数据库管理系统定义。数据库管理系统(database management system,DBMS)是专门用于管理数据库的计算机系统软件。具有数据定义、数据操作
10、、数据控制与管理的功能。它提供一个可以方便地、有效地存取数据库信息的环境,是用户和数据库的接口。数据库管理系统的特点 为了方便访问,数据库通常被封装在数据库管理系统中。对数据库的访问可以分成两大类:查询和更新。其中查询是提取数据库中数据的请求,更新是插入、删除、修改数据项的请求。目前最常用的数据访问语言是结构化的查询语言(structured query language,SQL),虽然称为查询语言但它提供了查询和更新这两大类数据访问功能。4 事务定义。事务是访问并可能更新数据库中各种数据项的一个程序执行单元(unit),事务是恢复和并发控制的基本单位。事务的特征原子性(atomicity)一
11、致性隔离性。持久性。5事务处理系统事务处理系统(transaction processing system,TPS)包括一个或多个存储企业相关数据的数据库、用来控制企业运行状态的管理事务软件,及组成应用代码的事务本身。最简单的事务处理系统只有一个DBMS,目前大多数的商用DBMS都包含事务处理功能。比较复杂一些的事务系统会包含多个DBMS。联机事务处理系统(OLTP)可以实时地采集处理与事务相连的数据,主要功能是提供大量的用户同时使用该系统,要求系统能快速响用户的联机请求。1.1.2 电子商务概述电子商务这个概念起源于七十年代发达国家,一些大公司通过建立自己的计算机网络实现各个机构之间、商业伙
12、伴之间的信息共享、交换,这就是电子数据交换(EDI)的雏形。据中国互联网络信息中心(CNNIC)发布的第26次互联网发展统计报告显示,截至2010年6月,中国网民规模达到4.2亿,突破了4亿关口。2010年上半年,大部分网络应用在网民中更加普及,各类网络应用的用户规模持续扩大。其中商务类应用表现尤其突出,网上支付、网络购物和网上银行半年用户增长率均在30%左右,远远超过其他类网络应用。社交网站、网络文学和搜索引擎用户增长也较快。目前电子商务的模式有以下几种:企业对消费者模式(BusinesstoCustomer)。企业对企业模式(BusinesstoBusiness)消费者对消费者的模式(Cu
13、stomertoCustomer)移动商务模式(Mobile-Commerce)政府机构与企业间的电子商务模式(GovernmenttoBusiness)政府对消费者的电子商务模式(GovernmenttoConsumer)1.1.3数据库技术在电子商务中的应用电子商务是以网络技术和数据库技术为支撑的,其中数据库技术是电子商务的核心技术,一些数据库厂商已经将数据库技术及市场发展的视角瞄准电子商务领域。帮助企业借助于Internet搭建以客户为中心的应用框架,真正实现电子商务,例如各种网上商城、网上书店系统。其中www系统是一个大型的分布式超媒体信息数据库,它的出现极大地推动了Internet和
14、电子商务的发展,已经成为Internet中最流行、最主要的信息服务方式。目前Web技术与数据库管理系统(DBMS)相互融合的领域研究已成为热点方向之一,数据库厂家和WEB公司也纷纷推出各自的产品和中间件来支持Web技术和DBMS的融合使用户可以在Web浏览器上方便地检索数据库的内容。1.2 数据库的由来和发展1.2.1 1.2.1 人工管理阶段人工管理阶段1.2.2 1.2.2 文件系统阶段文件系统阶段1.2.3 1.2.3 数据库阶段数据库阶段1.2.4 1.2.4 高级数据库阶段高级数据库阶段1.2.1人工管理阶段在人工管理阶段(20世纪50年代中期以前),计算机主要用于科学计算,其他工作
15、还没有展开。外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。软件只有汇编语言,尚无数据管理方面的软件。数据处理的方式基本上是批处理。v人工管理阶段的数据管理有下列特点 数据不保存在计算机内。没有专用的软件对数据进行管理。只有程序(program)的概念,没有文件(file)的概念。数据面向程序。即一组数据对应一个程序。这个阶段程序和数据的关系如图1-1所示:图1-1人工管理阶段1.2.2 文件系统阶段在这一阶段(20世纪50年代后期至60年代中期),计算机不仅用于科学计算,还用于信息管理。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展
16、起来。此时,外部存储器已有磁盘、磁鼓等直接存取存储设备。软件领域出现了高级语言和操作系统。操作系统中的文件系统是专门管理外存的数据管理软件。数据处理的方式有批处理,也有联机实时处理。文件系统阶段的数据管理有以下特点数据以“文件”形式可长期保存在外部存储器的磁盘上。程序与数据之间具有一定的独立性。数据的逻辑结构与物理结构有了区别。文件组织已多样化。有索引文件、链接文件和直接存取文件等。数据不再属于某个特定的程序,可以重复使用,即数据 面向应用。对数据的操作以记录为单位。文件系统显露出三个缺陷:数据冗余(redundancy):重复 数据不一致(inconsistency):相同的数据出现在不同的
17、文件中,修改时容易出现数据不一致的现象。数据联系弱(poor data relationship)这个阶段程序和数据的关系如图1-2所示图1-2文件系统中的程序和文件1.2.3 数据库阶段v数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事:1968年美国IBM公司推出层次模型的IMS系统。1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。数据库阶段的数据管理具有以下特点面向系统的复杂的数据结构学号学号姓名姓名专业专业院系院系政治政治面貌面
18、貌教育教育历史历史家庭家庭情况情况选课选课成绩成绩奖励奖励惩罚惩罚001李华计算机计算机系团员物理87001李华计算机计算机系团员高数64v将上表的数据结构化的结果如下图所示。上面的结构图不仅描述了数据本身,还描述了数据之间的联系。数据的冗余度小,容易扩展。由于数据库在建立时是面向整个系统,而不是面向某个应用,可以极大地减少数据冗余度。有较高的数据独立性。物理独立性 逻辑独立性数据库系统提供4中数据控制功能。数据的安全性控制。数据的完整性控制。数据库的并发控制。数据库的恢复。数据的最小存取单位是数据项。数据库方式下应用程序和数据之间的关系图1-4数据库与应用系统的关系1.2.4 现代数据库技术
19、1.面向对象的数据库技术数据库研究人员借鉴和吸收了面向对象的方法和技术,提出了面向对象的数据库模型(简称对象模型)。关系数据库是数据的一种存储方式,它不属于面向对象领域。由于关系概念与面向对象概念是完全不同的两个概念,它们之间存在很多不同的概念和方法。为了解决这个问题,面向对象技术和数据库技术必然需要融合结合。在面向对象技术和数据库技术相结合的过程中,基本上有以下几种趋势。建立纯粹的面向对象数据库管理系统(即OODBMS)建立对象关系数据库管理系统(ORDBMS),对传统的关系数据库加以扩展,增加面向对象的特性,把面向对象技术与关系数据库相结合,建立对象关系数据库管理系统(ORDBMS)ORM
20、(对象关系映射),在对象层和关系层间建立一个映射层(MappingLayer),通过这种方式数据源中的关系数据才能进入对象领域,以对象的面貌出现,供上层应用使用2.分布式数据库系统分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于20世纪70年代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机公司(CCA)于1979年在DEC计算机上实现。分布式数据库允许用户开发的应用程序把多个物理分开的、通过网络互联的数据库当作一个完整的数据库看待。分布式数据库在逻辑上属于同一系统而在物理上分布在计算机网络的不同节点上。网络上的各个节点一般都由计算机
21、、数据库、若干终端组成。分布式数据库的数据分布在不同的场地,但每一个场地可以有自己独立的应用。主要有以下几个特点:物理分布性逻辑整体性。场地自治性。各地的计算机由数据通信网络相连。3.多媒体数据库多媒体数据库是多媒体技术与数据库技术相结合产生的一种新型的数据库。与传统的数据库不同,多媒体数据库是指能够管理文字、表格、声音、图像、图形等多媒体数据的数据库。前对多媒体数据库的研究分为两大方向:面向对象数据库研究。对关系数据库进行简单扩充,使之具有最简单的多媒体功能。4.XML数据库技术XML技术自出现以来,发展非常迅速,在电子数据交换、电子商务等领域都有应用。XML本质上是一种描述性的标记语言,是
22、一种更好地表示信息的手段。同时,这也意味着XML可以是用于信息存储和管理的一种方式,正如同传统的数据库技术一样。目前它以成为计算机行业标准的数据交换格式。XML的一个重要特点是它可以方便有效地表示结构化数据,这就使得XML可以作为表示和存储数据的手段。其次XML文件为纯文本文件,不受操作系统、软件平台的限制。最后XML容易描述数据的语义,这种描述能被计算机理解和自动处理因此,因此目前有不少研究是将XML用于数据库应用中。XML文件的存储方式有三大类:(1)将文件存储于文件系统(2)将文件存储于数据库管理系统所提供的BLOB中(3)将文件存储于原生XML数据库(NativeXMLDatabase
23、s,NXD)5 现代信息集成技术 由于互联网的不断发展和应用,目前如何有效利用海量数据成为研究的热点。在20世纪90年代初就兴起了3项新技术:数据仓库(Data Warehouse,DW)联机分析处理(On Line Analytical Processing,OLAP)数据挖掘(Data Mining),现在已成为研究热点。1.2.5 1.2.5 数据库技术的研究领域数据库技术的研究领域数据库学科的研究范围非常广泛,主要包括以下三个主要的研究领域。1)数据库管理系统软件的研制 2)数据库的设计 3)数据库理论 1.3 数据模型v模型是对客观世界中复杂事物的抽象描述。v在用计算机处理现实世界的
24、信息时,必须抽取局部范围的主要特征,模拟和抽象出一个能反映局部世界中客观现实和客观现实之间联系的模型,即数据模型。v如何将现实中的数据组织、整理并存储于数据库中,在数据库中是用数据模型这个工具来对现实世界进行抽象。v从现实世界的信息到数据库中存储的数据,直到最后用户所使用的数据是一个逐步抽象的过程。v在这个抽象的过程中产生了4种不同的模型:概念模型、逻辑模型、外部模型、内部模型。v这4种模型之间的关系如下图所示。其中我们可以把逻辑模型、外部模型、内部模型统一称为数据模型。1.3.1.1.3.1.概念模型概念模型v数据库概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述。v概念模型
25、有如下的特点概念模型是从用户的需求角度出发,对整个应用项目所涉及的数据进行全面描述,对其中数据进行建模。概念模型独立于计算机系统的软硬件。概念模型即不依赖于硬件设备,如对存储器的考虑,也不依赖于实现时的DBMS和操作系统。概念模型是数据库设计人员与用户之间进行交流的工具。v在建立概念模型之前,首先需要学习一些基本概念 实体(Entity)。客观存在、可以相互区别的事物称为实体。实体可以是具体的对象,例如一本书、一个出版社、一辆汽车、一个学生等;也可以是抽象的对象,例如一次买书、一场比赛等。实体集(Entity set)。具有相同特征的同类实体的集合,称为实体集。属性(Atrribute)。属性
26、是实体所具有的特征,一个特征称之为一个属性。关键字(Key)。能唯一标识实体的属性或属性集,称为关键字。实体型。用实体名和属性名描述同一类实体,称为实体型。u实体之间的联系 一对一联系(1:1)。实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。一对多联系(1:n)。实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。多对多(m:n)实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中多个实体对应。记作(m:n)。3概念模型的
27、表示工具概念模型应该用简单、清晰、灵活、易于理解的表达方式来表示实体及实体之间的联系。概念模型的表示方法有很多,其中最著名的是P.P.S.Chen在1976年提出的实体联系方法(Entity Ralation Model,ER模型)。这个模型可以直接从现实世界抽象出实体、实体之间的联系,然后用实体联系图(ER图)表示概念模型。设计ER图的方法称为ER方法,简单的说是用矩形框表示实体,菱形框表示联系,椭圆来表示实体的属性。1.3.2 数据模型三要素v数据模型是严格定义的概念的集合,数据模型通常由数据结构、数据操作、数据完整性三部分组成。1)数据结构 数据结构是研究存储在数据库中的数据对象以及对象
28、之间的联系。一般可以分成两部分:一部分描述的是数据对象的数据类型、内容、性质。另一部分描述的是数据对象之间的联系,例如学生和课程有选课的联系。在数据库系统中通常按照数据结构的类型来命名数据模型,目前有4种常用的数据模型:层次模型、网状模型、关系模型、面向对象的模型。2)数据操作 数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新两大操作,检索也称为数据查询,更新包括数据插入、修改、删除操作。3)数据完整性 完整性规则是给定的数据模型中数据及联系的制约和依存规则,用来限定数据库的 状态及状态变化,保证数据的正确、有效、相容。1.3.3常用数
29、据模型的种类1层次模型(Hierarchical Model)1)层次状结构的特点数据库中有且仅有一个记录型无双亲,称为根节点。其他记录型有且仅有一个双亲。2)层次模型的数据操作与数据完整性定义 层次模型的数据操纵主要有插入、修改、删除、查询。进行插入、修改、删除操作时需要满足层次模型的完整性约束条件。在进行插入操作时,必须保证新纪录有双亲结点。如果有一个新助教没有分配教研室,无法将该助教的信息插入数据库中。在进行删除操作时,如果删除双亲结点的记录,则相应的孩子记录也同时被删除。在进行修改操作时,应修改所有相应的记录,保证数据的一致性。3)层次模型的优缺点优点 在层次模型中从一个节点到其双亲的
30、映射是惟一的,所以对每一个记录型(除根节点外)只需要指出它的双亲,就可以表示出层次模型的整体结构。层次模型的特点是记录之间的联系可以通过指针实现,数据查询效率高。提供了良好的数据完整性支持。缺点 层次模型的缺点是只能表示实体间1:N的联系 由于具有严格的层次顺序,使数据的查询和更新操作比较复杂,应用程序编写比较困难。对数据的添加、删除操作有严格的限制,查询子结点必须通过双亲结点。【例1.2】层次模型的例子,如图1-10所示:它由系、教研室、教授、助教、研究生、本科生等实体组成。记录型系D是根节点,由D#(系编号)、DN(系名)、DO(系办公室)、DL(系主任)组成。根结点有2个孩子分别是教研室
31、、本科生。2 网状模型(Network Model)1)网状模型的特征是:允许一个以上的节点没有父节点一个节点可以有多于一个的父节点【例1.3】网状模型的例子,如图1-12所示图1-12描述的是一个网状数据模型的例子。它由学生、课程、学生选课等实体组成。按照语义学生和课程之间是多对多的联系下图1-13是网状模型的一个实例。2)网状模型的数据操纵与完整性约束 网状模型的数据操纵主要有插入、修改、删除、查询。进行插入、修改、删除操作时需要满足网状模型的完整性约束条件。在进行插入操作时,允许插入没有双亲结点的新纪录。如果有一个课程还没有学生选,可以在数据库中添加这个课程。在进行删除操作时,允许只删除
32、双亲结点的记录。在进行修改操作时,由于记录间是用指针联接,只需要更新指定记录。3)网状模型的优缺点优点:1)网状模型与层次模型相比,提供了更大的灵活性,能更直接地描述现实世界。2)由于没有对层次的严格要求,具有良好性能和存储效率缺点:1)网状模型的缺点是结构复杂,用户不易掌握。2)记录类型联系变动后涉及链接指针的调整,扩充和维护都比较复杂。3)关系模型(Relation Model)关系模型是四种数据模型中最重要的一种,关系模型是建立在数据概念基础上【例1.4】关系模型的例子。如下表所示。下面是网上书店系统中部分实体的关系模型的例子,以1-9的E-R图为基础。1)用户(用户编号,用户名,密码,
33、真实姓名,性别,出生年月,地址,Email,邮编)2)书籍(书籍编码,书籍ISBN,书名,作者,出版社编号,价格,出版日期)3)出版社(出版社编号,出版社名称,电话,传真,Email,地址,邮编)订单(订单编号,订单时间,用户编号,送货编号,支付方式,订单状态,4)发货时间,预计到达时间,收货人姓名,收货人地址,收货人电话,邮编)5)订单细节(订单编号,书籍编码,数量,定书时间)2)关系模型的数据操纵与完整性约束 关系模型的数据操纵主要有插入、修改、删除、查询。进行插入、修改、删除操作时需要满足关系模型的完整性约束条件,即实体完整性、参照完整性、用户自定义完整性。这些概念将在第二章中有详细的阐
34、述。关系模型是数学化的模型,数据操纵的方式都可以转换为相应的关系代数,关系代数操作的特点是集合操作,即操作的对象和结果是集合。关系模型中表格简单用户易懂,只需要简单的语句就可以对数据库中的数据进行操作,因此不涉及存储结构、访问技术等细节。例如上面的关系模型中,图书和用户的购买关系也是通过一张二维表(订单表来)实现的。3)关系模型的优缺点优点 关系模型有严格的数据理论根据。数据结构简单,用户只需要用简单的查询语句就可以对数据库进行操作。有更好的数据独立性和安全保护。简化了数据库建立和应用程序开发的工作,提高了效率。缺点 关系模型的缺点是查询效率不如非关系模型。为了提高性能,需要进行查询优化,这样
35、就会增加开发数据库应用系统的负担。4)面向对象模型v面向对象模型基本概念是对象和类。对象(Object)。对象是现实世界中实体的模型化,对象代表某个客观存在的具体或抽象的实体 对象具有一系列的属性,属性值体现对象的特征每个对象有唯一的标识符把属性和行为封装在一起,对象的行为是在对象的属性上操作的方法集。类(Class)。类是所有有相同属性和方法的对象的模板,类是生成对象的软件蓝图。【例1.5】对象模型的例子。对于图1-9E-R图的例子,用对象模型表示如下图所示。模型中有5个类,分别是用户类、图书类、出版社类、订单类、订单细节类。v绝大多数数据库系统在总的体系结构上都具有3层模式的结构特征 1.
36、三层模式的体系结构1.4数据库系统的三层模式结构1)外模式定义:外模式是用户与数据系统的接口,是用户用到的那部分数据描述。特点:使用外模式可以是应用程序员,也可以是一个联机的终端用户。2)逻辑模式定义:模式是数据库中全部数据的整体逻辑结构的描述,他由若干个逻辑记录类型组成,还包含记录之间的联系、数据的完整性和安全性要求。特点:逻辑模式是对数据库结构的一种描述,而不是数据的本身。一个数据库只有一个逻辑模式,数据库逻辑模式以某一种数据模型为基础。3)内模式定义:内模式是数据库在物理存储方面的描述,定义了存储用的内部记录类型、索引和文件的组织方式以及数据控制方面的细节。特点:内模式通常使用模式描述语
37、言(存储模式DDL)来描述和定义,并不涉及物理设备的约束。一个数据库只有一个内模式。2.两级映射 由于数据库的三级模式中的数据结构可能不一致,因此需要三级模式中的不同的映射关系来说明三级模式之间的对应关系。1)外模式/逻辑模式映射定义了外模式与逻辑模式之间的对应关系,一般是放在外模式中描述。2)模式/内模式的映射定义了数据的逻辑结构到物理结构之间的对应关系,一般是放在内模式中描述。3.数据独立性 3个抽象级间通过两级映射(外模式/逻辑模式映射,逻辑模式/内模式映射)进行相互转换,使得数据库的3级形成一个统一的整体。数据库系统独立性分为物理独立性和逻辑独立性。1)物理独立性 物理独立性是指用户的
38、应用程序与存储在磁盘上数据库中的数据是相互独立的。当数据的物理存储改变时,只要对逻辑模式/内模式映射作相应的修改,可以使逻辑模式尽可能保持不变,应用程序也不需要改变。2)逻辑独立性 逻辑独立性是指用户的应用程序与数据库中的逻辑结构是相互独立的。当数据的逻辑结构改变时,例如增加记录类型和数据项,那么只需要对外模式/逻辑模式映射作相应的修改,可以使外模式和应用程序尽可能保持不变。逻辑独立性存在于外模式和逻辑模式之间的映射转换,说明概念模式发生变化时应用程序的独立程度。值得注意的是,逻辑独立性比物理独立性更难实现。1.5数据库管理系统为了便于访问,数据库通常封装在数据库管理系统(DBMS,Datab
39、ase Management System)中。DBMS是数据库系统中对数据进行管理的软件,它是数据库系统的核心组成部分。DBMS所支持的最常用的数据访问语言是结构化查询语言(SQL,structured query language),虽然取名叫查询语言,但实际上通过SQL是可以进行数据更新等其他操作。1.DBMS的主要功能数据定义功能。DBMS提供了数据定义语言(DDL,Data Define Language)定义数据库的三级模式结构、两级映射,定义数据的完整性约束等约束题条件。数据操纵功能 DBMS提供数据操纵语言(DML,Data Manipulation Language)实现对数
40、据库中数据的操作。基本的数据操作有两类:查询和更新(包括插人、删除、更新)。数据库的运行管理功能 数据库的运行管理是DBMS的重要功能,保证了数据库系统的正确运行。DBMS对数据库的管理和控制主要通过四个方面实现:数据安全性控制数据完整性控制多用户环境下的并发控制数据库的恢复 数据库的维护功能 这一部分包括数据库的数据载入、转换、转储,数据库的改组以及性能监控等功能。数据通信接口功能 DBMS提供了与其他DBMS或文件系统的接口,从而使该DBMS能够将数据转换成另一个DBMS或文件系统所能接受的格式。数据字典 数据库系统的三层结构定义存放在一个特殊的数据库中,一般称它为数据字典(DD,Data
41、 Dictionary)。2.DBMS2.DBMS的组成的组成 DBMS是由两大部分组成:查询处理器和存储管理器。查询处理器负责查询处理,同时也负责数据更新和模式更新的请求。存储管理器是根据获得的请求信息,从数据存储器中获得信息或修改数据存储器中的信息。(1)磁盘存储器中有5个主要成分:数据文件、数据字典、索引、统计数据、日志。(2)查询处理器有四个主要成分:DDL解释器、DML编译器、嵌入型DML的预编译器、查询运行核心程序。存储管理器有四个主要成分:授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。3 3 DBMSDBMS的工作模式的工作模式 在数据库系统中,DBMS与操作系统、应
42、用程序协同工作,共同完成对数据库中数据的各种操作,对数据库的操作都是通过DBMS完成的。DBMS的工作过程如下:用户或应用程序向DBMS提出的数据操作请求和处理请求。DBMS接受请求,并将请求(高级指令)转换成复杂的机器代码(低级指令)。DBMS依次检查外模式、模式、内模式及两级映射和存储结构的定义。DBMS对数据库执行必要的存取操作。DBMS从对数据库的操作中接受查询结果。DBMS对数据结果进行处理(格式转换)将处理结果返回给用户1.6数据库系统1.6.1数据库系统DBS的组成数据库系统(DBS,DataBase System)是采用了数据库技术的计算机系统。它是一个实现有组织、动态的存储大
43、量相关结构化数据的计算机软、硬件资源的集合。数据库系统实际上是为各类用户访问数据库提供服务的计算机系统。一般来说它由数据库、硬件、软件、人员几部分构成。1数据库(DB)数据库(DB)是一个单位或组织需要管理的全部相关数据的集合,它是长期存储在计算机内、有组织的、可共享、统一管理的数据集合。DB分成两类:物理数据库:按一定的数据模型实际存储的应用数据集合或工作数据集合,是数据库的主体。数据字典(DataDictionary,DD):也称为DB中各级数据结构的描述,存放了关于数据库中各级模式的描述信息。包括所有数据的结构名、意义、描述定义、存储格式、完整性约束、使用权限等信息。2硬件 硬件是运行D
44、BMS和存储数据库中数据的基础,这一部分包括中央处理器、内存、外存、输入/输出等硬件设备。3软件 这一部分包括DBMS、操作系统(OS,Operater System)、各种主语言和数据库应用程序,其中操作系统软件是所有的软件基础。为了开发数据库应用系统,需要各种主语言例如:COBOL、C、PL/I等,其中还有一些流行的面向对象的程序设计语言,例如Visual C+、Java等。4人员 管理、开发和使用数据库系统的人员主要是数据库管理员(DBA,Database Administrator)、系统分析员、应用程序员和用户。用户。指使用数据库应用系统的最终用户,他们通过应用程序的运行界面(用户接
45、口)使用数据库。例如火车票代售点的工作人员,网上购买图书的顾客等。应用程序员。使用程序设计语言和DML语言编写数据库应用系统的程序模块的计算机工作者。系统分析员。负责应用系统的需求分析和规范说明。他们需要和数据库管理员相结合,确定系统的软硬件配置并参与数据库各级模式的概要设计。数据库原理员(DBA)。它是控制数据整体结构的一组成员,负责数据库系统的正常运行,承担创建、监控和维护数据库结构的责任。DBA主要职责有:定义模式定义内模式与用户联系定义数据库安全性规则,对用户访问数据库设置权限定义完整性规则,监督数据库的运行数据库的备份与恢复监控和优化数据库的性能。1.6.2数据库系统中应用程序的发展
46、应用程序访问数据库的语言是标准的SQL语言,但不同的程序设计语言,使用方法不尽相同。应用程序从低级到高级大致经历了以下几个阶段.1)使用SQL直接使用数据库。用户可以使用DBMS提供的SQL命令来定义和操纵数据库,例如Microsoft SQL-Server提供了标准的Transcat SQL来设计简单的数据库程序,完成数据处理的任务。但数据库的安全性很低。2)使用主语言嵌入SQL方式编写应用程序。应用程序一般采用C等主语言编写,用嵌入在主语言中的SQL来访问数据库。嵌入式SQL语句可以包含完整的SQL语句,也可以包含不完整的SQL语句。3)使用ODBC方式编写应用程序。应用程序依然用C等主语
47、言编写,访问数据库使用ODBC函数。但编程较复杂。4)面向对象的高级语言编写应用程序。随着数据库应用程序的广泛使用,开发技术也相应有了很大的发展。利用一些面向对象的图像化的开发工具,可以极大的提高软件开发的效率。例如目前流行的PowerBuild、Delphi、Visual Basic等集成开发环境,还有目前流行的基于java或.net的网络开发工具等。开发出了很多基于网络的数据库应用系统。1.7 数据库系统应用1.7.1 数据库系统应用 1银行业务系统 2.超市的业务系统 3.航空售票系统 4.学校的教学管理系统 5.企业的管理信息系统 6图书管理系统 1.7.2网上书店的实例介绍网上书店是
48、一个在互联网上进行图书销售管理的电子商务系统,主要功能是:通过网上书店的主页浏览图书信息 选择自己需要购买的图书,并将它放入购物车 客户在结账之前可以对购物车内的货物进行修改、查询和删除等操作 客户完成购物后,系统自动生成订单,根据订单来对客户进行发货 客户可以查询订单的状态书店的工作人员可以对图书、订单、发货等信息进行有效的管理。本教材其他章节的例子也以网上书店为例来进行分析,下面列出网上书店所需要的数据库表。1)用户表:用户(用户编号,用户名,密码,真实姓名,性别,出生年月,地址,Email,电话,邮编)USERs(UserID,UserName,Password,TrueName,sex
49、,Birth,Address,Email,Tel,Post)2)书籍表书籍(书籍编码,书籍ISBN,书名,作者,出版社编号,价格,折扣价格,出版日期,页数,内容简介,类别编号,数量,开本(如16开),图片,版次)BOOK(BookID,ISBN,BookName,Author,PublisherID,Price,DiscountPrice,PublishDate,Page,Description,Categoryid,TotalNum,large,Image,PubTurn)3)出版社信息表出版社(出版社编号,出版社名称,电话,传真,Email,地址,邮编,网址)PUBLISHER(Publi
50、sherID,Name,Tel,Fax,Email,Address,Post,WWW)4)书类别表(树状结构,自递归)类别表(类别编号,类别名称,类别描述,父类别编码)CATEGORY(CategoryId,CategoryName,CategoryDescription,parentedId)5订单细节表订单细节(订单编号,书籍编码,数量)ORDERDETAIL(OrderID,BookID,Quantity)6)订单表 订单(订单编号,订单时间,用户编号,送货编号,支付方式,订单状态,发货时间,预计到达时间,收货人姓名,收货人地址,收货人电话,邮编)ORDERS(OrderID,DateC