第01章数据库概述

上传人:ning****hua 文档编号:112274929 上传时间:2022-06-22 格式:DOC 页数:25 大小:663KB
收藏 版权申诉 举报 下载
第01章数据库概述_第1页
第1页 / 共25页
第01章数据库概述_第2页
第2页 / 共25页
第01章数据库概述_第3页
第3页 / 共25页
资源描述:

《第01章数据库概述》由会员分享,可在线阅读,更多相关《第01章数据库概述(25页珍藏版)》请在装配图网上搜索。

1、第1章 数据库技术应用概述当今时代,信息是最重要的资源之一,与能源、物质并列为人类社会活动的三大要素。信息时代主要标志是计算机信息处理。随着信息技术的飞速发展和广泛应用,建立以数据库为核心、基于网络环境的信息处理系统,成为目前最主要的信息处理形式。1.1 数据库技术及数据库应用系统1.1.1 信息与数据数据库技术是计算机信息处理最重要技术之一,其核心内容是数据管理。在计算机领域,信息和数据是密切相关的两个概念。1信息信息与所有领域密切相关。对于信息存在许多种观点和认识。一般人把消息、情报、新闻、知识等也当作信息看待。本书从应用角度,定义信息为:信息是对现实世界中事物的存在特征、运动形态以及不同

2、事物间的相互联系等多种属性的描述,通过抽象形成概念;这些概念能被人们认识、理解,被表达、加工、推理和传播,以达到认识世界和改造世界的目的。因此,信息是关于事物以及事物间联系的知识。一般可以将信息分为三种类型或三个层面: 事物静态属性信息。包括事物的形状、颜色、状态、数量等。 事物动态属性信息。包括事物的运动、变化、行为、操作、时空特性等。 事物之间的联系信息。包括事物之间的相互关系、制约和相互运动的规律。事物的静态、动态属性信息属于事物本身的特性,比较直观、容易收集,而事物间联系的信息可能隐藏在背后,不容易获得,一般需要在前两类信息的基础上进行分析、综合并进行加工处理,才能够获得。在一个确定的

3、环境下,获得的信息量越大,就意味着人们对特定事物及相互联系的认识越深入,不确定性越小。所以,信息是关于事物不确定性的度量。2信息表达及其特性迄今人们已经研究和发明了非常多的信息表达形式,也发明了很多媒介和设备来记录、存储和展示信息,计算机就是目前具有综合处理各种信息表达方法的最重要设备。从某种意义讲,人类进步的突出标志之一就是对信息表达、处理以及传播手段的不断革新。但是还有非常多的信息人们尚没有完善的表达方式,如人们自身的嗅觉、触觉、味觉等的表达等。不断研究新的信息表达手段和方法,是人类需长期面对的课题。目前人们使用的计算机信息表达方法,主要包括:数字、文字和语言、公式、图形和曲线、表格、多媒

4、体(包含图像、声音、视频等)、超链接等。信息具有可共享性、易存储性、可压缩性、易传播性等特性。 可共享性。这是信息与其他资源的本质区别之一。在物质世界里,资源有限,且常常处于被争夺状态,而信息可以被无限复制,并可使所有相关人员共享。扩大信息可共享性使信息发挥尽可能大的效用,是信息管理的主要目标之一。但是,信息的可复制性也带来信息使用安全和信息非法使用的问题,涉及到诸如知识产权保护、商业秘密安全等。一般来説,生产信息的成本较高,而复制信息的成本极低,因此复制也带来一系列的问题,如何保护信息并且限制信息的共享,也是信息管理的目标。提供信息共享的便利以及保护信息、防止信息被非法共享成为信息管理中需要

5、同时关注并完成的任务。 易存储性。在现代信息系统中,信息以数字形式存储和传递,信息的易存储性表现在现在已经有非常多的存储介质和存储技术,如磁介质、光、半导体、生物等,同时存储的容量越来越大,存储成本越来越低,在信息管理的总成本中甚至可以忽略不计。 可压缩性。数字化的信息表达,可以通过一定算法对信息的表达空间进行压缩,从而减少表达空间而又不丢失信息的内容。目前,压缩技术是信息技术的重要分支,产生了多种压缩技术标准和产品。使用压缩技术可以减少信息的存储空间,大幅度降低网络传送负载,提高传送效率。对信息的压缩存储还可以有效提高信息的存储安全。 易传播性。网络技术的发展和普及可以使信息在瞬间传播到世界

6、各个角落,同时各种信息技术的不断更新,使得传输信息类型和容量不断增加。信息的这种特性已经根本上改变了人们获得信息、交流信息的方式。3数据与数据处理信息的表达须借助于符号,也就是数据。数据是信息的载体,信息是数据的内涵。计算机是处理数据的。数据符号有各种各样,在计算机中都转换成二进制符号“0”和“1”保存和处理。事实上,所有信息在计算机中就是由“0”和“1” 组成的形形色色的各种编码。计算机处理数据,而这些数据所蕴涵的信息是由用户赋予的、产生于人的大脑中。因此计算机主要是针对“数据”,对信息的加工处理也称为数据处理。现实社会中生产经营、日常管理等活动要产生或处理大量数据。人们直接获取的通常是原始

7、数据,原始数据反映了实际业务活动,但还需要计算机进一步进行处理,才能获得有价值的信息,这就是数据处理的过程。所谓数据处理,是指对数据的收集、整理、组织、存储、维护、加工、查询、传输的过程。1.1.2 数据库应用系统为了实现数据处理的目标,需要将多种资源聚集在一起,例如实现数据采集和输入的输入设备、为处理数据而开发的程序、运行程序所需要的软硬件环境、各种文档,以及所需要的人力资源等等。1数据处理系统为实现特定的数据处理目标所需要的所有各种资源的总和称为数据处理系统。一般情况下,主要指硬件设备、软件环境与开发工具、应用程序、数据集合、相关文档等。数据处理系统的开发是指在确定的硬件、软件环境下,设计

