本章对数据库技术的发展概况作了简要的说明.docx
《本章对数据库技术的发展概况作了简要的说明.docx》由会员分享,可在线阅读,更多相关《本章对数据库技术的发展概况作了简要的说明.docx(24页珍藏版)》请在三一办公上搜索。
1、第1章 MySQL导论本章对数据库技术的发展概况作了简要的说明,同时介绍一些常用的小型数据库和大型数据库,重点介绍MySQL数据库。通过本章的阅读,读者将对MySQL的发展情况、特点及其应用领域有一定的了解。1.3节阐述MySQL的插件式体系结构,简单说明各种存储引擎的特点及选择方法和技巧。1.4节重点介绍MySQL最常用的两种存储引擎,即MyISAM和InnoDB。1.1 数据库概述在学习MySQL之前,首先简单介绍一下数据库的基本概念。举个简单的例子来说明:每个人都有很多亲戚和朋友,为了保持与他们联系,我们常常用一个笔记本将他们的姓名、地址、电话等信息都记录下来,这样要查谁的电话或地址就很
2、方便。这个“通讯录”就是一个最简单的“数据库”,每个人的姓名、地址、电话、邮箱等信息就是这个数据库中的“数据”。我们可以在笔记本这个“数据库”中添加新朋友的个人信息,也可以由于某个朋友的电话变动而修改他的电话号码这个“数据”。总而言之,我们使用笔记本这个“数据库”是为了能随时查到某位亲戚或朋友的地址、邮编或电话号码这些“数据”。当我们的亲戚朋友不多时,也许可以很快地从笔记本中找到所需的数据,但是当笔记本中的数据很多时,也许就要花费不少时间去查找某个朋友的联系方式了。而将这个笔记本数字化,也就是说将它的内容录入到计算机中,例如,存放在MySQL中,那么,即便我们有数以万计的联系人,我们也可以在一
3、瞬间找到他们。这就是数据库的由来和作用。随着信息产业的发展,数据库在社会中发挥了越来越重要的作用。可以说,几乎所有的信息系统都依赖于数据库。通俗地讲,数据库就是存放数据的仓库,而这个仓库是存放在计算机存储设备上,而且数据是按照一定格式存放的。按照数据库理论的定义,数据库是长期存储在计算机内的、有组织的、可共享的数据集合。在今天,电子商务、电子政务等都得到了迅速的发展,并由此产生了大量的数据。为了能够高效、准确地处理分析这些数据,人们便使用了数据库。为了将数据存储在数据库中,通常将描述事物特征的若干个数据组成一个数据记录(Record)。例如,通讯录中的联系人,可以写成如下形式:联系人(姓名,地
4、址,电话,邮箱)并将其称之为记录型,也就是数据的逻辑结构。它是对联系人这一事务的抽象描述。其中,“联系人”也称为记录名,通常在关系数据库中,也作为基本表的表名。姓名、地址、电话、邮箱等称为字段(field),在关系数据库中,也就是各个基本表的表项。对于每个字段可以赋予特定的值,例如:(张三,仓基社区,0571-8888888,sz)这就成为了一条记录。在关系数据库中,若干条记录便构成一张表。数据库带来的最直接的好处,就是实现了数据独立性。所谓数据独立性,是指数据与用户应用程序之间的独立性,也就是实现了应用程序与数据的分离。对于大多数应用程序而言,如一个电子商务网站,它必然需要有后台数据的支持才
5、能运作。然而,这些后台数据是以什么方式存放在物理磁盘上,网站应用程序并不用关心,甚至当数据库的逻辑结构发生变化时,如数据库中原来的记录型是商品(商品编号,商品名称,价格),更改为商品(商品编号,商品名称,价格,数量),原先的网站应用程序也不用更改。前者称之为数据的物理独立性,后者叫做数据的逻辑独立性。【特别提示】数据独立性对于系统维护而言相当重要,数据库将数据以及程序进行了分离,当数据存储方式,或者逻辑结构有改动时,应用程序可以保持不变。如果没有数据独立性,程序和数据将会高度耦合,对于系统维护而言,就是一场“灾难”。1.1.1 数据库技术的发展在数据库系统产生之前,人们对计算机数据的管理经历了
6、人工管理阶段(20世纪50年代中期以前)和文件系统管理阶段(20世纪50年代后到60年代中期)。在人工管理阶段,人们对数据的处理能力很低。从硬件上看,计算机内存小,计算速度低;从软件上看,没有操作系统的支持,更没有数据库管理软件。因此,在这个阶段,数据总量不大,数据不能长期保存,数据与应用程序不隔离,应用程序需要随着数据存储方式的变化而变化。在文件系统阶段,计算机的存储器增大,计算速度大大提高,并且配备了操作系统。在这个阶段,数据可以长期存放,并采用文件系统管理数据。但是,使用文件系统管理数据存在许多缺点,数据冗余度大,逻辑独立性差。1964年,美国通用电器公司的Bachman等人成功开发了世
7、界上第一个DBMS(Database Management System)IDS系统,标志着人们对数据的管理进入了数据库系统阶段。与文件系统相比,数据库系统实现了数据的整体结构化。在文件系统中,虽然存在记录内的结构性,但整体上数据是无结构的,即不同文件之间的记录是没有联系的。但在数据库系统中,不仅存在记录内部的联系,而且还描述了数据之间的联系,实现了数据的整体结构化。这是数据库系统与文件系统的本质差别。同时,数据库系统使数据面向整个应用系统,降低了数据的冗余度,实现了数据的共享。体现数据库整体结构性的典型示例就是外键约束。如图1-1所示,在订单记录中的收货人编号必须存在于描述收货人信息的特定的
8、记录收货人中;否则,这便是一个非法的收货人编号。在数据库中,不同记录或表之间的这种联系,便使数据库数据整体结构化。图1-1 外键约束数据库系统的发展经历了以下几个阶段。第一代数据库技术以层次数据库和网状数据库为代表。其主要特点是支持三级模式结构;用指针来表示数据之间的联系;数据定义语言(Data Definaition Language,DDL)和数据操纵语言(Data Manipulation Language,DML)相对独立;数据库采用过程性(导航式)语言,用户在操作数据库时不但说明要做什么,还要说明怎么做。例如,在查找语句中不但要说明查找的对象,而且要规定存取路径。这和现在被广泛使用的
9、非过程性语言SQL是不同的。第二代数据库技术,也就是现在被广泛应用的关系数据库系统。MySQL正是属于这类数据库。关系数据库有严格的数学理论作为基础,概念清晰,易于使用。1970年,美国IBM公司San Jose研究实验室研究员E.F.Codd提出了关系数据库模型,奠定了关系数据库理论的基础。E.F.Codd也因此获得了1981年的计算机图灵奖。1974年, San Jose实验室研制成功System R,这是世界上最早的关系数据库管理系统(RDBMS)。1980年后,众多RDBMS产品相继推出,包括Oracle、Infomix、Sybase等。1990年后,RDBMS不断发展,能够支持分布式
10、数据库、开放环境下异构数据库互连,OLTP(On-Line Transaction Processing)联机事务处理和OLAP(On-Line Analytical Processing)联机分析处理。第三代数据库技术,以面向对象数据库为代表。这一代数据库管理系统基于扩展的关系数据库模型或者面向对象数据库模型,目前,该技术尚未完全成熟。但是它支持包括数据、对象的管理,能够很好地和面向对象设计技术相融合。因此,许多商品化的关系数据库管理系统也都进行了扩充,增加了面向对象特性,发展成ORDBMS(Object-Relation DBMS)。1.1.2 数据模型模型是对现实事物的一种抽象。它是人们
11、为了更好地研究现实事物而建立的一种对现实事物的模拟。它客观地表现了现实事物的特征。因为计算机只能存储数据,而不能存储处理现实事物。因此,必须先将现实事物转化为数据模型,才能交给计算机处理。例如,在网上购物时,计算机需要处理用户订单。但是计算机并无法直接处理一张订单,因此必须先将订单转化为计算机能够存储和处理的数据。而这些数据结构,体现了订单的数据特征,就是一种数据模型。数据库中的数据模型一般包括数据结构、数据操作和完整性约束3个要素。例如,订单(订单号,商品名,单价,件数,收货人编号)就是订单的一种数据结构。因为用户可以有下订单、撤销订单等操作,这些操作可能会引起对订单数据的插入、修改和删除。
12、有时还会有查询等操作,这就是数据操作。而订单的单价、件数不可能为负数,这就约束了两者的取值范围。这是一种完整性约束,称之为实体完整性。假设此时有数据结构:收货人(收货人编号,姓名,性别,地址,电话)。显然,在订单(订单号,商品名,单价,件数,收货人编号)中的收货人编号必须存在收货人(收货人编号,姓名,性别,地址,电话)之中,否则订单中的收货人编号就毫无意义。这种完整性约束,称之为参照完整性。1概念数据模型概念数据模型(Conceptual Data Model)是最上层的数据模型。它与具体的数据库类型无关,是数据库设计人员和用户交流的语言。概念数据模型十分接近现实世界,应用于数据库设计的初始阶
13、段。最常见而且被广泛应用的概念模型是实体-联系(E-R)模型,简称E-R模型。2结构数据模型目前,结构数据模型中最常用的结构数据模型有4种。分别是:层次模型、网状模型、关系模型和面向对象模型。其中,层次模型和网状模型统称为非关系模型。它们的数据结构可以和图论中的有向图相对应,比较直观。q 层次模型在现实生活中,许多实体之间的联系就是一种自然的层次关系。例如,一个文件系统的目录结构,就是一个很好的例子。层次模型中,每个结点只有一个双亲结点。整个模型中,也只有根结点没有双亲结点。每个结点都表示一个实体型(集)。实体之间的联系用结点之间的连线表示。这种联系是双亲结点与子女结点之间的一对多联系。因此,
14、层次模型表达一对一、一对多的联系是非常直观的。但是,对于表达多对多联系时,层次模型需要通过辅助手段才能表现,显得笨拙、复杂。q 网状模型层次模型可以方便地表示现实世界中的层次关系。而实际上,现实世界中存在着大量的非层次关系。对于这些关系,采用层次模型是很不直接的。而网状模型可以克服这个 缺点。例如,用户的权限分配。同一用户可以拥有多种不同的权限,而同一权限可以被系统的多个不同用户同时拥有,这就是多对多的联系。图1-2显示了用户与权限的多对多关系。图1-2 多对多关系q 关系模型关系模型是现在最重要的一种数据模型。自20世纪80、90年代以来,软件厂商新推出的数据库管理系统几乎都是以关系模型为基
15、础的。现在,包括MySQL在内的多种数据库都是基于关系模型的。关系模型的逻辑结构是一张二维表,简称表,也可称之为关系。它由行和列组成。二维表中的一列也可以称之为属性。如表1-1所示,订单表有5列,其属性分别是订单号、商品名、单价、件数、收货人编号。二维表的表头,即(订单号,商品名,单价,件数,收货人编号)对应一个关系模式。表1-1所对应的关系模式可以描述为:订单(订单号,商品名,单价,件数,收货人编号)。在二维表中,除了表头以外的任意非空行为一个元组,即一条记录。如(0001,专家导学基于MySQL的JavaB/S系统开发,50,1,000325)就是一个元组。表1-1 订单表订 单 号商 品
16、 名单 价件 数收货人编号0001专家导学基于MySQL的Java B/S系统开发5010003250002专家导学Tomcat应用开发502000333q 面向对象模型面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是20世纪90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述的,表现了对象的
17、相互关系。该模型主要关心系统中对象的结构、属性和操作,它是分析阶段3个模型的核心,是其他两个模型的框架。动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制性质,它关心的是系统的控制、操作的执行顺序,它表示从对象的事件和状态的角度出发,表现了对象的相互行为。该模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织。使用状态图作为描述工具。它涉及事件、状态、操作等重要概念。功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。功
18、能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。3物理数据模型物理数据模型是描述数据在存储介质商组织结构的数据模型,它不但与具体的DBMS有关,而且还与操作系统和硬件有关,是物理层次的数据模型。为了保证数据的独立性和可移植性,DBMS完成了大部分物理数据模型的实现工作,而设计者只需关心设计索引等特殊结构即可。1.1.3 常用数据库介绍1AccessAccess是Microsoft的产品,伴随着Office一起发布。作为一个单文件的数据库系统,它使用简单,但是功能
19、并不强大,不支持事务、触发器、存储过程等应用。不适用于对可靠性要求较高的场合。2HSQLDBHSQLDB是一个开源纯Java的数据库,小巧方便。具有标准的SQL语法和Java接口,支持事务处理,支持Java存储过程和函数。它属于BSD的license,可以自由下载,并且可以安装使用在商业产品之上。3SQLITESQLITE是开源单一文件数据库。支持ACID事务,触发器;零配置,不需安装,支持数据大小达2TB。但它不支持外键,内部采用UTF8存储数据,对于中文数据的处理,都必须调用编码函数,略有不便。4SQL ServerSQL Server是由微软开发的一款数据库管理系统。其最新版本是SQL
20、Server 2008,适合于中小企业使用,只能在Windows操作系统下运行。目前包含多种版本,如学习版、工作组版、开发版、标准版、企业版和移动版,用户可以根据实际情况选择适合自己的版本。但是除学习版外,其他版本价格不菲,其中企业版售价约为35万人民币,标准版售价约为7万人民币。5OracleOracle数据库是Oracle公司的产品,是目前最为流行的大型数据库之一,可以运行在Windows和类UNIX等多种操作系统下,适合于大型企业使用。目前最新版本是Oracle 11g。Oracle提供的功能是其他中小型数据库望尘莫及的。Oracle提供了高度的可用性、可伸缩性、可管理性和安全性,支持集
21、群应用、数据仓库、内容管理等功能。但Oracle数据库价格较高,各项产品的售价大约在2万50万人民币不等。而且,Oracle数据库的学习周期较长,不易掌握。6DB2DB2是IBM5个软件品牌之一,属于大型数据库,是Oracle的强有力的竞争对手。可以运行在多种不同的操作系统下,包括UNIX、Windows、AS/400和OS/390。DB2对商业智能、内容和记录管理、异构数据库集成有较好的支持。其价格大约在2万美元左右。1.2 MySQL简介一开始MySQL是作为小型轻量级关系数据库推出的,主要定位于小型信息系统开发中的数据管理。近年来,随着其研发技术的不断进步和版本的持续升级,MySQL在应
22、用开发中正表现出越来越出色的稳定性和可靠性。1.2.1 MySQL是什么MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQLAB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。MySQL的正式发音是My Ess Que Ell(而不是my sequel)。MySQL的网站(http:/www.MySQL.com)上给出了关于MySQL的最新信息。在本书撰写时,MySQL的最新版本为6.0,但若无特殊说明,本书中以MySQL5.1为例进行阐述。MySQL是一种数据库管理系统
23、。数据库是数据的结构化集合。它可以是任何东西,从简单的购物清单到画展,或企业网络中的海量信息。要想将数据添加到数据库,或访问、处理计算机数据库中保存的数据,需要使用数据库管理系统,如MySQL服务器。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算机应用方面扮演着关键的角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。MySQL是一种关系数据库管理系统。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL指的是“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言,它是由ANSI/ISOSQL标准定
24、义的。SQL标准自1986年以来不断演化发展,有数种版本。1.2.2 MySQL的特点q 开放源代码“开放源码”意味着任何人都能使用和改变软件。任何人都能从Internet上下载MySQL软件,而无须支付任何费用。如果愿意,可以研究源码并进行恰当的更改,以满足自己的需求。MySQL软件采用了GPL(GNU通用公共许可证),http:/www.fsf.org/licenses/,定义了在不同情况下可以用软件做的事和不可做的事。如果对GPL不满意,或需要在商业应用程序中嵌入MySQL代码,也可从MySQL AB公司购买商业许可版本。由此可见,与一般的商用数据库相比,MySQL不仅在价格上远远胜于它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本章 数据库技术 发展 概况 简要 说明
链接地址:https://www.31ppt.com/p-1795453.html