《数据库系统基础1》由会员分享,可在线阅读,更多相关《数据库系统基础1(81页珍藏版)》请在金锄头文库上搜索。
1、数据库基础理论石油大学(北京)计算机系朱瑛1 1数据库系统基础数据库系统基础第一章 数据库系统概述一、引言二、数据模型三、数据库系统的结构2 2数据库系统基础数据库系统基础1.1 引言一、什么是数据库l数据库是计算机软件的一个重要分支,是近十几年发展起来的一门新兴学科,对于数据库的定义有不同提法。C.J.Date则从三方面描述数据库:存储在外存介质上的数据集合;存在以这种数据为背景运行的若干个批应用程序,对其进行检索、修改、插入和删除,另外可能有一些联机用户从远程终端与数据库相互作用;3 3数据库系统基础数据库系统基础数据库是集成的,即包含许多用户的数据,每个用户只享用其中的小部分,且不同用户
2、使用的部分数据以多种方式重叠即单独的数据片能够被许多不同用户共享;l首先指出,数据库保存的是用于企业和事业部门、团体和个人的有关数据。例如制造公司的生产管理和产品供销数据、银行帐目数据、医院的患者病例数据、学校的教学管理数据、政府部门的管理、统计和计划数据等。4 4数据库系统基础数据库系统基础l特别应该强调的是,设计数据库保存这些数据的目的,不仅仅是为了扩展人们的记忆而主要是帮助人们去控制与之相关的事物。因此,数据库往往不是孤立存在的,通常是一个更大的信息控制系统的一部分,两者关系如图11所示。5 5数据库系统基础数据库系统基础控制决策机构(用户)信息规范化策略客观事物观测机构数据库6 6数据
3、库系统基础数据库系统基础l该图表示,人们从观测客观事物中得到大量信息,对这些信息进行记录、整理和归类(总称规范),然后将规范信息数据化并送入数据库中保存起来,其中一部分信息可直接送入控制决策机构。另一方面,控制决策机构向数据库发出询问,并利用数据库响应后提供的信息(以及其他有关信息)作出决策,再行控制客观事物。7 7数据库系统基础数据库系统基础例如,就一个教学信息控制系统而言,客观事物可指学生、课程、学习情况等,决策控制机构指教学领导机关,策略是提高教学质量的措施。当数据库的管理人员把观测客观事物(学生、课程、学习情况)得到的信息规范化、数据化并送入数据库后,教学领导机关即可通过询问数据库得到
4、学生各门课程的学习情况,根据这些情况,参考其他学校的教学经验,提出改进教学的措施(策略),并在教学中付诸实行(控制客观事物)。8 8数据库系统基础数据库系统基础l图书馆是存储和负责借阅图书的部门;而数据库则是存储数据并负责用户访问数据的机构。正象图书馆不能简单地与书库等同起来一样,我们也不能把数据库仅仅理解为存储数据的集合,而应视为一个系统,即数据库系统。如果把书籍胡乱地堆放在书库中,几乎无法从数以百万册计的浩瀚书海中查找出读者要借的一本书来。因此,没有一套完整的书卡作为图书馆藏书的模型,查借书籍就很困难,管理员也很难掌9 9数据库系统基础数据库系统基础l握藏书全貌。所以如果不知道书卡与书架的
5、对应关系,管理员也难以按借书单找到读书的存放位置。一个图书馆要想很好地为读者服务,必须完成以下工作:建立完善的书卡。书卡的内容和格式常包括:书号(分类号)、书名、作者名、出版社名、出版时间、内容摘要和其他细节。有时为了方便读者,也按不同分类编排书卡,加以书名、作者名或其它为索引进行编排。1010数据库系统基础数据库系统基础图书应有组织地存放在书库中。图书馆藏书数量很大,书库中房间和书架很多,需要按照一定的顺序和规则(物理结构)分放图书,并列出各类书籍存放的对应关系表,使管理人员能按此表快速查找。规定借阅权限。不同类型读者的借阅权限不同。建立周密的借阅管理制度。l对数据库来说,也要完成类似于图书
6、馆的上述工作。1111数据库系统基础数据库系统基础数据库要建立数据模型,使用户可以根据数据模型访问数据库中的数据(如检索、插入、删除和修改),而不必关心数据在数据库中的物理存储位置,就象读者可以按书卡填写借书单,而不用顾及书籍存放在书库的什么位置一样。数据也应有组织地在存放在存储设备上,并建立数据模型到物理存储位置的对应表(这种对应称为映射)。使数据库管理系统能够按照用户的访问请求,找到被访问数据的存储位置。1212数据库系统基础数据库系统基础l建立数据模型和设计数据的物理存储(组织)方法,其目的是使用户对数据的应用与数据的存放位置和存储结构无关,后者的变动不影响前者(正象改变图书的存放位置不
7、影响读者按书卡借书一样),这一点也称为数据独立性,它是数据库的重要特征之一。现用表1.1来归纳数据库与图书馆两者的类似。1313数据库系统基础数据库系统基础1414数据库系统基础数据库系统基础1515数据库系统基础数据库系统基础二、数据库管理的进展l数据管理是指对数据的组织、分类、编码、存储、检索和维护。l计算机数据管理随着计算机硬件(主要是外存储器)、软件技术和计算机应用范围的发展而不断发展,多年来大致经历了如下四个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、分布式数据库系统阶段。1616数据库系统基础数据库系统基础l1.人工管理阶段 .应用程序1数据组1应用程序2数据组2应用程序n数
8、据组n1717数据库系统基础数据库系统基础l这个阶段的特点是:数据不保存 ; 没有软件系统对数据进行管理;没有文件概念;一组数据对应一个程序;1818数据库系统基础数据库系统基础l2.文件系统阶段 应用程序2数据组2应用程序n数据组n存储方法应用程序1数据组11919数据库系统基础数据库系统基础l这个阶段的优点:程序与数据有一定的独立性;数据与程序之间有设备独立性,即程序只需用文件名访问数据,不必关心数据的物理位置;l这个阶段的缺点:数据冗余度大;数据缺乏独立性;数据无法集中管理;2020数据库系统基础数据库系统基础l3.数据库系统阶段数据库 数据库管理系统 . . . .应用程序1应用程序2
9、2121数据库系统基础数据库系统基础l这个阶段的特点:在描述数据时不仅描述数据本身,还要描述数据之间的联系;数据盈余度小,易扩充;具有较高的数据和程序的独立性;提供三方面的数据控制功能:安全性、完整性、并发;数据的最小存取单位是数据项;2222数据库系统基础数据库系统基础l4.分布式数据库系统阶段l这阶段以前的数据库系统大部分是集中式的。在文件系统阶段,数据是分散在各个文件中,文件之间无联系。而集中式数据库把数据集中在一个数据库中,集中管理,减少了冗余和不一致性,而且数据联系比文件系统强得多。但集中式系统也有弱点,一是系统相当庞大,操作复杂,开销大,二是处理不同领域问题时显得不够灵活。2323
10、数据库系统基础数据库系统基础l此外,由于数据集中存储,大量的通信都要通过主机,造成拥挤现象,因此随着小型机和微型机的普及,随着计算机网络软件和远程通信的发展,分布式数据库系统崛起了。l这个阶段的特点:局部自主;可靠性和可用性;效率和灵活性。2424数据库系统基础数据库系统基础2525数据库系统基础数据库系统基础三、信息的三个领域在数据处理中将涉及不同的范畴。从事物的特性到计算机里的具体表示,实际上经历了三个领域一一现实世界、信息世界和机器世界。2626数据库系统基础数据库系统基础l1现实世界l存在于人们头脑之外的客观世界,称为现实世界。l例如,仓库管理中首先涉及的是货物的管理,包括货物的存放、
11、货物的进出、货物的检查等等。这里就可能有许多报表、图表,都是数据库系统接触到的最原始的数据。2727数据库系统基础数据库系统基础l2信息世界l信息世界是现实世界在人们头脑中的反映,人们把它用文字和符号记载下来。实体(entity):客观存在并且可以相互区别的东西称为实体。实体可以是可触及的对象,例如一个男学生,一辆汽车等。也可以是抽象的事件,如一次足球比赛,一次借书等。实体集(entity set):性质相同的同类实体的集合,称为实体集。例如所有的男学生,全国足球锦标赛的所有比赛等。2828数据库系统基础数据库系统基础属性(attributes):实体有很多特性,每一个特性称为属性。每个属性有
12、一个值域,值域的类型可以是整数型、实数型或字符串型等。例如学生有姓名、年龄、性别等属性,相应值域的类型分别是字符串、整数和字符串型。码(key):能唯一标识实体集中每个实体的属性或属性集称为实体的码,也称标识符。例如学生的姓名(不允许重名)可以作为学生实体的码。2929数据库系统基础数据库系统基础l3.机器世界l信息世界的信息在机器世界中以数据形式存储。字段:标识实体属性的符号集称为字段,或数据项。它是可以命名的最小信息单位。例如学生有学号、姓名、年龄、性别等字段。记录:字段的有序集合称为记录。一般用一个记录描述一个实体,所以记录又称为能完整地描述一个实体的符号集。例如一个学生的记录,由有序字
13、段集组成:(学号、姓名、年龄、性别)。3030数据库系统基础数据库系统基础文件:同一类记录的汇集称为文件。文件是描述实体集的,所以它又可定义为描述一个实体集的所有符号集。例如所有的学生记录组成了一个学生文件。关键字:能唯一标识文件中每个记录的字段或字段集称为文件的关键字,也称码。3131数据库系统基础数据库系统基础1.2数据模型描述数据的组织结构和关系,根据不同的目的采用两种模型:l概念模型是将现实世界中的客观对象抽象为一种信息结构,这种信息结构不依赖于具体的计算机系统。l数据模型是数据库系统中用于提供信息表示和操作手段的形式构架。3232数据库系统基础数据库系统基础一、模型的三要素任何一种数
14、据模型都是严格定义的概念的集合。这些概念必须能够精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常都是由数据结构、数据操作和完整性约束三个要素组成。3333数据库系统基础数据库系统基础l1.数据结构l是所研究的对象类型的集合。这些对象是数据库的组成部分。可分为两类:一类是与数据类型、内容、性质有关的对象;一类是与数据之间联系有关的对象。3434数据库系统基础数据库系统基础l2.数据操作l是指对数据库中各对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。3535数据库系统基础数据库系统基础l3.数据的
15、约束条件l是完整型规则的集合。完整型规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。3636数据库系统基础数据库系统基础二、概念模型概念模型是设计数据库的先导,因为它是确定数据库包含哪些信息内容的关键。为了使数据库的设计不至由于考虑欠周须大量修改或推倒重来,设计者必须与用户合作,开列用户问题表,而后对现实世界中所需考虑的客观事物及其联系进行模拟,建立一个正确反映客观事实的概念模型。3737数据库系统基础数据库系统基础l1.对象与属性l在信息世界中,我们用实体描述客观事物。实体可分成“对象”与“属性”两大类。
16、如人、车、学校描述的是对象,又如张三、第一汽车制造厂、北京大学是表示对象的某种特征。3838数据库系统基础数据库系统基础l2.个体与总体l实体又分为两级,一级是个体,指单个的能互相区别的特定实体,如“张三”、“北京大学”;另一级是“总体”,泛指某一类个体组成的集合。如“人”泛指张三、李四等个体组成的集合;“学校”泛指北大、清华等组合。概括地说,对象与属性的联系是对象内部的联系,而个体与总体的联系是外部联系。3939数据库系统基础数据库系统基础l3. 总体之间的联系l设有两个均包含有若干个体的总体A、B,其间建立了某种联系。可将联系方式分为如下三种:一对一联系如果A中的任一个体至多对应于B中的一
17、个个体;反之,B中的任一个体,至多对应放A中的一个个体,则称A对B是一对一的联系(1:1)。4040数据库系统基础数据库系统基础专业系领导领导系主任专业系系主任系代码名称电话职工号姓名114141数据库系统基础数据库系统基础一对多联系如果A中至少有一个个体对应于B中一个以上个体;反之,B中任一个体至多对应于A中一个个体,则称A对B是一对多联系(1:m)。例如,省对县、学校对系、班级对学生等都是一对多联系。4242数据库系统基础数据库系统基础 专业系 学习 学习 学生 学生学号姓名专业系系代码名称电话年龄性别m14343数据库系统基础数据库系统基础多对多联系如果A中至少有一个个体对应于B中一个以
18、上个体;反之B中也至少有一个个体对应于A中一个以上个体,则称A对B是多对多联系(n:m)。例如,学生与课程、工厂与产品、商店与顾客等都是多对多联系。4444数据库系统基础数据库系统基础 学生 课程学生成绩单课程成绩单 选课学生选课学生 课程姓名学号年龄性别课程号名称学号课程号得分mn4545数据库系统基础数据库系统基础l概念模型的表示方法很多,其中最常用的是P.P.Chen于1976年提出的实体联系方法(entity-relationship approach)。E-R图提供了表示实体型、属性、联系的方法。实体型用矩形表示,属性用椭圆形表示,联系用菱形表示。考察和研究了客观事物及其联系后,即可
19、着手建立概念模型进行描述。在模型中,实体要逐一命名以资区别,并描述其间的各种联系。现以教学情况为例来建立概念模型。4646数据库系统基础数据库系统基础l假设有5个实体型,即学生、班级、课程、教师、参考书分别具有以下属性:学生:学号、姓名、性别、年龄班级:班级编号、所属专业课程:课程号、课程名、学分 教师:职工号、姓名、性别、年龄、职称参考书:书号、书名、内容提要、价格 4747数据库系统基础数据库系统基础l教学情况可由学生、课程、教师、选修、讲授等方面的情况组成。学生对课程是多对多联系,因为一个学生可以学习多门课程,而一门课程又有多个学生学习。教师对课程假设是一对多联系,即一个教师可以讲授多门
20、课程,但一门课程至多只能由一个教师讲授(同一门课程分别由不同教师开课时,可看作几门课,它们的课程名相同,但课程号不同。)如下图所示,用E-R图描述教学概念模型。4848数据库系统基础数据库系统基础课程教师参 考书学生班级讲授 成绩学生人数选 修领导组 成1nmnm1nn14949数据库系统基础数据库系统基础 学号 性别姓名 年龄 职工号 姓名 性别 年龄 职称 书名 书号 内容提要 价格 课程号 课程名 学分 班级编号 所属专业系学生课程教师参考书班级5050数据库系统基础数据库系统基础三、几种数据模型 数据模型是数据库系统中用于提供信息表示和操作手段的形式构架。在数据库系统中通常按照数据结构
21、的类型来命名数据模型。有三种主要的数据模型:l层次模型l网状模型l关系模型5151数据库系统基础数据库系统基础l1.层次模型用树形结构来表示实体之间联系的模型叫层次模型。这样的树是由结点和连线组成的。结点表示实体集,连线表示相连两实体之间的关系。这种关系只能是1:m关系。通常把表示l的实体放在上方,称为父结点,而表示m的实体放在下方,称为子结点。树的最高位置上只有一个结点,称为根。根以外的其他结点都有一个父结点,同时可能有一个或多个子结点与它相连。没有子结点的结点称为叶,它处于分支的末端。5252数据库系统基础数据库系统基础教研室 课程教 师系5353数据库系统基础数据库系统基础l2.网络模型
22、如果取消层次模型中的二个限制,即每一个结点可以有多个父结点,便形成了网络,又称为丛。我们把用丛结构来表示实体之间联系的模型叫网络模型。由于网络模型没有层次模型的限制,所以用它可以直接表示m:n关系。网络模型和层次模型在本质上是一样的。从逻辑上看它们都是用连线表示实体间的联系,用结点表示实体集;从物理上看,层次模型和网络模型都5454数据库系统基础数据库系统基础是用指针来实现两个文件之间的联系。其差别在于网络模型中的连线或指针更加复杂,更加纵横交错。5555数据库系统基础数据库系统基础 系 专业 学生社团5656数据库系统基础数据库系统基础l3.关系模型用表格数据来表示实体和实体间联系的模型叫关
23、系模型。 在层次模型和网络模型中,文件中存放的是数据,各文件之间的联系是通过指针来实现的。而关系模型中,文件存放两类数据: 实体本身;实体本身;实体间的联系。实体间的联系。5757数据库系统基础数据库系统基础5858数据库系统基础数据库系统基础关系模型是数字化的,它把数据看成二维表中的元素,而这个表就是关系。表中的每一行是一个元组,它相当于一个记录值。每一列是一个属性值集,列可以命名,称为属性名。属性名的取值范围叫域(Domain)。关系是元组的集合。如果表有n列,则称该关系为n元关系。5959数据库系统基础数据库系统基础属性(列)1, 2,3主码4,5 学号姓名 年龄性别系年级8202001
24、 张平 18 男 计算机 28202002 王英 17女 计算机 2 . . . . .8203001杨阳 16女物理 18203010 李强 15 男 物理 18203020 王斌 16男 物理 1 元组整数字符串域6060数据库系统基础数据库系统基础1.3数据库系统的结构一、数据库的体系结构数据库系统的体系结构是数据库系统的一个总的框架,它具有三级模式的结构特征。数据库系统的三级模式结构由外模式、模式、内模式组成。如图下所示。6161数据库系统基础数据库系统基础 子模式 外模式/模式映象 逻辑模式 模式/内模式映象 存储模式 数据库应用A应用B应用C应用D应用D 模式1 模式2模式3 模
25、式内模式6262数据库系统基础数据库系统基础数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了实现这三个抽象层次的联系和转换,数据库系统在这三级模式中提供了两层映象:外模式/模式映象,模式/内模式映象。6363数据库系统基础数据库系统基础l1.外模式是数据库用户看到的数据视图。l2.模式是数据库中全体数据的逻辑结构和特性的描述。l3.内模式是数据在数据库系统内部的表示。l模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。6464数据库系统基础数据库系统基础4.
26、二级映象l外模式/模式映象(保证数据的逻辑独立性)指由系统提供数据的总体逻辑结构和面向某个具体应用的局部逻辑结构之间的映象和转换功能,当数据总体逻辑结构改变时,通过映象保持局部逻辑结构不变,从而应用程序也不需要修改。6565数据库系统基础数据库系统基础模式/内模式映象(保证数据的物理独立性)指当数据的存储结构改变时,由系统提供数据指当数据的存储结构改变时,由系统提供数据的物理结构与逻辑结构之间映象或转换功能,的物理结构与逻辑结构之间映象或转换功能,保持数据的逻辑结构不变,从而应用程序不保持数据的逻辑结构不变,从而应用程序不需要修改。需要修改。6666数据库系统基础数据库系统基础用户的局部数据库
27、的整体数据逻辑结构 数据逻辑结构数据库的物理结构 逻辑独立性 物理独立性6767数据库系统基础数据库系统基础二、数据库系统数据库系统是指引进数据库技术后的计算机系统。例如,一个以数据库为基础的管理信息系统,这类系统由五部分组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户,如图下所示。6868数据库系统基础数据库系统基础 应用系统应用开发工具软件 专业用户DBMS操作系统 最终用户硬件6969数据库系统基础数据库系统基础l1硬件系统运行数据库系统的计算机需要有足够大的内存、足够大容量的磁盘等联机直接存取设备和较高的通道能力以支持对外存的频繁访问。还需要足够数量的脱机存储介
28、质,如软盘、磁带存放数据库备份。l2.数据库集合系统包括若干个设计合理、满足应用需求的数据库。7070数据库系统基础数据库系统基础l3.系统软件数据库管理系统(DBMS)是为数据库的建立、使用和维护而配置的软件。它是数据库系统的核心组成部分。l4.数据库管理员对于较大规模的数据库系统必须有人全面负责建立、维护和管理。承担此任务的人员称为数据库管理员DBA(Database Administrator)。数据库管理员的职责包括:定义并存储数据库的内容,监督和控制数据7171数据库系统基础数据库系统基础库的使用,负责数据库的日常维护、必要时重新组织和改进数据库。l5.用户数据库系统的用户分为两类。
29、一类是最终用户,主要对数据库进行联机查询或通过数据库应用系统提供的界面来使用数据库。这些界面包括菜单、表格、图形和报表。另一类是专业用户,即应用程序员。他们负责设计应用系统的程序模块,对数据库进行操作。7272数据库系统基础数据库系统基础三、数据库管理系统数据库管理系统作为数据库系统的核心软件,其主要目标是使数据成为方便用户使用的资源,易于为各种用户所共享,并增进数据的安全性、完整性和可用性。数据库管理系统的主要功能是:7373数据库系统基础数据库系统基础l1.数据库的定义功能提供数据定义语言DDL(Data Description Language)或者操作命令以便对各级数据模式进行精确的描
30、述。由此,系统必须包含DDL的编译或解释程序。用DDL所作的定义将被系统保留在数据字典中,以便在进行数据操纵和控制时使用,用户可以查阅数据定义以便共享数据库中的数据。7474数据库系统基础数据库系统基础l2数据操纵功能为了对数据库中的数据进行追加、插入、修改、删除、检索等操作,DBMS提供的语言或者命令称为数据操纵语言DML(Data Manipulation Language)。不同的DBMS语言的语法格式也不相同,以其实现方法而言,可分为两个类型。一类是DML可以独立交互式使用,不依赖于任何程序设计语言,称为自含型或自主型语言。另一类是宿主型DML,嵌入到宿主语言中使用。如嵌入FORTRA
31、N、COBOL、C等程序设计语言中。7575数据库系统基础数据库系统基础l3.数据库运行控制功能数据库中的数据是提供给多个用户共享的,用户对数据的存取可能是并发的,即多个用户同时使用同一个数据库。DBMS必须提供以下三方面的数据控制功能:并发控制并发控制数据的安全性控制数据的安全性控制数据的完整性控制数据的完整性控制7676数据库系统基础数据库系统基础l4、数据字典(DD)l数据字典中存放着对实际数据库各级模式所作的定义,即对数据库结构的描述。这些数据是数据库系统中有关数据的数据,称之为元数据。数据字典提供了对数据库数据描述的集中管理手段,对数据库的使用和操作都要通过查阅数据字典来进行。数据字
32、典可以看作是数据库系统自身的小数据库。7777数据库系统基础数据库系统基础l数据字典的任务是:描述(或定义)数据库系统的所有对象,并确定其属性。例如:一个模式包含的记录类型与一个记录类型包含的数据项;一个用户的标识、口令;一个物理文件的名称、物理位置、文件组织方式等。数据字典描述时给每个对象一个唯一标号(称为内码),以资区别。描述数据库系统对象之间的交叉联系。如哪个用户使用哪个子模式;哪个模式或记录类型分配在哪些区域或对应于哪些物理文件,存储在哪个物理设备上等。7878数据库系统基础数据库系统基础登记所有对象、属性的自然语言含义。如每个对象、属性的英语意义对应表。 保留数据字典变化的历史,供需要时查阅。7979数据库系统基础数据库系统基础本章小结本章小结 这一章,我们介绍了什么是数据库和计算机数据管理发展的四个阶段(人工管理阶段、文件系统阶段、数据库系统阶段和分布式数据库系统阶段);数据模型及数据模型三要素、概念模型及数据和数据联系的描述方法E-R图;数据库系统的结构及组成、DBMS的主要功能。8080数据库系统基础数据库系统基础作业4,6,7,8,98181数据库系统基础数据库系统基础