8、实现特定数据处理目标的软件系统的过程。数据处理过程中涉及大量数据,对数据的管理格外重要。目前,数据库技术是数据处理系统中最核心的技术。2数据库技术与数据库系统数据库技术是计算机数据管理技术发展到一定阶段的产物。随着计算机软硬件的发展,计算机数据管理经历了三个阶段:手工管理阶段、文件系统阶段、数据库系统阶段。上世纪50年代中期以前,计算机主要用于科学计算。当时没有磁盘等直接存取设备,外存只有纸带、磁带等;没有操作系统和专门管理数据的软件。数据由手工管理。50年代后期到60年代,有了磁盘等设备及操作系统等软件,计算机开始大量用于数据处理。操作系统中有专门的文件管理模块管理数据,数据可长期保存,应用

9、软件不必过多考虑数据存储的物理细节。数据由应用程序定义,数据不独立,共享性差,冗余度大。60年代中期以后,产生了数据库技术,出现了统一管理数据的软件数据库管理系统(DBMS,Data Base Management System)。所谓数据库,简而言之,就是长期存储的相关联数据的集合。数据库是数据处理系统的重要组成部分。数据库技术有以下一些特点。l 数据结构化。数据库是存储在外存上的按一定结构组织好的相关联数据集合。 l 数据共享性好、冗余度低。数据库中的数据面向全系统、面向系统内所有用户。系统内特定应用使用的数据从数据库中抽取,不同应用无需重复保存,使数据冗余度最低,实现了数据的一致性。l

10、数据独立性强。数据库采用三级模式、两级映射体系结构,具有很强的物理数据独立性和逻辑数据独立性,即数据全局模式与存储设备、与用户程序的独立性。l DBMS统一管理。数据库的定义、创建、维护、运行操作等所有功能由DBMS统一管理和控制,使数据库的性能和使用方便性都有充分的体现。图1.1 数据库系统构成示意图数据库系统是运用数据库技术的数据处理系统,由计算机软硬件、数据库、DBMS、应用程序以及数据库管理员(DBA,Data Base Administrator)和数据库用户构成。典型的数据库系统构成如图1.1所示。数据库系统需要存储容量大、速度快、安全可靠的高性能计算机。在数据库系统中,用户一般通

11、过应用程序使用数据库,用户应用程序体现了数据库系统的功能。因此,建立数据库和开发建立在数据库之上的应用程序是开发数据库系统的主要工作。DBMS是专门处理数据库的软件,是数据库系统的核心,数据库所有工作都通过DBMS完成。DBMS需要操作系统及有关工具软件的支持。为了有效、安全管理数据库,一般大型数据库都配有专职DBA,职责是管理和维护数据库,他们拥有对数据库最高处理权限,其主要工作包括:安装、升级数据库服务器;监控数据库服务器的工作并优化;正确配置使用存储设备;备份和恢复数据;管理数据库用户和安全;与数据库应用开发人员协调;转移和复制数据;建立数据仓库等。3数据库应用系统与管理信息系统许多数据

12、库系统的开发和建立,是为了满足企业或组织的应用需求,因此也称为数据库应用系统(DBAS,DB Application System)。在各类企业或组织中,管理都必不可少。企业的各类管理部门,需要记载和管理业务数据,并将数据加工处理,产生反应企业生产运营状况的报表,以及支持管理决策的信息,实现其管理的职能。针对企业管理工作开发的信息处理系统,就称为管理信息系统(MIS,Management Information System)。目前,大多数MIS都是DBAS。计算机很早就开始应用于企业管理中。最早大约在1955年左右,美国就开始将计算机用于企业的工资和人事管理,这是最早基于计算机的MIS雏形。

13、美国学者瓦尔特肯尼万(Walter TKennevan)于1970年给出了MIS最初的定义:“以书面和口头的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策”。此后,随着对MIS研究的不断深化,多种有关MIS的定义表达被提出,这些定义的区别和变化反映了MIS理论的发展。中国企业管理百科全书对MIS的定义是:“一个由人、计算机等组成的能进行信息的收集、传送、存储、加工、维护和使用的系统。管理信息系统能实测企业的各种运行情况;利用过去的数据预测未来;从企业全局出发辅助企业进行决策;利用信息控制企业的行为;帮助企业实现其规划目标”

14、。概括MIS的基本目标,就是辅助完成企业日常管理工作,并在适当的时间、适当的地点,以适当的方式,向适当的人,提供适当的信息,并辅助决策者完成适当的决策。按照信息系统各组成要素的特点,可以将MIS的组成分为技术组成和社会组成两类。技术组成包括:计算机、网络,办公自动化(OA,Office Automation)设备等;应用数据库及DBMS;系统管理软件及应用软件;模型库及算法库等。社会组成包括:单位或组织、用户、系统开发人员与管理人员。MIS的核心任务是数据处理,其要完成的数据处理功能包括以下一些基本内容。 数据的采集与输入(事务处理数据、多维数据)。 数据的存储(集中、分布)。 数据的管理(安

15、全、并发控制、过滤)。 数据的处理(筛选、概括、数据挖掘、决策)。 数据的检索(个性化、不同的信息)。 数据的传输(内部、外部、代理)。 数据的应用(用户界面、信息属性、表达方式)。 系统及数据的维护处理(及时更新、安全可靠)。1.2 DBAS的工作模式与应用类别随着技术发展,DBAS先后产生了主机终端模式、文件服务器模式、客户机服务器模式、浏览器服务器模式等不同工作模式。而数据库技术的应用领域,也由开始以处理日常管理业务的事务处理为主,逐步扩展到辅助决策的数据分析领域。1.2.1 DBAS的工作模式最早的数据库系统出现在上世纪60年代早期的大型主机上。早期的数据库是集中管理、集中使用。随着数

