随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础。
1.1 数据库技术的发展与应用
从20世纪60年代末期开始到现在,数据库技术已经发展了30多年。在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。
1.1.1 数据库技术与信息技术
信息技术(Information Technology,IT)是当今使用频率最高的名词之一,它随着计算机技术在工业、农业以及日常生活中的广泛应用,已经被越来越多的个人和企业作为自己赶超世界潮流的标志之一。而数据库技术则是信息技术中一个重要的支撑。没有数据库技术,人们在浩瀚的信息世界中将显得手足无措。
数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。
1.1.2 数据库技术的应用及特点
数据库最初是在大公司或大机构中用作大规模事务处理的基础。后来随着个人计算机的普及,数据库技术被移植到PC机(Personal Computer,个人计算机)上,供单用户个人数据库应用。接着,由于PC机在工作组内连成网,数据库技术就移植到工作组级。现在,数据库正在Internet和内联网中广泛使用。
20世纪60年代中期,数据库技术是用来解决文件处理系统问题的。当时的数据库处理技术还很脆弱,常常发生应用不能提交的情况。20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法,推动了关系数据库的发展和应用。1979年,Ashton-Tate公司引入了微机产品dBase Ⅱ,并称之为关系数据库管理系统,从此数据库技术移植到了个人计算机上。20世纪80年代中期到后期,终端用户开始使用局域网技术将独立的计算机连接成网络,终端之间共享数据库,形成了一种新型的多用户数据处理,称为客户机/服务器数据库结构。现在,数据库技术正在被用来同Internet技术相结合,以便在机构内联网、部门局域网甚至WWW上发布数据库数据。
1.1.3 数据库技术发展历史
数据模型是数据库技术的核心和基础,因此,对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。按照数据模型的发展演变过程,数据库技术从开始到现在短短的30年中,主要经历了三个发展阶段:第一代是网状和层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合,成为当代数据库技术发展的重要特征。
1. 第一代数据库系统
第一代数据库系统是20世纪70年代研制的层次和网状数据库系统。层次数据库系统的典型代表是1969年IBM公司研制出的层次模型的数据库管理系统IMS。20世纪60年代末70年代初,美国数据库系统语言协会CODASYL(Conference on Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了若干报告,被称为DBTG报告。DBTG报告确定并建立了网状数据库系统的许多概念、方法和技术,是网状数据库的典型代表。在DBTG思想和方法的指引下数据库系统的实现技术不断成熟,开发了许多商品化的数据库系统,它们都是基于层次模型和网状模型的。
可以说,层次数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基者。
2. 第二代数据库系统
第二代数据库系统是关系数据库系统。1970年IBM公司的San Jose研究试验室的研究员Edgar F. Codd发表了题为《大型共享数据库数据的关系模型》的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。Edgar F. Codd于1981年被授予ACM图灵奖,以表彰他在关系数据库研究方面的杰出贡献。
20世纪70年代是关系数据库理论研究和原型开发的时代,其中以IBM公司的San Jose研究试验室开发的System R和Berkeley大学研制的Ingres为典型代表。大量的理论成果和实践经验终于使关系数据库从实验室走向了社会,因此,人们把20世纪70年代称为数据库时代。20世纪80年代几乎所有新开发的系统均是关系型的,其中涌现出了许多性能优良的商品化关系数据库管理系统,如DB2、Ingres、Oracle、Informix、Sybase等。这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。
3. 第三代数据库系统
从20世纪80年代以来,数据库技术在商业上的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地,并在应用中提出了一些新的数据管理的需求,推动了数据库技术的研究与发展。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统应具有的三个基本特征:
l 应支持数据管理、对象管理和知识管理。
l 必须保持或继承第二代数据库系统的技术。
l 必须对其他系统开放。
面向对象数据模型是第三代数据库系统的主要特征之一;数据库技术与多学科技术的有机结合也是第三代数据库技术的一个重要特征。分布式数据库、并行数据库、工程数据库、演绎数据库、知识库、多媒体库、模糊数据库等都是这方面的实例。
1.1.4 数据库系统访问技术
目前访问数据库服务器的主流标准接口主要有ODBC、OLE DB和ADO。下面分别对这三种接口进行概要介绍。
1. 开放数据库连接(ODBC)
开放数据库连接(Open Database Connectivity,ODBC)是由Microsoft公司定义的一种数据库访问标准。使用ODBC应用程序不仅可以访问存储在本地计算机的桌面型数据库中的数据,而且可以访问异构平台上的数据库,例如可以访问SQL Server、Oracle、Informix或DB2构建的数据库等。
ODBC是一种重要的访问数据库的应用程序编程接口(Application Programming Interface,API),基于标准的SQL语句,它的核心就是SQL语句,因此,为了通过ODBC访问数据库服务器,数据库服务器必须支持SQL语句。
ODBC通过一组标准的函数(ODBC API)调用来实现数据库的访问,但是程序员不必理解这些ODBC,API就可以轻松开发基于ODBC的客户机/服务器应用程序。这是因为在很多流行的程序开发语言中,如Visual Basic、PowerBuilder、Visual C++等,都提供了封装ODBC各种标准函数的代码层,开发人员可以直接使用这些标准函数。
ODBC获得了巨大成功并大大简化了一些数据库开发工作。但是它也存在严重的不足,因此Microsoft公司又开发了OLE DB。
2. OLE DB
OLE DB是Microsoft公司提供的关于数据库系统级程序的接口(System-Level Programming Interface),是Microsoft公司数据库访问的基础。OLE DB实际上是Microsoft公司OLE对象标准的一个实现。OLE DB对象本身是COM(组件对象模型)对象并支持这种对象的所有必需的接口。
一般说来,OLE DB提供了两种访问数据库的方法:一种是通过ODBC驱动器访问支持SQL语言的数据库服务器;另一种是直接通过原始的OLE DB提供程序。因为ODBC只适用于支持SQL语言的数据库,因此ODBC的使用范围过于狭窄,目前Microsoft公司正在逐步用OLE DB来取代ODBC。
因为OLE DB是一个面向对象的接口,特别适合于面向对象语言。然而,许多数据库应用开发者使用VBScript和JScript等脚本语言开发程序,所以Microsoft公司在OLE DB对象的基础上定义了ADO。
3. 动态数据对象(ADO)
动态数据对象(Active Data Objects,ADO)是一种简单的对象模型,可以被开发者用来处理任何OLE DB数据,可以由脚本语言或高级语言调用。ADO对数据库提供了应用程序水平级的接口(Application-Level Programming Interface),几乎使用任何语言的程序员都能够通过使用ADO来使用OLE DB的功能。Microsoft公司声称,ADO将替换其他的数据访问方式,所以ADO对于任何使用Microsoft公司产品的数据库应用是至关重要的。
1.1.5 网络数据库系统编程技术
在当今网络盛行的年代,数据库与Web技术的结合正在深刻改变着网络应用。有了数据库的支持,扩展网页功能、设计交互式页面、构造功能强大的后台管理系统、更新网站和维护网站都将变得轻而易举。随着网络应用的深入,Web数据库技术将日益显示出其重要地位。在这里简单介绍一下Web数据库开发的相关技术。
1. 通用网关接口(CGI)编程
通用网关接口(Common Gateway Interface,CGI)是一种通信标准,它的任务是接受客户端的请求,经过辨认和处理,生成HTML文档并重新传回到客户端。这种交流过程的编程就叫做CGI编程。CGI可以运行在多种平台上,具有强大的功能,可以使用多种语言编程,如Visual Basic、Visual C++、Tcl、Perl、AppletScript等,比较常见的是用Perl语言编写的CGI程序。但是CGI也有其致命的弱点,即速度慢和安全性差等。
2. 动态服务器页面(ASP)
动态服务器页面(Active Server Pages,ASP)是Microsoft公司推出的一种用以取代CGI的技术,是一种真正简便易学、功能强大的服务器编程技术。ASP实际上是Microsoft公司开发的一套服务器端脚本运行环境,通过ASP可以建立动态的、交互的、高效的Web服务器应用程序。用ASP编写的程序都在服务器端执行,程序执行完毕后,再将执行的结果返回给客户端浏览器,这样不仅减轻了客户端浏览器的负担,大大提高了交互速度,而且避免了ASP程序源代码的外泄,提高了程序的安全性。
3. Java 服务器页面(JSP)
Java服务器页面(Java Server Pages,JSP)是Sun公司发布的Web应用程序开发技术,一经推出,就受到了人们的广泛关注。JSP技术为创建高度动态的Web应用程序提供了一个独特的开发环境,它能够适用于市场上大多数的服务器产品。
JSP使用Java语言编写服务器端程序,当客户端向服务器发出请求时,JSP源程序被编译成Servlet并由Java虚拟机执行。这种编译 *** 作仅在对JSP页面的第一次请求时发生。因此,JSP程序能够提供更快的交互速度,其安全性和跨平台性也很优秀。
下一代数据库技术的发展主流
针对关系数据库技术现有的局限性,理论界如今主要有三种观点 :
面向对象的数据库技术将成为下一代数据库技术发展的主流 部分学者认为现有的关系型数据库无法描述现实世界的实体,而面向对象的数据模型由于吸收了已经成熟的面向对象程序设计方法学的核心概念和基本思想,使得它符合人类认识世界的一般方法,更适合描述现实世界。甚至有人预言,数据库的未来将是面向对象的时代。
面向对象的关系数据库技术 关系数据库几乎是当前数据库系统的标准,关系语言与常规语言一起几乎可完成任意的数据库 *** 作,但其简洁的建模能力、有限的数据类型、程序设计中数据结构的制约等却成为关系型数据库发挥作用的瓶颈。面向对象方法起源于程序设计语言,它本身就是以现实世界的实体对象为基本元素来描述复杂的客观世界,但功能不如数据库灵活。因此部分学者认为将面向对象的建模能力和关系数据库的功能进行有机结合而进行研究是数据库技术的一个发展方向。
面向对象数据库技术 面向对象数据库的优点是能够表示复杂的数据模型,但由于没有统一的数据模式和形式化理论,因此缺少严格的数据逻辑基础。而演绎数据库虽有坚强的数学逻辑基础,但只能处理平面数据类型。因此,部分学者将两者结合,提出了一种新的数据库技术——演绎面向对象数据库,并指出这一技术有可能成为下一代数据库技术发展的主流。
数据库技术发展的新方向
非结构化数据库是部分研究者针对关系数据库模型过于简单,不便表达复杂的嵌套需要以及支持数据类型有限等局限,从数据模型入手而提出的全面基于因特网应用的新型数据库理论。支持重复字段、子字段以及变长字段并实现了对变长数据和重复字段进行处理和数据项的变长存储管理,在处理连续信息(包括全文信息)和非结构信息 (重复数据和变长数据)中有着传统关系型数据库所无法比拟的优势。但研究者认为此种数据库技术并不会完全取代如今流行的关系数据库,而是它们的有益的补充。
数据库技术发展的又一趋势
有学者指出 :数据库与学科技术的结合将会建立一系列新数据库,如分布式数据库、并行数据库、知识库、多媒体数据库等,这将是数据库技术重要的发展方向。其中,许多研究者都对多媒体数据库作为研究的重点,并认为多媒体技术和可视化技术引入多媒体数据库将是未来数据库技术发展的热点和难点。
未来数据库技术及市场发展的两大方向数据仓库电子商务 部分学者在对各个数据库厂商的发展方向和应用需求的不断扩展的现状进行分析的基础上,提出数据库技术及市场在向数据仓库和电子商务两个方向不断发展的观点。他们指出 :从上一年开始,许多行业如电信、金融、税务等逐步认识到数据仓库技术对于企业宏观发展所带来的巨大经济效益,纷纷建立起数据仓库系统。在中国提供大型数据仓库解决方案的厂商主要有Oracle、IBM、Sybase、CA及Informix等厂商,已经建设成功并已收回投资的项目主要有招商银行系统和国信证券系统等。当前,国内外学者对数据仓库的研究正在继续深入。与此同时,一些学者将数据库技术及市场发展的视角瞄准电子商务领域,他们认为 :如今的信息系统逐渐要求按照以客户为中心的方式建立应用框架,因此势必要求数据库应用更加广泛地接触客户,而Internet给了我们一个非常便捷的连接途径,通过Internet我们可以实现所谓的One One Marketing和One One business,进而实现E business。因此,电子商务将成为未来数据库技术发展的另一方向。
面向专门应用领域的数据库技术 许多研究者从实践的角度对数据库技术进行研究,提出了适合应用领域的数据库技术如工程数据库、统计数据库、科学数据库、空间数据库、地理数据库等。这类数据库在原理上也没有多大的变化,但是它们却与一定的应用相结合,从而加强了系统对有关应用的支撑能力,尤其表如今数据模型、语言、查询方面。部分研究者认为,随着研究工作的继续深和数据库技术在实践工作中的应用,数据库技术将会更多朝着专门应用领域发展。 数据和数据处理
数据(Data)是用于描述现实世界中各种具体事物或抽象概念的,可存储并具有明确意义的符号,包括数字,文字,图形和声音等.数据处理是指对各种形式的数据进行收集,存储,加工和传播的一系列活动的总和.其目的之一是从大量的,原始的数据中抽取,推导出对人们有价值的信息以作为行动和决策的依据;目的之二是为了借助计算机技术科学地保存和管理复杂的,大量的数据,以便人们能够方便而充分地利用这些宝贵的信息资源.
数据库
数据库(DataBase,DB)是存储在计算机辅助存储器中的,有组织的,可共享的相关数据集合.数据库具有如下特性.
⑴数据库是具有逻辑关系和确定意义的数据集合.
⑵数据库是针对明确的应用目标而设计,建立和加载的.每个数据库都具有一组用户,并为这些用户的应用需求服务.
⑶一个数据库反映了客观事物的某些方面,而且需要与客观事物的状态始终保持一致.
数据库管理系统及其基本功能
数据库管理系统(DataBase Management System,DBMS)是对数据库进行管理的系统软件,它的职能是有效地组织和存储数据,获取和管理数据,接受和完成用户提出的各种数据访问请求.能够支持关系型数据模型的数据库管理系统,称为关系型数据库管理系统(Relational DataBase Management System,RDBMS).
RDBMS的基本功能包括以下4个方面:
⑴数据定义功能:RDBMS提供了数据定义语言(Data Definition Language,DDL),利用DDL可以方便地对数据库中的相关内容进行定义.例如,对数据库,表,字段和索引进行定义,创建和修改.
⑵数据 *** 纵功能:RDBMS提供了数据 *** 纵语言(Data Manipulation Language,DML),利用DML可以实如今数据库中插入,修改和删除数据等基本 *** 作.
⑶数据查询功能:RDBMS提供了数据查询语言(Data Query Language,DQL),利用DQL可以实现对数据库的数据查询 *** 作.
⑷数据控制功能:RDBMS提供了数据控制语言(Data Control Language,DCL),利用DCL可以完成数据库运行控制功能,包括并发控制(即处理多个用户同时使用某些数据时可能产生的问题),安全性检查,完整性约束条件的检查和执行,数据库的内部维护(例如索引的自动维护)等.RDBMS的上述许多功能都可以通过结构化查询语言(Structured Query Language,SQL)来实现的,SQL是关系数据库中的一种标准语言,在不同的RDBMS产品中,SQL中的基本语法是相同的.此外,DDL,DML,DQL和DCL也都属于SQL.
⒈3.4数据库应用系统及其组成
数据库应用系统又简称为数据库系统,是指拥有数据库技术支持的计算机系统,它可以实现有组织地,动态地存储大量相关数据,提供数据处理和信息资源共享服务的功能.
各类人员主要参与数据库应用系统的需求分析,设计,开发,使用,管理和维护,他们在数据库应用系统的开发,运行及维护等阶段扮演着不同的角色,并起着不同的作用.各类人员主要包括以下几种.
⑴最终用户.
⑵系统分析员.
⑶应用程序员.
⑷数据库管理员(DataBase Administrator,DBA). 从其应用方式来看,数据库技术主要起着两方面的作用.
⑴信息系统开发作用.利用数据库技术以及互联网技术,并结合具体的编程语言,可以开发一个信息系统,从而解决业务数据的输入和管理问题.在信息系统开发中,主要利用的是RDBMS的基本功能,即数据定义功能,数据 *** 纵功能,数据查询功能以及数据控制功能.
⑵数据分析与展示作用.利用RDBMS的数据查询功能对数据库中的数据进行关联组合或逐级汇总分析,并以表格,图形或报表形式将分析结果进行展示,从而解决业务数据的综合利用问题.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)