数据库系统概述_第1页
数据库系统概述_第2页
数据库系统概述_第3页
数据库系统概述_第4页
数据库系统概述_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章数据库系统概述

数据库系统产生于20世纪70年代初,它的出现,既促进了计算机技术的高速发展,又形成了专门的信息处理理论和数据库管理系统,因此数据库管理系统是计算机技术和信息时代相结合的产物,是信息和数据处理的核心,是研究数据共享的一门科学,是现代计算机系统软件的重要组成部分。1.1数据处理基本概念1.1.1信息、数据和数据处理1.信息

信息(Information)是对客观事物属性的反映。它所反映的是客观事物的某一属性或某一时刻的表现形式。如成绩的好坏,温度的高低,质量的优劣等。因此,信息是经过加工处理并对人类客观行为产生影响的数据表现形式。(1)信息是可以感知的。

(2)信息是可以存储、传递、加工和再生的。

(3)信息源于物质和能量。

(4)信息是有用的。2.数据

数据(Data)是信息的载体,是信息的具体表现形式,是反映客观事物属性的记录。

3.信息和数据的关系

信息和数据既有联系,又有区别,数据是信息的载体,信息是数据处理的结果。数据是物理性的,是被加工的对象,而信息是对数据加工的结果,是观念性的,并依赖于数据而存在,数据表示了信息,而信息只有通过数据形式表现出来,才能被人们理解和接受,信息是有用的数据。4.数据处理

数据处理(DataProcess)也称为信息处理,是指利用计算机对各种类型的数据进行采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等操作,使之变为有用信息的一系列活动的总称。就是从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。所以,数据处理也称为信息处理。信息处理的真正含义是为了产生信息而处理数据。1.1.2数据管理技术的发展数据管理技术的发展经历了人工管理,文件管理,数据库系统管理三个阶段。1.人工管理阶段

特点:

(1)数据不保存。

(2)没有专用的软件对数据进行管理。

(3)数据不具有独立性。

(4)数据是面向程序的。2.文件系统阶段

在这一阶段(20世纪50年代后期到60年代中期),计算机不仅用于科学计算,还用于信息管理。3.数据库阶段

数据管理技术进入数据库阶段是在20世纪60年代末。由于计算机应用于管理的规模更加庞大,数据量急剧增加;硬件方面出现了大容量磁盘,使计算机联机存取海量数据成为可能;硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。

数据库的特点:(1)数据共享性高、冗余度低。(2)数据结构化。(3)数据独立性高。(4)有统一的数据控制功能。数据库管理系统提供四方面的数据控制功能:数据的安全性控制数据的完整性控制并发控制数据恢复1.2数据模型

客观世界存在着各种事物,而事物与事物之间是彼此相互联系的。一方面,某一事物内部的各种因素和各种属性根据一定的组织原则相互联系,构成一个相对独立的系统;另一方面,某一事物同时也可作为一个更大系统的一个因素或一种属性而存在,并与系统的其它因素或属性发生联系。

模型是对现实世界特征的模拟和抽象。如一组建筑设计沙盘,一架精致的航模飞机等都是具体的模型。

数据模型是模型的一种,它是现实世界数据特征的抽象,现实世界中的具体事务必须用数据模型这个工具来抽象和表示。1.2.1基本概念

在数据库技术中,用数据模型的概念描述数据库的结构和语义,表示实体及实体之间的联系。

1.实体

客观存在并且可以相互区别的事物称为实体。实体可以是具体的事物,也可以是抽象的事件。

2.属性

实体的某一特性称为属性。实体有很多特性,如学生实体有学号、姓名、性别、出生日期、所在学院等方面的属性。

属性有“型”和“值”之分。3.实体集

具有相同类型及相同性质的实体的集合称为实体集。例如,某个学校所有学生的集合、所有学生的选课情况等都可以视为实体集。

4.联系

实体之间的相互关系称为联系。在现实世界中,事物内部以及事物之间是有联系的。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。1.2.2实体间的联系实体间的联系可分为三种类型,即一对一的联系,一对多的联系和多对多的联系。1.一对一的联系(1:1)

2.一对多的联系(1:n)

3.多对多的联系(m:n)

一对多的联系是最普遍的联系,我们可以把一对一的联系看作是一对多的联系的一个特例。1.2.3数据模型

数据库中的数据必须能够反映事物之间的各种联系,而具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。数据模型是指反映客观事物及客观事物间联系的数据组织结构和形式。1.层次模型

层次模型表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。层次模型像一棵倒立的树,根结点在上,层次最高,子结点在下,逐层逐级排列。上级结点与下级结点之间为一对多的联系。层次模型具有以下特征:

(1)有且仅有一个根结点而且无双亲。

(2)根结点以下的子结点,向上层仅有一个父结点,向下层有若干子结点。

(3)最下层为叶结点且无子结点。

支持层次模型的数据库管理系统称为层次数据库管理系统,其中的数据库称为层次数据库。2.网状模型

现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观,网状模型克服了这一弊病,可以清晰地表示这种非层次关系。