16、据库的大型化、以及网络技术的发展与应用普及,数据向集中管理、分散使用;分散管理、分散使用发展。上世纪80年代初,PC机应运而生。同时,桌面DBMS出现。PC机和桌面DBMS,为计算机数据处理的普及立了首功。单机数据库系统也成为数据库应用的重要形式。1主机终端模式主机终端(Master/Terminal)模式,与当时计算机系统相适应,采用宿主机与多个(仿真)终端连网形式,是由分时操作系统支配主机共享的集成数据处理结构。主机终端模式是集中式体系结构。在这种结构中,DBMS、数据库和应用程序都放在主机上。数据为多用户终端共享,用户通过本地终端或拨号(远程)终端访问数据库,这些终端多是哑终端(即其本身

17、没有处理能力),通常只包括一个屏幕、一个键盘以及与主机通信的软件。PC机终端则通过仿真终端的方式与主机进行数据通讯。主机终端模式具有很好的安全性,能够方便地管理存储设备上的庞大数据库,并支持各种各样的并发用户。但这种模式对主机性能要求很高,系统的建设和维护成本高昂。同时,系统的灵活性差,并且当很多用户同时访问时,系统性能会急剧下降。2文件服务器模式随着计算机网络的发展和普及,到20世纪80年代,产生了文件服务器模式。所谓文件服务器,就是在网络中,数据通过数据库或文件系统以文件形式保存在提供数据服务的服务器上。当用户需要数据时,通过网络向服务器发送数据请求,服务器将整个数据文件传送给用户,由用户

18、在客户端再对数据进行处理。这种方式就是数据在服务器上,处理工作在工作站上完成。这种模式管理简单,容易实现,扩充了PC的功能,并使得PC用户能够共享公共数据。这种模式的主要缺点是,将整个文件传送给用户,导致大量对用户无用数据的传送,大大增加网络流量、增加客户端工作;同时,对于数据的安全也存在很大隐患。3客户机/服务器模式20世纪80年代末,客户机/服务器(C/S,Client/Server)模式出现。根据实现的方式不同,C/S模式分为两层结构和多层结构。最先出现的两层C/S结构将应用系统分为两个部分:客户机部分和服务器部分。客户机(前台)指安装在用户计算机上、包括用户操作界面和处理业务的应用程序

19、;服务器端(后台)有存储企业数据的数据库,负责数据管理,同时为了使客户机能更好地使用服务器数据,引入管理机制对数据进行逻辑上的分配和管理,并配有相应的服务器应用程序。在两层C/S结构中,客户端应用程序负责响应客户请求。需要数据时,通过网络向服务器提出数据请求。服务器处理客户端传送过来的请求,并执行数据处理操作,然后将满足用户要求的数据集合传送回客户端。客户端再将数据进行计算并将结果呈现给用户。这样网络上传送的数据主要是客户端向服务器发出的请求和服务器发送给客户端的响应结果以及出错信息。两层C/S结构在客户端需要开发实现全部业务和数据访问功能的程序,这种方式通常称为“胖客户机(Fat Clien

20、t)”。两层C/S模式结构示意如图1.2所示。客户端服务器数据请求数据应答图1.2 C/S模式结构简单示意图C/S结构相比“文件服务器”模式有很大优势。两层C/S结构将用户界面和大部分企业逻辑分散放在客户端,共享的数据放置在数据库服务器上,大大提高了人机交互效率,显著减少网络数据传输量,使服务器相对性能得到了提高;同时不同用户的应用程序独立开发,每一部分的修改和替换不影响其它部分,降低了对数据控制的难度,提供了多用户开发特性。这种结构对于客户端数目较小、复杂程度较低的企业MIS是非常合适的。当应用规模扩大,客户机数量增加,两层C/S结构的局限性就暴露出来,主要体现在:由于存在许多不同的客户端,

21、而C/S结构通常将用户接口和应用集于一体,使得程序开发难度和开发量增大;应用逻辑安装在每一个客户机上,一旦修改应用程序,升级和维护工作只能逐一进行,维护任务繁重。同时,企业逻辑放在客户端,要求客户机具有完成这些计算任务的强大功能,客户机性能成为制约系统性能的因素,硬件成本变大。由于上述缺点,三层(或多层)C/S模式结构便应运而生,并成为企业MIS方案的核心。三层C/S结构的基本思想是将用户界面与企业逻辑分离,将应用明确分割为三部分:表示部分、应用逻辑部分、数据访问部分,使其在逻辑上各自独立,并且单独加以实现,分别为客户、应用服务器、数据库服务器。三层C/S体系结构如图1.3所示。客户端应用服务

22、器数据库服务器数据请求数据请求数据应答数据应答图1.3 三层C/S体系结构的示意图其中,客户端是用户接口部分,按受用户输入和请求;也将结果返回给用户。与两层C/S结构的客户部分相比,三层C/S的客户功能更加简洁清晰,大部分应用逻辑被转移到应用服务器上,客户界面容易生成和修改。应用服务器是应用逻辑处理的核心,是具体业务的实现。应用服务器和数据库服务器进行数据交换,应用服务器向数据库服务器发送SQL请求,数据库服务器将数据访问结果返回给应用服务器。数据库服务器完成数据的存储、数据的访问、数据的完整性约束等。企业需求灵活多变的特点反应到软件中就是业务逻辑的多变,三层体系结构把业务逻辑封装到中间应用层

