您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 本章对数据库技术的发展概况作了简要的说明
第1章MySQL导论本章对数据库技术的发展概况作了简要的说明,同时介绍一些常用的小型数据库和大型数据库,重点介绍MySQL数据库。通过本章的阅读,读者将对MySQL的发展情况、特点及其应用领域有一定的了解。1.3节阐述MySQL的插件式体系结构,简单说明各种存储引擎的特点及选择方法和技巧。1.4节重点介绍MySQL最常用的两种存储引擎,即MyISAM和InnoDB。1.1数据库概述在学习MySQL之前,首先简单介绍一下数据库的基本概念。举个简单的例子来说明:每个人都有很多亲戚和朋友,为了保持与他们联系,我们常常用一个笔记本将他们的姓名、地址、电话等信息都记录下来,这样要查谁的电话或地址就很方便。这个“通讯录”就是一个最简单的“数据库”,每个人的姓名、地址、电话、邮箱等信息就是这个数据库中的“数据”。我们可以在笔记本这个“数据库”中添加新朋友的个人信息,也可以由于某个朋友的电话变动而修改他的电话号码这个“数据”。总而言之,我们使用笔记本这个“数据库”是为了能随时查到某位亲戚或朋友的地址、邮编或电话号码这些“数据”。当我们的亲戚朋友不多时,也许可以很快地从笔记本中找到所需的数据,但是当笔记本中的数据很多时,也许就要花费不少时间去查找某个朋友的联系方式了。而将这个笔记本数字化,也就是说将它的内容录入到计算机中,例如,存放在MySQL中,那么,即便我们有数以万计的联系人,我们也可以在一瞬间找到他们。这就是数据库的由来和作用。随着信息产业的发展,数据库在社会中发挥了越来越重要的作用。可以说,几乎所有的信息系统都依赖于数据库。通俗地讲,数据库就是存放数据的仓库,而这个仓库是存放在计算机存储设备上,而且数据是按照一定格式存放的。按照数据库理论的定义,数据库是长期存储在计算机内的、有组织的、可共享的数据集合。在今天,电子商务、电子政务等都得到了迅速的发展,并由此产生了大量的数据。为了能够高效、准确地处理分析这些数据,人们便使用了数据库。为了将数据存储在数据库中,通常将描述事物特征的若干个数据组成一个数据记录(Record)。例如,通讯录中的联系人,可以写成如下形式:联系人(姓名,地址,电话,邮箱)并将其称之为记录型,也就是数据的逻辑结构。它是对联系人这一事务的抽象描述。其中,“联系人”也称为记录名,通常在关系数据库中,也作为基本表的表名。姓名、地第1章MySQL导论·3·址、电话、邮箱等称为字段(field),在关系数据库中,也就是各个基本表的表项。对于每个字段可以赋予特定的值,例如:(张三,仓基社区,0571-8888888,sz@263.com)这就成为了一条记录。在关系数据库中,若干条记录便构成一张表。数据库带来的最直接的好处,就是实现了数据独立性。所谓数据独立性,是指数据与用户应用程序之间的独立性,也就是实现了应用程序与数据的分离。对于大多数应用程序而言,如一个电子商务网站,它必然需要有后台数据的支持才能运作。然而,这些后台数据是以什么方式存放在物理磁盘上,网站应用程序并不用关心,甚至当数据库的逻辑结构发生变化时,如数据库中原来的记录型是商品(商品编号,商品名称,价格),更改为商品(商品编号,商品名称,价格,数量),原先的网站应用程序也不用更改。前者称之为数据的物理独立性,后者叫做数据的逻辑独立性。【特别提示】数据独立性对于系统维护而言相当重要,数据库将数据以及程序进行了分离,当数据存储方式,或者逻辑结构有改动时,应用程序可以保持不变。如果没有数据独立性,程序和数据将会高度耦合,对于系统维护而言,就是一场“灾难”。1.1.1数据库技术的发展在数据库系统产生之前,人们对计算机数据的管理经历了人工管理阶段(20世纪50年代中期以前)和文件系统管理阶段(20世纪50年代后到60年代中期)。在人工管理阶段,人们对数据的处理能力很低。从硬件上看,计算机内存小,计算速度低;从软件上看,没有操作系统的支持,更没有数据库管理软件。因此,在这个阶段,数据总量不大,数据不能长期保存,数据与应用程序不隔离,应用程序需要随着数据存储方式的变化而变化。在文件系统阶段,计算机的存储器增大,计算速度大大提高,并且配备了操作系统。在这个阶段,数据可以长期存放,并采用文件系统管理数据。但是,使用文件系统管理数据存在许多缺点,数据冗余度大,逻辑独立性差。1964年,美国通用电器公司的Bachman等人成功开发了世界上第一个DBMS(DatabaseManagementSystem)——IDS系统,标志着人们对数据的管理进入了数据库系统阶段。与文件系统相比,数据库系统实现了数据的整体结构化。在文件系统中,虽然存在记录内的结构性,但整体上数据是无结构的,即不同文件之间的记录是没有联系的。但在数据库系统中,不仅存在记录内部的联系,而且还描述了数据之间的联系,实现了数据的整体结构化。这是数据库系统与文件系统的本质差别。同时,数据库系统使数据面向整个应用系统,降低了数据的冗余度,实现了数据的共享。体现数据库整体结构性的典型示例就是外键约束。如图1-1所示,在订单记录中的收货人编号必须存在于描述收货人信息的特定的记录收货人中;否则,这便是一个非法的收货人编号。在数据库中,不同记录或表之间的这种联系,便使数据库数据整体结构化。程序员突击——MySQL原理与Web系统开发·4·订单(订单号,商品名,单价,件数,收货人编号)收货人(收货人编号,姓名,性别,地址,电话)图1-1外键约束数据库系统的发展经历了以下几个阶段。第一代数据库技术以层次数据库和网状数据库为代表。其主要特点是支持三级模式结构;用指针来表示数据之间的联系;数据定义语言(DataDefinaitionLanguage,DDL)和数据操纵语言(DataManipulationLanguage,DML)相对独立;数据库采用过程性(导航式)语言,用户在操作数据库时不但说明要做什么,还要说明怎么做。例如,在查找语句中不但要说明查找的对象,而且要规定存取路径。这和现在被广泛使用的非过程性语言SQL是不同的。第二代数据库技术,也就是现在被广泛应用的关系数据库系统。MySQL正是属于这类数据库。关系数据库有严格的数学理论作为基础,概念清晰,易于使用。1970年,美国IBM公司SanJose研究实验室研究员E.F.Codd提出了关系数据库模型,奠定了关系数据库理论的基础。E.F.Codd也因此获得了1981年的计算机图灵奖。1974年,SanJose实验室研制成功SystemR,这是世界上最早的关系数据库管理系统(RDBMS)。1980年后,众多RDBMS产品相继推出,包括Oracle、Infomix、Sybase等。1990年后,RDBMS不断发展,能够支持分布式数据库、开放环境下异构数据库互连,OLTP(On-LineTransactionProcessing)联机事务处理和OLAP(On-LineAnalyticalProcessing)联机分析处理。第三代数据库技术,以面向对象数据库为代表。这一代数据库管理系统基于扩展的关系数据库模型或者面向对象数据库模型,目前,该技术尚未完全成熟。但是它支持包括数据、对象的管理,能够很好地和面向对象设计技术相融合。因此,许多商品化的关系数据库管理系统也都进行了扩充,增加了面向对象特性,发展成ORDBMS(Object-RelationDBMS)。1.1.2数据模型模型是对现实事物的一种抽象。它是人们为了更好地研究现实事物而建立的一种对现实事物的模拟。它客观地表现了现实事物的特征。因为计算机只能存储数据,而不能存储处理现实事物。因此,必须先将现实事物转化为数据模型,才能交给计算机处理。例如,在网上购物时,计算机需要处理用户订单。但是计算机并无法直接处理一张订单,因此必须先将订单转化为计算机能够存储和处理的数据。而这些数据结构,体现了订单的数据特征,就是一种数据模型。数据库中的数据模型一般包括数据结构、数据操作和完整性约束3个要素。例如,订单(订单号,商品名,单价,件数,收货人编号)就是订单的一种数据结构。因为用户可以有下订单、撤销订单等操作,这些操作可能会引起对订单数据的插入、修改和删除。有时还会有查询等操作,这就是数据操作。而订单的单价、件数不可能为负数,这就约束了两者的取值范围。这是一种完整性约束,称之为实体完整性。假设此时有第1章MySQL导论·5·数据结构:收货人(收货人编号,姓名,性别,地址,电话)。显然,在订单(订单号,商品名,单价,件数,收货人编号)中的收货人编号必须存在收货人(收货人编号,姓名,性别,地址,电话)之中,否则订单中的收货人编号就毫无意义。这种完整性约束,称之为参照完整性。1.概念数据模型概念数据模型(ConceptualDataModel)是最上层的数据模型。它与具体的数据库类型无关,是数据库设计人员和用户交流的语言。概念数据模型十分接近现实世界,应用于数据库设计的初始阶段。最常见而且被广泛应用的概念模型是实体-联系(E-R)模型,简称E-R模型。2.结构数据模型目前,结构数据模型中最常用的结构数据模型有4种。分别是:层次模型、网状模型、关系模型和面向对象模型。其中,层次模型和网状模型统称为非关系模型。它们的数据结构可以和图论中的有向图相对应,比较直观。层次模型在现实生活中,许多实体之间的联系就是一种自然的层次关系。例如,一个文件系统的目录结构,就是一个很好的例子。层次模型中,每个结点只有一个双亲结点。整个模型中,也只有根结点没有双亲结点。每个结点都表示一个实体型(集)。实体之间的联系用结点之间的连线表示。这种联系是双亲结点与子女结点之间的一对多联系。因此,层次模型表达一对一、一对多的联系是非常直观的。但是,对于表达多对多联系时,层次模型需要通过辅助手段才能表现,显得笨拙、复杂。网状模型层次模型可以方便地表示现实世界中的层次关系。而实际上,现实世界中存在着大量的非层次关系。对于这些关系,采用层次模型是很不直接的。而网状模型可以克服这个缺点。例如,用户的权限分配。同一用户可以拥有多种不同的权限,而同一权限可以被系统的多个不同用户同时拥有,这就是多对多的联系。图1-2显示了用户与权限的多对多关系。用户权限拥有授权mn图1-2多对多关系关系模型关系模型是现在最重要的一种数据模型。自20世纪80、90年代以来,软件厂商新推出的数据库管理系统几乎都是以关系模型为基础的。现在,包括MySQL在内的多种数据库都是基于关系模型的。程序员突击——MySQL原理与Web系统开发·6·关系模型的逻辑结构是一张二维表,简称表,也可称之为关系。它由行和列组成。二维表中的一列也可以称之为属性。如表1-1所示,订单表有5列,其属性分别是订单号、商品名、单价、件数、收货人编号。二维表的表头,即(订单号,商品名,单价,件数,收货人编号)对应一个关系模式。表1-1所对应的关系模式可以描述为:订单(订单号,商品名,单价,件数,收货人编号)。在二维表中,除了表头以外的任意非空行为一个元组,即一条记录。如(0001,专家导学基于MySQL的JavaB/S系统开发,50,1,000325)就是一个元组。表1-1订单表订单号商品名单价件数收货人编号0001专家导学基于MySQL的JavaB/S系统开发5010003250002专家导学Tomcat应用开发502000333面向对象模型面向对象(ObjectOriented,OO)是当前计算机界关心的重点,它是20世纪90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述的,表现了对象的相互关系。该模型主要关心系统中对象的结构、属性和操作,它是分析阶段3个模型的核心,是其他两个模型的框架。动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬间的、行
本文标题:本章对数据库技术的发展概况作了简要的说明
链接地址:https://www.777doc.com/doc-540573 .html