网状模型是用网状结构表示实体与实体之间联系的模型。网状模型是层次模型的扩展,它表示多个从属关系的层次结构,可以允许两个结点之间有多种联系。网状模型表现为一种交叉关系的网络结构。网状模型具有以下特征:(1)有一个以上的结点无双亲。

(2)至少有一个结点有多双亲。

网状模型可以表示较复杂的数据结构,它不但可以表示数据间的纵向关系而且可以表示数据间的横向关系。

网状模型中每个结点表示一个记录(实体),每个记录可包含若干个字段(实体的属性),结点间的连线表示记录(实体)间的父子关系。

支持网状模型的数据库管理系统称为网状数据库管理系统,其中的数据库称为网状数据库。3.关系模型

关系模型是发展较晚,也是最常用、最重要的一种数据模型。

用二维表结构来表示实体与实体之间联系的模型称为关系模型。在关系模型中,操作的对象和结果都是二维表,这种二维表就是关系。关系模型的主要特征是用二维表表示实体集。(1)二维表的特点:①表有表名:即XS(学生表)。

②表由两部分构成,即一个表头和若干行数据。

③从垂直方向看,表由若干列组成,每列都有列名如“学号”、“姓名”等。

④同一列的值取自同一个定义域,例如,性别的定义域是(男、女)。

⑤每一行的数据代表一个学生的信息,同样每一个学生在表中也有一行。(2)对一张二维表可以进行以下操作:

①填表:将每个同学的数据填写进表格。

②修改:改正表中的错误数据。

③删除:去掉一个学生的数据(如某个同学己毕业或出国等)。

④查询:在表中按某些条件查找满足条件的学生。(3)关系的特点

关系是一种规范化了的二维表,为了使相应的数据操作简化,在关系模型中,对关系作了种种限制,关系具有如下特性:①关系中的每一数据项不可再分,是最基本的单位,满足此条件的关系称为规范化关系,否则称为非规范化关系。②每一竖列的数据项是同属性的,列数根据需要而设,且各列的顺序是任意的。③每一横行记录由一个个体事物的诸多属性构成,记录的顺序可以是任意的。④一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录行。4.面向对象模型

面向对象数据模型能完整地描述现实世界的数据结构,具有丰富的表达能力,但模型相对比较复杂,涉及的知识比较广,因此面向对象数据库尚未达到关系数据库的普及程度。1.3数据库系统