23、中,能较好地适应这种多变的特点。如果企业需要更改业务,只要修改实现此业务的中间层即可。可以将企业所有业务规则及对数据库的访问都封装在中间件中。一旦企业的业务规则发生变化,只要其接口保持不变,客户机软件就不必更新。同时所有对数据库的操作也封装在中间件中,也在很大程度上保证了数据库的安全。三层是多层体系结构的基础,中间件服务器可以再访问其他中间件,这样形成了多层体系结构。常用编程语言和工具如VB、C+、Delphi和PowerBuilder等都可用于C/S结构应用程序的开发。而Oracle、DB2、SQL Server、Sybase等都可作为后台数据库服务器。4浏览器/服务器模式随着Interne

24、t/Intranet技术的兴起,基于“浏览器/服务器(B/S,Browser/ Server)”模式的信息系统应运而生。B/S结构维护扩展方便,应用地点灵活广泛,越来越多的应用系统开发模式都从C/S转向B/S模式。B/S结构日益成为应用的主流模式。B/S模式是以Web技术为基础的网络信息系统平台模式,它是三层C/S结构的一种特殊形式。B/S模式基本框架是“浏览器Web服务器数据库服务器”的结构,可以实现客户端零代码编程,是一种瘦客户机模式。B/S模式结构如图1.4所示。浏览器Web服务器数据库服务器页面请求数据请求页面应答数据应答图1.4 B/S模式结构在这种结构中,客户端只需安装和运行浏览器

25、软件,而Web服务软件和DBMS安装在服务器端。B/S结构提供了一个跨平台、简单一致的应用环境,实现了开发环境和应用环境的分离,避免了为多种不同操作系统开发同一应用的重复工作。B/S结构与C/S结构比较,B/S模式主要优点如表1.1所示。表1.1 B/S与C/S基本特点比较比较项B/SC/S安装调试只需在服务器安装程序和调试需要在每台计算机上安装软件并调试成功升级维护只需对服务器扩充装备和软件升级需要对服务器和每个客户机软硬件一一升级维护费用 只需维护服务器,维护简单,费用低软件和硬件升级、人员维护费用较高平台支持客户端只需浏览器,网络无特殊要求客户端需要安装必要软件、对系统有一定要求用户端数

26、量基本没有限制一般说来,都有一定数量级别的限制系统兼容性适用于各种类型、版本的操作系统不同操作系统需开发不同版程序,升级代价高移动办公位于不同地点可通过互联网、专线等连接,易于资源共享,协同办公异地办公需要高投入,安装必要设备和软件实现数据和资料共享和传送系统整合非常容易融合OA、人力资源管理系统,客户关系管理系统,ERP等用较复杂的方式才可将企业所需的各个管理系统融合使用电子商务主要开发模式,通过互联网或内部广域网与全球客户、各地分支机构相连需要高金额投入,安装必要设备和软件实现数据和资料共享和传送1.2.2 OLTP与OLAP从DBAS用途看,目前数据处理大致可以分成两大类:联机事务处理(

27、OLTP,On-Line Transaction Processing)和联机分析处理(OLAP,On-Line Analytical Processing)。最初的数据库应用系统都属于OLTP。所谓事务处理,指的是企业日常的业务处理,例如银行交易、企业销售业务管理等。OLTP包括的基本功能有:业务数据的即时输入与更新、信息查询、数据汇总计算、业务报表生成等。通常所讲的信息系统就是指OLTP。在这一应用领域,关系数据库取得了极大的成功。随着OLTP成功实施,企业日积月累了大量数据。人们发现,这些数据中实际蕴含了反映企业经营现状和未来发展趋势的真实信息。问题关键是如何通过去粗取精、去伪存真,获得

28、支持企业决策有价值的信息。于是,在OLTP基础上,出现了OLAP应用。OLAP的概念最早由关系数据库之父E.F.Codd于1993年提出,他同时提出了关于OLAP的12条准则。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是“维(dimension)”这个概念。“维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含层次关系

29、,这种层次关系有时会相当复杂。通过把一个实体的多项重要属性定义为多个维,使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础。OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、旋转(pivot)、以及drill across和drill through等。OLAP有多种实现方法,可以分为ROLAP、MOLAP、

30、HOLAP等。ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了“星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为“雪花模式”。 MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP),以多维数据组织方式

31、为核心。多维数据在存储中将形成“立方块(Cube)”的结构。HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。OLAP与OLTP 区别明显。表1.2列出了OLTP与OLAP之间的比较。表1.2 OLTP与OLAP基本特点比较比较项目OLTPOLAP用户操作人员,低层管理人员决策人员,高级管理人员功能日常操作处理分析决策DB设计面向应用面向主题数据当前的、细节的、二维的、分立

32、的历史的、聚集的、多维的、集成的、统一的存取读/写数十条记录可读上百万条记录工作单位简单事务复杂查询用户数可多至数千、数万个一般不超过上百个DB大小100MB-GB100GB-TB时间实时或短时间响应延时或间隔较长时间1.3 DBAS开发方法概述1.3.1 系统开发概述DBAS的开发与建设,是为了满足用户的信息处理需求。用户需求一般可分为功能需求和信息需求两大类。用户信息需求,指用户需要信息系统处理和获得的信息的内容与性质。用户获得的信息有赖于系统所存储、管理的数据。用户功能需求,指用户要求系统完成的对数据以及业务的处理功能,以及相关的对处理的响应时间、处理方式、操作方式等的要求。信息需求涉及

