标题：数据库技术
概述
数据库技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法，它研究如何组织和存储数据，如何高效地获取和处理数据。是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法，并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。即：数据库技术是研究、管理和应用数据库的一门软件科学。
数据库技术是现代信息科学与技术的重要组成部分，是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题，在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。
数据库技术研究和管理的对象是数据，所以数据库技术所涉及的具体内容主要包括：通过对数据的统一组织和管理，按照指定的结构建立相应的数据库和数据仓库；利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统；并利用应用管理系统最终实现对数据的处理、分析和理解。
产生背景
数据库技术产生于20世纪60年代末70年代初，其主要目的是有效地管理和存取大量的数据资源.数据库技术主要研究如何存储，使用和管理数据. 近年来，数据库技术和计算机网络技术的发展相互渗透，相互促进，已成为当今计算机领域发展迅速，应用广泛的两大领域.数据库技术不仅应用于事务处理，并且进一步应用到情报检索，人工智能,专家系统,计算机辅助设计等领域. 
基本概念
数据库技术涉及到许多基本概念，主要包括：信息，数据，数据处理，数据库，数据库管理系统以及数据库系统等。
数据库技术是现代信息科学与技术的重要组成部分，是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题，在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。数据库技术的根本目标是要解决数据的共享问题。数据管理技术的发展数据管理技术是对数据进行分类，组织，编码，输入，存储，检索，维护和输出的技术.数据管理技术的发展大致经过了以下三个阶段：人工管理阶段；文件系统阶段；数据库系统阶段.
人工管理阶段
20世纪50年代以前，计算机主要用于数值计算.从当时的硬件看，外存只有纸带，卡片，磁带，没有直接存取设备；从软件看（实际上，当时还未形成软件的整体概念），没有操作系统以及管理数据的软件；从数据看，数据量小，数据无结构，由用户直接管理，且数据间缺乏逻辑组织，数据依赖于特定的应用程序，缺乏独立性.
文件系统阶段
50年代后期到60年代中期，出现了磁鼓，磁盘等数据存储设备.新的数据处理系统迅速发展起来.这种数据处理系统是把计算机中的数据组织成相互独立的数据文件，系统可以按照文件的名称对其进行访问，对文件中的记录进行存取，并可以实现对文件的修改，插入和删除，这就是文件系统.文件系统实现了记录内的结构化,即给出了记录内各种数据间的关系.但是，文件从整体来看却是无结构的.其数据面向特定的应用程序，因此数据共享性，独立性差，且冗余度大，管理和维护的代价也很大.
数据库系统阶段
60年代后期，出现了数据库这样的数据管理技术.数据库的特点是数据不再只针对某一特定应用，而是面向全组织，具有整体的结构性，共享性高，冗余度小，具有一定的程序与数据间的独立性，并且实现了对数据进行统一的控制.数据模型⒈2.1 数据模型的概念及要素数据模型是现实世界在数据库中的抽象，也是数据库系统的核心和基础.数据模型通常包括3个要素：
⑴数据结构.数据结构主要用于描述数据的静态特征，包括数据的结构和数据间的联系.
⑵数据操作.数据操作是指在数据库中能够进行的查询，修改，删除现有数据或增加新数据的各种数据访问方式，并且包括数据访问相关的规则.
⑶数据完整性约束.数据完整性约束由一组完整性规则组成. 
⒈2.2 常用的数据模型
数据库理论领域中最常见的数据模型主要有层次模型，网状模型和关系模型3种. 
⑴层次模型（Hierarchical Model).层次模型使用树形结构来表示数据以及数据之间的联系. 
⑵网状模型（Network Model).网状模型使用网状结构表示数据以及数据之间的联系. 
⑶关系模型（Relational Model).关系模型是一种理论最成熟，应用最广泛的数据模型.在关系模型中，数据存放在一种称为二维表的逻辑单元中，整个数据库又是由若干个相互关联的二维表组成的. 
⒈2.2 常用的数据模型
目前，已经有一些流行的，也比较成熟的软件产品能够很好地支持关系型数据模型，这些产品也因此称为关系型数据库管理系统(Relational DataBase Management System,RDBMS).例如，微软公司的Microsoft Access和MS-SQL Server,Sybase公司的Sybase,甲骨文公司的Oracle以及IBM公司的DB2.其中，Microsoft Access是一个中小型数据库管理系统，适用于一般的中小企业；MS-SQL Server,Sybase和Oracle基本属于大中型的数据库管理系统；而DB2则属于大型的数据库管理系统，并且对计算机硬件有很高和专门的要求.
发展应用
从20世纪60年代末期开始到现在，数据库技术已经发展了30多年。在这30多年的历程中，人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就，而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。
数据库最初是在大公司或大机构中用作大规模事务处理的基础。后来随着个人计算机的普及，数据库技术被移植到PC机（Personal Computer，个人计算机）上，供单用户个人数据库应用。接着，由于PC机在工作组内连成网，数据库技术就移植到工作组级。现在，数据库正在Internet和内联网中广泛使用。
20世纪60年代中期，数据库技术是用来解决文件处理系统问题的。当时的数据库处理技术还很脆弱，常常发生应用不能提交的情况。20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法，推动了关系数据库的发展和应用。1979年，Ashton-Tate公司引入了微机产品dBase Ⅱ，并称之为关系数据库管理系统，从此数据库技术移植到了个人计算机上。20世纪80年代中期到后期，终端用户开始使用局域网技术将独立的计算机连接成网络，终端之间共享数据库，形成了一种新型的多用户数据处理，称为客户机/服务器数据库结构。现在，数据库技术正在被用来同Internet技术相结合，以便在机构内联网、部门局域网甚至WWW上发布数据库数据。
技术
信息技术（Information Technology，IT）是当今使用频率最高的名词之一，它随着计算机技术在工业、农业以及日常生活中的广泛应用，已经被越来越多的个人和企业作为自己赶超世界潮流的标志之一。而数据库技术则是信息技术中一个重要的支撑。没有数据库技术，人们在浩瀚的信息世界中将显得手足无措。
数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始，计算机应用从科学研究部门扩展到企业管理及政府行政部门，人们对数据处理的要求也越来越高。1968年，世界上诞生了第一个商品化的信息管理系统IMS(Information Management System），从此，数据库技术得到了迅猛发展。在互联网日益被人们接受的今天，Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一，帮助人们处理各种各样的信息数据。
四个方向
规模会向两头发展—大的越来越大，小的越来越小。所谓大的，指的是企业级数据库的规模。10年前，数据库存储的数据大都以GB为基准衡量，几十GB就已经非常庞大。而现在，只广东移动每个月新增的数据量，就已经以TB衡量，不出3年，很多企业要存储的数据就要达到PB级。数据量越来越大，需要更大的数据库做支撑，这就是数据库的发展方向之一。另一方面，数据库也会越来越小。现在，Sybase的数据库已经安装在高档的Casio手表中了，这些手表中记录的有天气情况、气压、佩带者的血压、心跳等数据。这种数据库并不要求数据存储量大，但是要求在低计算量的情况下反应快，而且能够适应外界环境的变化。存储方式从行到列的改变。以前数据库都是以行的形式存储的，理由很简单，用户需要的是对单条数据的读取和存储。而现在，单纯的数据记录已经不足以支撑企业发展了，企业更需要的是数据分析和决策支持。那么，单纯看一条记录没有任何意义，而是要把所有数据的某一项都统计出来进行分析，这就是列的概念。以中国移动为例，上亿个用户，每个月上TB的数据，哪些是ⅥP用户，该如何根据他们的需求提供专有服务，对于那些动感地带的用户，到底应该制定哪些优惠政策，除了看话费，是不是还能挖掘出他们的消费特点，进行更有针对性的业务推广活动?这些，就不是看一条数据的问题，而需要频繁对列进行操作。我预计，不出半年，各大数据库厂商都会推出以列为存储方式的数据库。非结构化数据仍然不能纳入数据库中。说到这里，可能大家都认为我在逆潮流而动，现在很多数据库厂商都可以接受图像、视频等非结构化数据了，Sybase怎么还要死守着结构化数据呢?其实我认为，非结构化数据要想进入数据库，仍然需要结构化，只是这种结构化的方法各厂商不一样，而且相比以前有了很大的进步和提高。以前我们图片的记录方式是记录它的文件名，如果文件名中提到了某个人的名字，那么在整个数据库查询的时候，就可以把这个图片找到。而这是非常不科学的，因为很多非结构化数据的文件名起的并不可能完全。那么，现在大家把非结构化的数据变得结构化，其实就是在用结构化的数据描述这张图片，比如用点和位置来记录这张图片的每个像素。而一旦需要做查询的时候，可以根据像素的组合记录来比对，把符合比对要求的数据全部筛选出来。这样就把非结构化数据以结构化的方式纳入数据库中了，并能接受查询、检索等操作。数据库和数据仓库会分开。很多数据库厂商认为，数据库一个就行，一专多能，既能用它进行实时交易，也能用它来进行数据分析。但是，其实很多用户现在在前台需要数据库提供实时交易功能，需要有很快的响应速度，而在后台，则需要设立一些规则进行数据分析和商务智能分析。Sybase就认为，这两个数据库应该是两种格式，毕竟它们的功能不一样。因此，从产品设置上，Sybase有交易型数据库和分析型数据库两种。
发展历史
数据模型是数据库技术的核心和基础，因此，对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。按照数据模型的发展演变过程，数据库技术从开始到现在短短的30年中，主要经历了三个发展阶段：第一代是网状和层次数据库系统，第二代是关系数据库系统，第三代是以面向对象数据模型为主要特征的数据库系统。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合，成为当代数据库技术发展的重要特征。第一代数据库系统第一代数据库系统是20世纪70年代研制的层次和网状数据库系统。层次数据库系统的典型代表是1969年IBM公司研制出的层次模型的数据库管理系统IMS。20世纪60年代末70年代初，美国数据库系统语言协会CODASYL(Conference on Data System Language）下属的数据库任务组DBTG(Data Base Task Group）提出了若干报告，被称为DBTG报告。DBTG报告确定并建立了网状数据库系统的许多概念、方法和技术，是网状数据库的典型代表。在DBTG思想和方法的指引下数据库系统的实现技术不断成熟，开发了许多商品化的数据库系统，它们都是基于层次模型和网状模型的。
可以说，层次数据库是数据库系统的先驱，而网状数据库则是数据库概念、方法、技术的奠基者。第二代数据库系统第二代数据库系统是关系数据库系统。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等。这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面，成为实现和优化信息系统的基本技术。第三代数据库系统从20世纪80年代以来，数据库技术在商业上的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地，并在应用中提出了一些新的数据管理的需求，推动了数据库技术的研究与发展。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》，提出了第三代数据库管理系统应具有的三个基本特征：
应支持数据管理、对象管理和知识管理。必须保持或继承第二代数据库系统的技术。必须对其他系统开放。
发展趋势
下一代数据库技术的发展主流
针对关系数据库技术现有的局限性，理论界现在主要有三种观点 : 
面向对象的数据库技术将成为下一代数据库技术发展的主流 　部分学者认为现有的关系型数据库无法描述现实世界的实体，而面向对象的数据模型由于吸收了已经成熟的面向对象程序设计方法学的核心概念和基本思想，使得它符合人类认识世界的一般方法，更适合描述现实世界。甚至有人预言，数据库的未来将是面向对象的时代。
面向对象的关系数据库技术 　关系数据库几乎是当前数据库系统的标准，关系语言与常规语言一起几乎可完成任意的数据库操作，但其简洁的建模能力、有限的数据类型、程序设计中数据结构的制约等却成为关系型数据库发挥作用的瓶颈。面向对象方法起源于程序设计语言，它本身就是以现实世界的实体对象为基本元素来描述复杂的客观世界，但功能不如数据库灵活。因此部分学者认为将面向对象的建模能力和关系数据库的功能进行有机结合而进行研究是数据库技术的一个发展方向。
面向对象数据库技术 　面向对象数据库的优点是能够表示复杂的数据模型，但由于没有统一的数据模式和形式化理论，因此缺少严格的数据逻辑基础。而演绎数据库虽有坚强的数学逻辑基础。
但只能处理平面数据类型。因此，部分学者将两者结合，提出了一种新的数据库技术——演绎面向对象数据库，并指出这一技术有可能成为下一代数据库技术发展的主流。
数据库技术发展的新方向
非结构化数据库是部分研究者针对关系数据库模型过于简单，不便表达复杂的嵌套需要以及支持数据类型有限等局限，从数据模型入手而提出的全面基于因特网应用的新型数据库理论。他们认为这种数据库的最大区别就在于它突破了关系数据库结构定义不易改变和数据定长的限制，支持重复字段、子字段以及变长字段并实现了对变长数据和重复字段进行处理和数据项的变长存储管理，在处理连续信息 （包括全文信息）和非结构信息 （重复数据和变长数据）中有着传统关系型数据库所无法比拟的优势。但研究者认为此种数据库技术并不会完全取代现在流行的关系数据库，而是它们的有益的补充。
数据库技术发展的又一趋势
有学者指出 ：数据库与学科技术的结合将会建立一系列新数据库，如分布式数据库、并行数据库、知识库、多媒体数据库等，这将是数据库技术重要的发展方向。其中，许多研究者都对多媒体数据库作为研究的重点，并认为多媒体技术和可视化技术引入多媒体数据库将是未来数据库技术发展的热点和难点。
未来数据库技术及市场发展的两大方向数据仓库电子商务 　部分学者在对各个数据库厂商的发展方向和应用需求的不断扩展的现状进行分析的基础上，提出数据库技术及市场在向数据仓库和电子商务两个方向不断发展的观点。他们指出 ：从去年开始，许多行业如电信、金融、税务等逐步认识到数据仓库技术对于企业宏观发展所带来的巨大经济效益，纷纷建立起数据仓库系统。在中国提供大型数据仓库解决方案的厂商主要有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的数据查询功能对数据库中的数据进行关联组合或逐级汇总分析，并以表格，图形或报表形式将分析结果进行展示，从而解决业务数据的综合利用问题.