1.3.1有关数据库的几个概念1.数据库DB(DataBase)2.数据库系统DBS(DataBaseSystem)3.数据库管理系统DBMS(DataBase

4.数据库应用系统DBAS(DataBaseApplicationSystem)

5.用户用户是指使用和管理数据库的人,他们可以对数据库进行存储、维护和检索等操作。

①终端用户

终端用户主要是指使用数据库的各级管理人员、工程技术人员等,一般来说,他们是非计算机专业人员。

②应用程序员

应用程序员负责为终端用户设计和编制应用程序。

③数据库管理员

数据库管理员是指对数据库进行设计、维护和管理的专门人员。1.3.2数据库系统的特点1.实现数据共享,减少数据冗余

2.采用特定的数据模型

3.有统一的数据控制功能

4.具有较高的数据独立性1.3.3数据库系统的发展1.格式化数据库系统

格式化数据库系统是对第一代数据库系统的总称,其中又包括层次型数据库系统与网状型数据库系统两种类型,这一代数据库系统具有以下特征。

(1)采用“记录”为基本的数据结构。在不同的“记录型”(recordtype)之间,允许存在相互联系。

(2)无论层次模型还是网状模型,一次查询只能访问数据库中的一个记录,存取效率不高。2.关系型数据库系统(RelationalDataBaseSystems,RDBS)与第一代数据库系统相比,RDBS具有下列优点。

(1)采用人们习惯使用的表格作为基本的数据结构,通过公共的关键字段来实现不同二维表之间(或“关系”之间)的数据联系。(2)一次查询仅用一条命令或语句,即可访问整个“关系”(或二维表),因而查询效率较高,在RDBS中,通过多表联合操作,还能对有联系的若干二维表实现“关联”查询。3.对象——关系数据库系统(object-RelationalDataBaseSystems,ORDBS)

将数据库技术与面向对象技术相结合,成为研究数据库技术的新方向,构成第三代数据库系统的基础。

由于ORDBS是建立在RDBS技术之上的,可以直接继承RDBS的原有技术和用户基础,所以其发展比OODBS更为顺利,正在成为第三代数据库系统的主流。

目前,ORDBS还处在发展过程中,在技术上和应用上发展较快,并已显现出良好的发展前景。1.3.4数据库系统的分类1.面向对象数据库

多媒体数据库是面向对象数据库的重要实例,它管理的数据不仅容量大,而且长短不一,检索方法也从传统数据库的“精确查询”,改变为以“非精确匹配和相似查询”为主的“基于内容”的检索。20世纪90年代,一些著名的第二代数据库如Oracle、Sybase等都在原来关系模型的基础上引入了对象机制,扩展了对多媒体数据的管理功能。2.分布式数据库

如果说多媒体应用促进了面向对象数据库的发展,而网络的应用与普及,推动分布式数据库发展。在早期的数据库中,数据都是集中存放的,即所谓的集中式数据库。分布式数据库则把数据分散地存储在网络的多个结点上,彼此用通信线路连接。3.演绎数据库

传统数据库存储的数据都代表已知的事实(fact),演绎数据库(deductivedatabase)则除存储事实外,还能存储用于逻辑推理的规则。

由于这类数据库是由“事实+规则”所构成的,所以有时也称为“基于规则的数据库”(rule-baseddatabase)或“逻辑数据库”(logicdatabase)。它所采用的数据模型则称为逻辑模型(Logicdatamodel)或基于逻辑的数据模型。1.3.5数据库系统的应用模式数据库应用系统(DataBaseApplicationSystems,DBAS)专指建立在数据库上的应用系统。一个DBAS通常由数据库和应用程序两部分组成,它们都需要在DBMS支持下开发。

1.单用户应用模式

单用户应用模式是指在同一时间内只能由一个用户使用的数据库系统。2.多用户集中应用模式

多用户集中应用模式常见于小型机及以上计算机早期使用的多用户数据库系统。3.客户机/服务器应用模式

自20世纪80年代以来,C/S模式在网络数据库应用中迅速发展,先后出现了二层和多层两种结构。1.4数据库管理系统1.4.1数据库管理系统的基本功能

数据库管理系统(DataBaseManagementSystem,DBMS)是处于用户(应用程序)和操作系统之间的一种软件,其作用是对数据库中的数据实现有效的组织与管理。无论开发还是运行数据库系统,都需要DBMS的支持。1.数据定义功能

DBMS提供的“数据定义语言”(DataDefinitionLanguage,DDL),用于描述数据库的结构。2.数据操作功能

对数据进行检索和查询,是数据库的主要应用。为此,DBMS将向用户提供“数据操作语言”(DataManipulationLanguage,DML),支持用户对数据库中的数据进行查询、更新等操作。3.控制和管理功能

在多用户使用时对数据进行的“并发控制”,对用户权限实施监督的“安全性检查”,数据的备份、恢复和转储功能,对数据库运行情况进行监控等。4.数据通信功能

数据通信功能主要包括数据库与操作系统的接口以及用户应用程序与数据库的接口。1.4.2数据库管理系统的发展现状

随着数据库系统从第一代发展到第三代,DBMS也取得了迅速的发展。目前在计算机上使用的DBMS大都是关系数据库管理系统(RelationalDataBaseManagementSystem,RDBMS)。

,现在也很少见了。1.5数据库应用系统1.5.1数据库应用系统数据库应用系统(简称数据库系统,DBAS)是引进了数据库技术后的整个计算机系统,它是由有关的硬件、软件、数据和人员四个部分组合起来形成的为用户提供信息服务的系统。

硬件环境是数据库系统的物理支撑,包括CPU、内存、外存及输入输出设备。

软件系统包括系统软件和应用软件两类。

数据是数据库系统的管理对象,是为用户提供数据的信息源。数据库系统的人员是指管理、开发和使用数据库系统的全部人员,主要包括数据库管理员、系统分析员、应用程序员和用户。1.5.2数据库应用系统的开发环境目前流行的主流DBMS是RDBMS,采用的数据语言主要是SQL。1.SQL及其接口

(1)RDBMS的常用语言

作为关系数据语言的国际标准,SQL已在商品化的RDBMS中被广泛采用,SQL的国际标准仅仅规定其数据定义、数据查询和控制管理等功能,并不要求它像普通高级语言那样,提供构造程序控制结构所需要的分支和循环等语句,因而有别于完整的程序设计语言。在大多数商品化的RDBMS中,对SQL通常都有两种使用方式。

①自含式(self-contained)SQL:主要供联机使用,适用于非专业人员以交互方式进行建库和查询。

②嵌入式(embedded)SQL:可嵌入诸如C、C++、VisualBasic等高级语言中使用,此时被嵌入的语言称为宿主语言(hostlanguage),适用于专业人员开发完整的DBAS。2.RDBMS的编程接口RDBMS是通过SQL实现数据库的各种操作的,而C、C++、VisualBasic等高级语言原来不具备访问数据库的功能,但如果在C、C++、VisualBasic等语言编写的应用程序与RDBMS之间插入一个编程接口,就可使上述应用程序也支持数据库应用。常见的做法有以下3种。

(1)采用嵌入式SQL

(2)采用API接口

(3)采用ODBC接口3.典型的RDBAS开发环境(1)引入了面向对象程序设计的思想,把数据表、窗口、报表等均定义为对象,并以面向对象的方式进行管理。(2)支持可视化程序设计,能方便地实现“所见即所得”(Whatyouseeiswhatyouget,WYSIWYG)的图形用户界面。

(3)大量提供向导、设计器、生成器等工具,能自动生成所需的应用或应用程序代码,从而减少了用户的编程工作量。

(4)支持C/S开发模式。

(5)支持ODBC编程接口。1.6关系型数据库1.6.1关系型数据库1.关系术语

(1)关系

(2)元组

(3)属性

(4)域

(5)关键字

(6)外部关键字

2.关系运算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论