33、的数据由数据库管理,由信息需求可以导出数据库中需要存储、管理的数据对象;而功能需求通过编写程序实现。此外,用户需求还涉及到对于信息和信息处理的安全性、完整性、可操作性要求。因此,DBAS的开发,应该是数据库和应用程序紧密结合在一起的综合开发。并且,这样的系统一般规模较大、功能复杂。系统开发应该遵循科学的方法。系统开发方法的研究历经几十年的发展变化,目前主要的开发方法有:结构化设计方法、原型法、面向对象开发方法。1.3.2 结构化设计方法结构化设计方法,也称为“生命周期法”,是较早出现的系统开发方法。它将系统开发过程看作系统的“生命周期”。通常,信息系统开发的生命周期包括系统规划与调查、系统分析

34、、系统设计、系统实现与调试、系统运行评测和维护等几个大的阶段,每个阶段都包含若干具体的开发步骤。结构化设计遵循“瀑布模型”,它要求每个阶段都有完整、规范的文档作为本阶段的设计结果,并将设计结果作为下一阶段的起点。结构化的主要含义是指严格的开发过程、文档标准化、工具的规范化等。结构化方法充分体现了系统观点和方法的应用,强调系统性、结构性和整体性,由系统的总体特征入手,自上而下地逐步分析和解决问题。结构化设计的基本指导思想可概括为以下3个要素。 以业务流程为分析的切入点,对系统进行抽象,确定用户需求。 以结构化方法分析和设计系统。 以信息系统生命周期来组织和管理系统的开发过程。该方法的核心,是以要

35、管理的业务过程为中心和系统开发过程的出发点,分析系统的处理过程和功能,将实际的物理系统抽象为用来进行分析的问题空间。通过对业务的分析,确定用户需求,进而确定信息系统的边界和范围。以此为基础,建立描述全系统的模型。为了模型设计准确,采取多层设计思想,先建立与具体实现无关的逻辑模型,在确认逻辑模型无误的前提下,再设计面向实现的物理模型。逻辑模型用于描述系统的本质,即主要分析业务流程和系统需求,集中解决系统做什么的问题,与系统如何实施无关。物理模型不仅表述系统是什么、做什么,而且表述系统是如何从物理上实施的。因此,设计物理模型要结合具体的技术方案和将采用的开发工具。两种模型在系统开发过程中承担不同角

36、色,这样容易实现物理系统的正确设计并实现原系统到新系统的转换。在系统开发过程中结构化方法贯穿始终,体现在如下几个方面。开发过程阶段化:严格的开发步骤、任务、结果。 开发工具标准化:采用数据流图、结构图、数据字典、Petri网等。 开发文档规范化:统一对格式、内容和功能的表述要求。 开发方法层次化:运用自顶向下分析(逐层分解)、自底向上设计。 开发的系统结构化、模块化:按照功能独立等原则分解模块、构建子系统。结构化方法过程严谨,减少了开发的随意性,适合大型系统的开发。结构化方法的目标之一是尽量避免将前期开发中产生的差错留到开发的后期,因为差错产生的越早,以后发现时纠正成本越高,可称之为“纠错成本

37、倍增”原理。与之相关联,如果可能,尽量将系统实现的阶段往后移,期望在开始实施时弄清楚全部需求,这称为“推迟实现”。这些特性造成了结构化开发方法的一些局限性,主要体现如下。基本单向的开发流程,不允许失败,要求事先定义完整、准确的需求,即要求在需求分析时获得全部的需求信息,这在实际上很难做到。 对用户要求高,开发者难以和用户沟通。在开始阶段用户看不到开发的结果,等到看到结果,已经处于生命周期中后期,如果要改动,成本很大。 开发周期长,每一阶段都要求详细文档,使文档很复杂,难以适应需求的变动。 不利于使用快速的开发工具。从方法论的角度分析,面向过程的方法建立在对系统需求完整、准确定义的基础上,但是由

38、于用户在开发初期对系统理解程度有限,造成与开发者之间难以实现快速和准确的沟通,所以实际上这样的基础常常难以真正实现。这就严重影响了信息系统的开发质量,并造成开发人员和使用者之间的矛盾和冲突。另外,系统分析的逻辑模型和系统实施的物理模型之间的分离,造成两种模型之间存在过渡的差异和困难。同时,系统要同时实现用户信息需求和功能需求,但在开发时,这两者在设计上处于分离状态,各自采用不同的方法,事实上成为“建立数据库以及在数据库基础上开发应用程序”的情形。这也为系统开发真正满足用户需求造成负面影响。为此,人们对结构化方法不断加以改进,也产生了一些新的开发方法。1.3.3 原型设计法与结构化设计方法“推迟

39、实现”相反,原型设计法期望让用户很早就看到系统开发的结果。其基本方法是,在开发时首先构造一个功能相对简单的原型系统(初始模型),然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统(工作模型)。原型法符合人们认识事物的基本探索过程。原型法先构造系统的大致框架,然后通过试探和逐次逼近的方法获得最后的设计结果。借助于快速开发工具,提高了开发速度。原型法是开发者和用户一起对开发的系统共同进行探索的过程。原型就是进行研究、改造的模型。最初的原型是待构筑的实际系统简化的、缩小比例的模型,但是保留了实际系统的大部分功能。这个模型可在运行中被检查、测试、修改,直到它的性能达到用户需求为止。因而这个工作

40、模型很快就能转换成实际的目标系统。原型法的核心是初始原型的构建和修改。初始原型的建立需要对系统进行初步的需求分析和规划,并借助于快速开发工具的支持。原型法的开发流程如图1.5所示。基本需求初始原型与用户讨论修改原型工作原型否是满意否图1.5 原型法开发流程示意与结构化方法相比,原型法有如下特点。允许试探和重复,是一个不断迭代、逐渐逼近、积累知识的过程。 不需要预先完整、准确定义系统需求。 迭代的过程是对开发对象认识的不断深入、需求不断清晰的过程,也是系统功能不断实现和完善的过程,呈现了分析和设计过程的统一。结构化设计方法要求对系统需求事先给出准确完整的定义,这常常是不现实和难以做到的。与之相比

