数据库技术概述
数据库技术概述
数据库技术是一门综合性的软件技术,是使用计算机进行各种信息管理的必备知识。
数据库技术是本世纪60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学中的一个重要分支。随着计算机应用的不断发展,在计算机应用领域中,数据处理越来越占主导地位,数据库技术的应用也越来越广泛。
一、数据库的历史发展
数据库是数据管理的产物。数据管理是数据库的核心任务,内容包括对数据的分类、组织、编码、储存、检索和维护。随着计算机硬件和软件的发展,数据库技术也不断地发展。从数据管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。
1. 人工管理阶段
人工管理阶段是指计算机诞生的初期(即20世纪50年代后期之前),这个时期的计算机主要用于科学计算。从硬件看,没有磁盘等直接存取的存储设备;从软件看,没有操作系统和管理数据的软件,数据处理方式是批处理。
这个时期数据管理的特点是:梦见玻璃杯碎了
1). 数据不保存
该时期的计算机主要应用于科学计算,一般不需要将数据长期保存,只是在计算某一课题时将数据输入,用完后不保存原始数据,也不保存计算结果。
2). 没有对数据进行管理的软件系统
程序员不仅要规定数据的逻辑结构,而且还要在程序中设计物理结构,包括存储结构、存取方法、输入输出方式等。因此程序中存取数据的子程序随着存储的改变而改变,数据与程序不具有一致性。
3). 没有文件的概念
数据的组织方式必须由程序员自行设计。
4). 一组数据对应于一个程序,数据是面向应用的
即使两个程序用到相同的数据,也必须各自定义、各自组织,数据无法共享、无法相互利用和互相参照,从而导致程序和程序之间有大量重复的数据。
2. 文件系统阶段
文件系统阶段是指计算机不仅用于科学计算,而且还大量用于管理数据的阶段(从50年代后期到60年代中期)。在硬件方面,外存储器有了磁盘、磁鼓等直接存取的存储设备。在软件方面,操作系统中已经有了专门用于管理数据的软件,称为文件系统。
这个时期数据管理的特点是:
1). 数据需要长期保存在外存上供反复使用
由于计算机大量用于数据处理,经常对文件进行查询、修改、插入和删除等操作,所以数据需要长期保留,以便于反复操作。
2). 程序之间有了一定的独立性
操作系统提供了文件管理功能和访问文件的存取方法,程序和数据之间有了数据存取的接口,程序可以通过文件名和数据打交道,不必再寻数据的物理存放位置,至此,数据有了物理结构和逻辑结构的区别,但此时程序和数据之间的独立性尚还不充分。
3). 文件的形式已经多样化
由于已经有了直接存取的存储设备,文件也就不再局限于顺序文件,还有了索引文件、链表文件等,因而,对文件的访问可以是顺序访问,也可以是直接访问。
4). 数据的存取基本上以记录为单位
可以看出,文件系统中的数据和程序虽然具有了一定的独立性,但还很不充分,每个文件仍然对应于一个应用程序,数据还是面向应用的。要想对现有的数据再增加一些新的应用是很困难的,系统不易扩充,一旦数据的逻辑结构改变,必须修改应用程序。并且,各个文件之间是孤立的,不能反映现实世界事物之间的内在联系,各个不同应用程序之间也不能共享相同的数据,从而造成数据冗余度大,并容易产生相同数据的不一致性。
3. 数据库系统阶段
数据库系统阶段是从60年代后期开始的。在这一阶段中,数据库中的数据不再是面向某个应用或某个程序,而是面向整个企业(组织)或整个应用的。
数据库系统阶段的特点是:
1). 采用复杂的结构化的数据模型
数据库系统不仅要描述数据本身,还要描述数据之间的联系。这种联系是通过存取路径来实现的。
静悄悄类似的词语2). 较高的数据独立性
数据和程序彼此独立,数据存储结构的变化尽量不影响用户程序的使用。
3). 最低的冗余度
数据库系统中的重复数据被减少到最低程度,这样,在有限的存储空间内可以存放更多的数据并减少存取时间。起网名
4). 数据控制功能
数据库系统具有数据的安全性,以防止数据的丢失和被非法使用;具有数据的完整性,以保护数据的正确、有效和相容;具有数据的并发控制,避免并发程序之间的相互干扰;具有数据的恢复功能,在数据库被破坏或数据不可靠时,系统有能力把数据库恢复到最近某个时刻的正确状态。
综上所述,数据库可以被定义为:一个存储起来互相关联的数据集合,它提供给多种用户共享并且有最小的冗余度和较高的数据独立性。
4. 三代数据库系统的发展
数据模型是数据库系统的核心。按照数据模型发展的主线,数据库技术的形成过程和发展可从以下三个方面反映:
1). 第一代数据库系统--层次和网状数据库管理系统
层次和网状数据库的代表产品是IBM公司在1969年研制出的层次模型数据库管理系统。层次数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基。2). 第二代数据库系统--关系数据库管理系统(RDBMS)
1970年,IBM公司的研究员E.F.Codd在题为《大型共享数据库数据的关系模型》的论文中提出了数据库的关系模型,为关系数据库技术奠定了理论基础。到了80年代,几乎所有新开发的数据库系统都是关系型的。
真正使得关系数据库技术实用化的关键人物是James Gray。Gray在解决如何保障数据的完整性、安全性、并发性以及数据库的故障恢复能力等重大技术问题方面发挥了关键作用。关系数据库系统的出现,促进了数据库的小型化和普及化,使得在微型机上配置数据库系统成为可能。
3). 新一代数据库技术的研究和发展
目前已从多方面发展了现行的数据库系统技术。我们可以从数据模型、新技术内容、应用领
域三个方面概括新一代数据库系统的发展。
(1) 面向对象的方法和技术对数据库发展的影响最为深远
80年代,面向对象的方法和技术的出现,对计算机各个领域,包括程序设计语言、软件工程、信息系统设计以及计算机硬件设备等都产生了深远的影响,也给面临新挑战的数据库技术带来了新的机遇和希望。数据库研究人员借鉴和吸收了面向对象的方法和技术,提出了面向对象的数据库模型(简称对象模型)。当前有许多研究是建立在数据库已有的成果和技术上的,针对不同的应用,对传统的DBMS,主要是RDBMS进行不同层次上的扩充,例如建立对象关系(OR)模型和建立对象关系数据库(ORDB)。
(2) 数据库技术与多学科技术的有机结合
数据库技术与多学科技术的有机结合是当前数据库发展的重要特征。计算机领域中其他新兴技术的发展对数据库技术产生了重大影响。传统的数据库技术和其他计算机技术的结合、互相渗透,使数据库中新的技术内容层出不穷。数据库的许多概念、技术内容、应用领域,甚至某些原理都有了重大的发展和变化。建立和实现了一系列新型的数据库,如分布式数据库、并行数据库、演绎数据库、知识库、多媒体库、移动数据库等,它们共同构成了数据库大家族。
(3) 面向专门应用领域的数据库技术的研究
为了适应数据库应用多元化的要求,在传统数据库基础上,结合各个专门应用领域的特点,研究适合该应用领域的数据库技术,如工程数据库、统计数据库、科学数据库、空间数据库、地理数据库、Web数据库等,这是当前数据库技术发展的又一重要特征。
同时,数据库系统结构也由主机/终端的集中式结构发展到网络环境的分布式结构,随后又发展成两层、三层或多层客户/服务器结构以及Internet环境下的浏览器/服务器和移动环境下的动态结构。多种数据库结构满足了不同应用的需求,适应了不同的应用环境。
二、数据模型
1. 数据处理的抽象描述
不同的领域,数据的描述也有所不同。实际生活中,有对现实世界的描述;理论研究中,有对符号化数据的描述;而在计算机内部,数据又有其特定的表示方法。人们研究和处理数据的过程中,常常把数据的转换分为三个领域——现实世界,信息世界,机器世界,这三个世界间的转换过程,就是将客观现实的信息反映到计算机数据库中的过程。
1). 现实世界(Real World)
客观存在的世界就是现实世界,它独立于人们的思想之外。现实世界存在无数事物,每一个客观存在的事物可以看做是一个个体,个体有多项特征和属性。比如,电视机就有价格,品牌,可视面积大小,是否彩等特征。而不同的人,只会关心其中的一部分属性,一定领域内的个体有着相同的特征。
2). 信息世界(Information World)++
信息世界是现实世界在人们头脑中的反映,人的思维将现实世界的数据抽象化和概念化,并用文字符号表示出来,就形成了信息世界。下面是人们在研究现实世界过程中常常用到的术语:
(1) 实体(Entity)
客观存在且可以互相区别的事物。如一名学生,一台电脑,一本书,一场聚会。实体是信息世界的基本单位。
(2) 属性(Attribute)
个体的某一特征称为属性,一个实体可以有多个属性,每一个属性都有其取值范围和取值类型。
(3) 键(Key)
能在一个实体集中唯一标识一个实体的属性称为键,键可以只包含一个属性,也可以同时包含多个属性。有多个键时,选择一个作为主键。键中的属性称为主属性。
(4) 联系(Relation)
实体之间互相作用,互相制约的关系称为实体集的联系。实体之间的联系有三种:一对一联系,一对多联系,多对多联系。
3). 机器世界
机器世界又称数据世界,信息世界中的信息经过抽象和组织,以数据形式存贮在计算机中,就称为机器世界。与信息世界一样,机器世界也有其常用的、用来描述数据的术语,这些术语与信息世界中的术语有着对应的关系。
(1) 字段(Field)
字段,也称为数据项(Item),标记实体的一个属性叫做字段,它是可以命名的最小信息单位。例如学生有学号、姓名、性别、出生日期等字段。字段与信息世界的属性相对应。
(2) 记录(Record)
记录是有一定逻辑关系的字段的组合。它与信息世界中的实体相对应,一个记录可以描述一个实体。例如一个学生的记录由“学号、姓名、性别、出生日期”等字段组成。
(3) 文件(File)
文件是同一类记录的集合。文件的存储形式有很多种,比如顺序文件、索引文件、直接文件、倒排文件等等。
4). 三个世界的转换
由以上对三个世界的描述可以看到,从现实世界到信息世界再到机器世界,事务被一层层抽象,加工,符号化,逻辑化,而这个过程都是有一定联系的。
2. 数据模型
数据库恢复1). 信息模型(概念模型)与E-R方法
为了把现实世界中的具体事物进行抽象,人们常常首先把现实世界抽象为信息世界,然后再将信息世界转化为机器世界。在把现实世界抽象为信息世界的过程中,实际上是抽象出现实系统中有应用价值的元素及其关联。这时所形成的信息结构是概念模型。在抽象出概念模型后,再把概念模型转换为计算机上某一DBMS支持的数据模型。需要一种方法能够对现实世界的信息进行描述。
节后上班第一天实体-联系方法(即E-R方法)是P.P.S.Chen于1976年提出的,这种方法由于简单、实用,所以得到了非常普遍的应用,也是目前描述概念模型最常用的方法。它使用的工具称作E-R 图,它所描述的现实世界的信息结构称为企业模式,也把这种描述结果称为E-R模型。下面概述一下E-R方法的要点。
(1) 用矩形框表示实体,实体名(例如学生)写在框内。
(2) 用椭圆框表示实体的属性,框内写上属性名,并用线段连到相应的实体。例如学生的属性有姓名、学号和年龄等。
(3) 用菱形框表示实体间的联系,在框内写上联系名,用线段连接菱形框与矩形框,在线段旁注上联系的类型(一对一、一对多、多对多)。如联系也具有属性,则把属性和菱形框用线段连上。
E-R图是抽象描述现实世界的有力工具,它与计算机所支持的数据模型相独立,它更接近于现实世界。虽然现实世界丰富多彩,各种信息十分繁杂,但用E-R图可以很清晰地表示出其中的错综复杂关系。下面我们用E-R图来表示某个学校的教务管理的概念模型。
教务管理涉及的实体有:
.班级属性有班级编号,班级名称,专业,班主任;
.教师属性有教师号,姓名,性别,年龄,职称,专业;
.学生属性有学生号,姓名,性别,班级编号;
.课程属性有课程号,课程名,课时,学分,教材。
这些实体之间的联系如下:
.一个班有多个教师授课,一个教师可以教多个班级,班级和教师具有多对多的联系;
.一个班有多名学生,但一个学生只能在一个班注册,因此班级与学生是一对多联系;
.在某个时间某个地点一位教师可指导多个学生,但某个学生在某一时间和地点只能被一位教师所指导,因此教师与学生是一对多联系;一位教师可讲授多门课程,一门课程可由多位教师讲授,每位教师讲授某门课程都有一个评价,教师与课程之间是多对多联系;
.一个学生可选修多门课程,一门课程允许多个学生选修,每个学生选修某门课程都有一个分数(成绩),因此学生与课程之间是多对多联系。
如果某个部门的概念模型中涉及的实体和实体的属性较多,可以把实体及其属性在另一幅图上画出,使E-R图更清晰地表明实体以及实体之间的联系,这样图ER可以分为图ER1 2). 结构数据模型
结构数据模型是机器世界的数据模型。实际数据库系统中所支持的数据模型主要有层次模型、网状模型和关系模型。
(1) 层次模型
用树型结构来表示实体之间联系的模型称为层次模型。层次模型是满足有且仅有一个根结点,非根结点有且仅有一个父结点的基本层次联系的集合。
构成层次模型的树是由结点和连线组成的,结点表示实体集,连线表示相连两个实体之间的联系,这种联系只能是一对多的。通常把表示“一”的实体放在上方,称为父结点;而把表示“多”的实体放在下方,称为子结点。
江苏交易电价上浮19.94%
(2) 网状模型
用网状结构来表示实体之间联系的数据模型称为网状模型。网状模型可以有一个以上结点无父结点;至少有一个结点具有多于一个的父结点。
(3) 关系模型
用一个二维表格表示实体和实体之间联系的模型,称为关系模型。我们将在第三节中较详细地介绍。
3. 数据模型的三要素
数据模型通常由数据结构、数据操作和完整性约束三部分组成。
1). 数据结构
数据结构是所研究的对象类型的集合,在数据库系统中通常按照数据结构的类型来命名数据模型,如层次结构、网状结构和关系结构的模型分别命名为层次模型、网状模型和关系模型。2). 数据操作
数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据操作是用来描述系统的信息变化的,是对系统动态特性的描述。
数据操作的种类有以下两种:检索(如查询)和更新(增、删、改)。
3). 数据的约束条件
数据的约束条件是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
4. 数据库技术的应用

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。