41、,原型法有以下优点。无论是开发者还是用户,对系统的认识过程都随着原型的建立和不断改进而逐渐深入,更符合人对不熟悉事务的认识规律。 原型法是一种支持用户参与开发的方法,使得用户在系统生命周期的分析和设计阶段起到积极的作用。 能减少系统开发的风险,特别是在不确定性大的项目开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。 充分利用可视化的开发工具,提高开发效率,减少培训时间和成本。 原型法的概念既适用于新系统的开发,也适用于对原系统的修改。原型法对开发人员和开发工具要求比较高,容易忽视对于文档的撰写和整理,或者由于经常修改,使得文档的管理变得复杂,从而影响后续的系统维护。一般来说,

42、原型法适用于系统规模不太大,且逻辑比较清晰的系统。通常可以将原型法与生命周期方法结合使用,在系统开发初期设计一个简易原型,便于用户尽可能参与需求分析与逻辑设计等阶段的活动,达到提高开发效率、更准确满足用户需求的目标。1.3.4 面向对象设计法随着面向对象(OO,Object_Oriented)思想和对象模型的推广应用,面向对象的系统开发方法得到了飞速发展,成为目前重要的设计方法之一。现实世界是由无数个相互关联的事物(实体)构成的。人们在认识世界时总是首先识别每个独立的事物,然后分析事物之间的联系,从而认识事物变化的规律和过程。面向对象的方法正是遵循认识客观世界的基本方法。面向对象方法的核心是对

43、象。对象用于模拟客观世界中的实体。对象的概念包括对象、对象类以及类的继承等,被称为面向对象方法的三大要素。 对象。对象是由描述事物当前状态的静态特征和描述事物行为的动态特征组成的综合体。对象的静态特征用“属性”加以描述;动态特征由“操作”描述。属性的取值反映了事物当前的状态,取值的改变意味着状态的变化,属性值一般只能通过执行对象的操作来改变。操作又称为方法或服务,它描述了对象执行的功能,通过完成这一功能的过程代码实现。另外,通过消息传递,操作还可以为其他对象使用。 类。类是一组具有相同数据结构和相同操作的对象的集合,其包括一组数据属性和在数据上的一组合法操作。类定义可以视为一个具有类似特性与共

44、同行为的对象的模板,可用来产生对象。每个对象都是类的一个实例。 继承。继承是在已存在类的基础建立新类的技术。新类定义可以是既存类所声明的数据和新类所增加的声明的组合。新类可复用既存类而不要求修改既存类。使用继承设计一个新类,可以视为描述一个新的对象集,它是既存类所描述对象集的子集合,这个新的子集合可以认为是既存类的一个特殊化。 通信和消息。对象连接通过消息驱动实现,从而构建对象之间的联系。系统分析的关键之一在于找到和描述对象及其联系。系统的运行通过对象之间的通信来驱动。如果没有对象之间的通信则无法构成系统。消息是一个对象与另一个对象的通信单元。在信息系统分析设计中,面向对象方法就是基于构造问题

45、域的对象模型,以对象为中心构造信息系统的方法。其基本做法是用对象模拟问题域的实体,以对象之间的联系来刻画实体之间的联系。模拟的过程是从理解客观世界中的对象及其关系开始,根据问题空间中的需求抽象出这些客观对象的本质特性,然后使用类来描述这些对象。因此,面向对象系统中通常包含一组相关的类,这些类定义了各种不同类型的对象。在面向对象的系统运行时,产生类的实例(即对象),这些对象通过在系统中规定的接口进行交互。面向对象方法的基础和核心是对象模型。图1.6描述了“面向对象”方法中问题域(现实世界的业务过程)和求解域(计算机世界的信息系统)之间的映射关系,表达了“面向对象”系统开发方法的基本概念。图1.6

46、 面向对象方法设计模型不同企业和组织的业务流程多种多样,但就其本质,在对象和对象的类型上有很多相似之处。因此对象就可以作为组装系统的可重用的部件。而且对象固有的封装性和信息隐藏性等机理使得对象内部的实现与外界隔离,具有较强的独立性。1.4 数据模型与关系数据理论DBAS开发要建立面向整个系统的数据库。建立数据库必须经由DBMS来完成。任何DBMS都是基于某个数据模型设计。目前几乎所有DBMS都是关系型的。因此,要建立数据库,事先必须建立面向全系统的关系数据模型。这是数据库设计的核心任务。1.4.1 数据库设计与数据模型数据库设计是系统开发的重要组成部分,以实现系统的信息需求。数据库设计要解决系

47、统中要存储、管理的数据,以及可以为用户提供的信息。因此,可定义数据库设计为:针对给定的应用环境,设计构造最优的数据库结构,建立数据库及其处理系统,使之能有效地存储数据,对数据进行操作和管理,以满足用户各种需求的过程。遵循结构化设计方法,数据库设计过程可分成若干个步骤,主要包括:系统需求调查与分析、逻辑设计、物理设计、实施与测试、运行维护等几个阶段。逻辑设计是数据库设计的核心步骤,该步骤要设计出全系统数据的逻辑数据模型。所谓数据模型,是关于应用域的对象以及对象之间联系的形式化描述。数据模型运用一套完整的概念、符号、格式和方法,能够规范的描述全系统的数据结构,使DBMS依照该模型,能够很容易的建立

48、起数据库,来存储和管理数据。目前广泛使用的数据模型是关系数据模型,几乎所有DBMS都支持关系模型。关系模型面向计算机和DBMS,它与应用领域所使用的概念和方法有较大的距离。用户对关系模型不一定了解。因此根据用户要求一步到位的建立系统的关系模型较为困难。由于用户是开发DBAS的提出者和最终使用者,为保证设计正确和满足用户要求,用户必须参与系统的开发设计。因此,在建立关系模型之前,应先建立一个面向用户的概念数据模型。概念模型使用用户易于理解的概念、符号、表达方式来描述对象及其联系,它与任何实际的DBMS都没有关联,是面向用户的;同时,概念模型又易于向DBMS支持的数据模型转化。概念模型也是对客观事

49、物及其联系的抽象,也是一种数据模型。概念模型成为用户所在的现实世界向面向计算机的数据世界转变的过渡。目前常用的有实体联系模型,本书第2章将通过案例对该模型加以分析和应用。因此,在数据库设计过程中,从逻辑设计中分离出概念设计的步骤。整个数据库设计作为信息系统开发的组成部分,各步骤及其任务可概述如下。 系统需求调查与分析阶段。从业务入手,设计人员调查现有系统情况,了解用户对新系统的信息需求和功能需求,对系统要处理的数据进行完整收集,然后进行分析整理和分类组织,写出需求分析报告。 概念设计。在系统需求分析的基础上设计出面向用户的关于全系统的概念数据模型,作为用户和设计人员之间的桥梁。这个模型既能够清

50、晰的反映系统内数据及其联系,又能够方便的向计算机支持的数据模型转化。 逻辑设计。将概念模型转化为DBMS支持的逻辑数据模型(主要是关系模型),逻辑模型并不依赖于特定的DBMS。 物理设计。将逻辑数据模型与指定的DBMS结合,设计出能在计算机上实现的数据库模式。 实施测试与运行维护。按照物理设计,使用DBMS建立数据库,结合同时开发出来的程序进行测试、改进,通过测试无误后就可投入实际运行。数据库设计的过程,可以用图1.7所示的三个世界来表述。用户所在的应用领域称为现实世界;概念模型以概念和符号为表达方式,所在的层次为信息世界;面向DBMS和计算机的关系模型位于数据(或机器)世界。通过对现实世界的

51、调查分析,建立起系统的概念模型,就从现实世界进入信息世界;通过将概念模型转化为关系模型进入数据世界,然后由DBMS建立起最终的物理数据库。图1.7 数据库设计过程示意1.4.2 关系模型基本概念关系数据理论于1970年由IBM公司的E.F.Codd首先提出,其核心是关系模型(Relation Model)。关系数据理论概念简洁,数学基础坚实,易于理解。这一理论提出后立即得到广泛应用,已经成为当前数据库系统最重要的理论。1关系模型三要素完整定义一个数据模型,包含三个要素:数据结构、数据约束、数据操作。数据结构规定数据的存储和表示方式。在关系模型中只有关系这一种结构。数据约束指对关系中存放的数据进

52、行限制和约束,以保证存放数据的正确性和一致性。在关系模型中包括实体完整性约束、参照完整性约束、域完整性约束和用户定义的完整性约束。数据操作规定对数据的运算和操作。在关系模型中通过关系代数和关系谓词演算规定了对关系的运算。关系代数与关系谓词演算在功能上是等价的。2关系及相关概念关系模型中最重要的概念就是关系。直观的看,一个关系就是由行和列组成的一张二维表。关系中的一列称为关系的一个属性(Attribute),一行称为关系的一个元组(Tuple)。一个元组是由相关联的属性值组成的一组数据。如员工关系的一个元组就是描述一个员工基本信息的数据。同一个关系中每个元组在属性结构上都一样。关系是元组的集合。

53、一个关系中元组的个数称为该关系的基数。为区分各个属性,关系的每个属性都有一个名称,称为属性名。一个关系中属性的个数称为关系的目数。一个元组的各属性值称为该元组在各属性上的分量。并不是任何的二维表都可以称为关系。作为关系的二维表具有以下特点。l 关系中的每一列属性都是原子属性,即属性不可再分。l 关系中的每一列属性都是同质的,即每一个元组的该属性取值都表示同类信息。l 关系中的属性间没有先后顺序。l 关系中元组没有先后顺序。l 关系中不能有相同的元组。【例1-1】考察表1-1和表1-2所示的关系,分析其相关概念。表1-1和表1-2对应的是“部门”关系和“员工”关系。表1-1 部门部门编号部门名办

54、公电话1002总经理室818010022001人事部818020012002财务部818020023010电视部818030103020空调部818030203030冰箱部818030309101库房81809101表1-2 员工工号姓名性别生日部门编号职务基本工资电话100201张想容女1963/02/201002总经理8000.0013901011101200101李建桥男1973/10/112001经理5200.0013971201202200201刘忆康女1978/04/282002经理5060.0018208141856200202赵远声男1985/05/312002会计2660.0

55、013808181800301002章曼女1978/12/023010组长2200.0015763331040301003张卫冬女1988/12/023010营业员1520.0015763331040302001杨小明男1972/04/053020经理3800.0018101140082302003孙斌男1990/09/053020营业员1200.0018910012401303001钱红女1985/09/133030经理3800.0013871801235303002张其女1989/02/073030组长2200.0013871557717 域。属性的取值集合称为域(Domain),域是值的

56、集合。每个属性都从事先确定的有限的域中取值。例如,“性别”属性的域男,女,“基本工资”对应的域是1000.10000。有些属性值可以取空值(Null)。 候选键和主键。关系以元组为单位,每个元组都必须能被区分和确定。在一个关系中,可以唯一确定每个元组的属性或属性集称为候选键(Candidate Key),候选键在一个关系内的取值不会重复。选择某个候选键作为该关系的主键(Primary Key)。由于关系的元组不重复,因此每个关系都能指定主键。“工号”就是“员工”关系的主键。 外键与联系。关系数据库的重要特点是一个数据只需出现在一个关系中。当其他关系需要使用该数据时,通过引用的方式实现。如“员工

57、”关系中需要表达员工所属部门的信息,而部门信息用单独的“部门”关系描述。因此,在“员工”关系中通过“部门编号”属性,将两个关系连接起来。一个关系中存放的另一个关系的主键(或候选键),称为外键(Foreign Key),作为这两个关系联系的纽带。如员工关系中的“部门编号”,是部门关系的主键,在员工关系中是外键。外键实现了不同实体之间的联系。 关系模式。关系是元组值的集合,而元组由属性构成。属性构成确定了一个关系的框架。关系框架看上去就是表的表头。一个关系的框架确定了,则这个关系就被确定下来了。虽然关系的元组值经常根据实际情况在变化,但其属性结构却是固定的。关系框架反映了关系的结构特征,称为关系模

58、式(Relation Schema)。要完整描述一个关系模式,必须包括关系模式名、关系模式的属性构成、关系模式中所有属性涉及的域以及各属性到域的对应情况。还有属性间的相互依赖。因此,一个关系模式可表示为:R(U,D,DOM,F)。其中,R是关系模式名,U是属性集,D是属性涉及的所有域的集合,DOM是属性到域的映射集,F是属性间的函数依赖集。关系模式是关系的型,而关系是由符合关系模式规定的不同元组组成的。在同一个关系模式下,可以有很多不同的关系。例如,如果将一个企业员工分部门表示,一个部门一个员工关系。则有几个部门就会有几个关系,但它们的关系模式都是相同的。由于在DBMS中域通常是规定好的数据类

59、型,而当属性确定后,属性到域的映射都很明确,实用的关系一般都达到3NF,其函数依赖明确,所以在关系模式的表示中往往将这些部分省略,只需描述模式名和属性集。例如“部门”关系所属的关系模式为:部门(部门编号,部门名,办公电话)实际应用时,在不影响理解的情况下关系模式有时也简称为关系。3数据完整性约束数据库存储的数据是最重要的资源,因此,保证数据的正确性与一致性非常重要。数据库通过完整性约束实现数据的正确和一致。关系数据库是关系的集合。关系数据库中实现了四种完整性约束规则:实体完整性、参照完整性、域完整性和用户定义的完整性。 实体完整性。用来保证关系中的每个元组可确定。实体完整性规则的含义是:一个关

60、系中不允许任何元组的主键属性值为空值。 参照完整性。又称引用完整性。参照完整性规则的含义是:父关系S的主(候选)键作为外键出现在子关系R中,那么R关于外键的取值只能符合两种情形之一:或者为空值(Null);或者在父关系S被引用的属性(主键或候选键)上存在对应的值。参照完整性用来保证子关系和父关系中数据的一致性。 域完整性。关系中每个属性都有确定的取值集合。域完整性实现由用户根据实际定义约束条件来指定每个属性的取值范围。 用户定义的完整性。由于数据库是体现用户的需求及业务,因此,数据必须反映用户关于数据的实际语义。这样,用户根据实际需要对数据库中的数据或者数据间的相互关系可以定义约束条件,所有这

61、些约束构成了用户定义的完整性规则。4关系代数关系是数据库的静态展现。要对关系数据库进行处理,必须进行关系操作或运算。关系数据理论提出了关系谓词演算和关系代数,这两者是等价的。关系代数包括八种运算:关系的并、交、差、笛卡尔积、投影、选择、连接和除运算。 并、交、差。由于关系是元组的集合,所以传统的集合运算并()、交()、差()也适用于关系。不过由于元组是有结构的,所以,在做这三种运算时,参与运算的两个关系必须符合一个条件:即它们应该具有相同(容)的关系模式。 投影和选择。都是单目运算。给定关系R,投影运算和选择运算分别表示为:A(R)和F(R) 其中,A是属性集,F是逻辑表达式。投影的运算结果,

62、是保留R中由A指定的属性列的数据组成关系;选择的运算结果,是保留R中满足F的元组组成关系。概括起来,投影从列的方向筛选关系的数据,选择从行的方向筛选关系的数据。 笛卡尔积和连接。它们实现将两个关系的数据连在一起的功能。给定关系R和S,关系笛卡尔积表示为:RS。笛卡尔积运算的结果是将R和S的全部属性合并在一起构成新的关系,新关系的元组由R和S的全部元组分别两两连接而成。一个元组一般由相关联的属性值构成,因此笛卡尔积这种将任意元组两两拼接得到的新元组大多数是无意义的。为此,必须将R、S中符合一定条件的元组拼接才有用。连接就是在笛卡尔积的基础上附加条件的运算。连接表示为:R S。式中的F就是将R和S中指定属性进行比较的连接条件。由于关系是通过主(候选)键和外键关联的,因此,将两个关系按照主、外键属性值相等的原则进行连接是最有实际价值的连接运算,同时还应在运算结果中去掉重复的外键属性。这就是最常用的“自然连接”。自然连接表示为:RS。自然连接默认的连接条件就是R、S中相同属性进行相等比较。 除。关系除法实现一个关系相对于另外一个关系的整体包含比较运算。约定AX表示关系X的属性集。给定关系R、S,规定AS是AR的子集。关系除表示为:RS。在R中,属性集可以分

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!