数据库系统原理复习资料.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.1数据、数据库、数据库管理系统、数据库系统
数据(Data):
描述事物的符号记录。
数据与其语义是不可分的。
数据库(DataBase, DB)
长期储存在计算机内的、有组织的、可共享的数拥集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统(DataBase Management System, DBMS)
位于用户与操作系统Z间的一层数据管理软件。
主要功能包括以下儿个方而:
1•数据定义功能:数据定义语言(Data Definition Language, DDL)
2.数据操纵功能:数据操纵语言(Data Mani pul at io n Language, DML)
3.数据库的运行管理:统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
4.数拥库的建立和维护功能:数据库初始数抓的输入、转换功能,重组织、性能监视、分析功能等
数据库系统(DataBase System, DBS)
指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
数据库管理员(DataBase Administrator, DBA)
1.1. 2 数据管理技术的产生和发展
数据库技术是应数据管理任务的需要而产生的。
数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。
数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。
人工管理阶段(20世纪50年代中期以前)特点:(1)数据不保存(2)应用程序管理数据,数据需要山应用程序向C管理,没冇和应的软件系统负责数据的管理工作。
应用程序中不仅要规定数据的逻辑结构, 而且耍设计物理结构,包括存储结构、存取方法、输入方式等。
因此程序员负相很重。
(3)数据不共享:数据是面向应用的,一组
数据只能对应一个程序。
(4)数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。
文件系统阶段(50年代后期一60年代中期)特点:(1)数据可长
期保存(2)由文件系统管理数据相互独立的数据文件; “按文件名访问,按记录进行存取”的管理技术;记录内的结构性而整体无结构;存取方法转换使应用程序与数据Z间有了一定的独立性:数据在存储上的改变不一定反映在程序上。
(3)数据共享性差,JL
余度大文件仍然是面向应用的;数据的兀余度大;数据的修改
和维护闲难(4)数据独立性差不容易扩充;数据与程序
Z间仍缺乏独立性;是一个无弹性的无结构的数据集合。
数据库系统阶段(60年代一)特点:(1)数据结构化数据结构化是数据库与文件系统的根本区别。
文件系统屮,尽管其记录内部己有了某些结构,但记录之间没有联系。
数据的戢小存収单位是记录。
数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据么间的联系。
数据不再针对其一应用,是而向全组织,具冇整体的结构化。
数据的最小存取单位是数据项。
(2)数据的共享性高,冗余度低,易扩充
而向整个系统的数据库系统中的数据可以被多个用户、多个应用共亨使川。
共亨导致数据冗余度低,同时可避免数据之间的不相容性与不一致性。
容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
(3)数据独立性高
物理独立性是扌旨用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
也就是说,数据在磁盘上的数据库中怎样存储是由DBMS 管理的、用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
数据独立性是由DBMS的二级映象功能来保证的。
(4)数据由DBMS统一管理和控制
数据库的共享是并发的(Concurrency)。
DBMS还必须提供的数据控制功能:
(1)数据的安全性(Security)
(2)数据的完整性(Integrity)正确性、有效性和相容性
(3)并发(Concurrency)控制
(4)数据库恢复(Recovery)
数据库技术的发展是沿着数据模型的主线展开的。
数据模型是现实世界数据特征的抽象。
数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
通俗地讲数据模熨就是现实世界的模拟。
数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。
根据应用的不同H的,数据模型划分为两类:
概念模型(信息模型) 按用户的观点来对数据和信息建模;主耍川于数据库设计。
数据模型
按计算机系统的观点对数据建模;主要包括网状模型、层次模型、关系模型等,主要用丁-DBMS的实现。
1.2.1数据模型的三个要素
1.数据结构是所研究的对象类世的集合。
与数据类熨、内容、性质冇关的对象(例如网状模型中的数据项、记录,关系模型中的域、属性、关系等)。
与数据Z间联系冇关的对彖(例如网状模型中的系型)。
数据结构是对系统静态特性的描述。
数据结构是刻画一个数据模型性质最重要的方面。
2.数据操作是指对数据库中各种对象(型)的实例(值)允许执
行的操作的集介,包括操作及冇关的操作规则。
数据库主要冇检索和更新(包括插入、删除、修改)两人类操作。
数据操作是对系统动态特性的描述
3.数据的约束条件是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具冇的制约和依存规则,用以限定符介数据模型的数据库状态以及状态的变化,以保证数据的正确、冇效、相容。
1.信息世界中的基本概念(1)实体(Entity)
客观存在并可相互区别的事物称为实体。
(2)属性(Attribute) 实体所具有的某一特性称为属性。
一个实体
可以由若干个属性來刻应。
(3)码(Key) 唯一标识实体的属性集称为码。
(4)域(Domain) 属性的取值范围称为该屈性的域。
(5)实体型(EntityTypc) 川实体名及其属性集合来抽象和刻画同类实体,称为实体型。
(6)实体集(Entity Set) 同型实体
的集合称为实体集。
(7)联系(Relationship) 在现实I比界中,事物内部以及事物Z间是有联系的,这些联系在信息吐界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系。
实体之间的联系通常是指不同实体集之间的联系。
两个实
体型Z间的联系可以分为三类:
—-对一联系(1:1),如“班级一班长”
一对多联系(l:n),如“班级一学生”
多对多联系(m:n),如“课程一学生”
1.2.2数据模型
数据库领域斗1最常用的数据模型有四种
层次模型(Hierarchical Model),如IBM 的TMS 系统
网状模型(Network Model),如DBTG系统
关系模型(Relational Model),如Oracle, Sybase
面向对象模型(Object Oriented Model)
模式(schema):是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。
模式的一个具体值称为模式的一个实例(instance) o
同一个模式可以有很多实例;模式是相对稳定的,而实例是相对变动的;模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。
不同的DBMS在体系结构上通常都具冇相同的特征,即采用三级模式结构并提供两级映象功能。
模式(Schema)
也称逻辑模式,是数据库屮全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
它是数据库系统模式结构的中间层
模式实际上是数据库数据在逻辑级上的视图。
一个数据库只冇一个模式。
数据库模式以某一种数据模型为基础,统一综合地考虑了所冇用户的需求,并将这些需求冇机地结合成一个逻辑整体。
模式定义包括数据的逻辑结构定义、数据Z间的联系定义以及安全性、完整性要求的定义。
DBMS捉供模式定义语言(模式DDL)來严格地定义模式。
外模式(External Schema)
也称子模式(Subshema)或用户模式,它是数据库用户(包括应用程序员和垠终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库川户的数据视图,是与某一应用有关的数据的逻辑农示。
外模式通常是模式的子集。
一个数据库可以冇多个外模式。
外模式是保证数据库安全性的一个有力措施。
DBMS提供子模式定义语言(子模式DDL)來严格地定义子模式。
内模式(Internal Schema)
也称存储模式(Storage schema), 一个数据库只有一个内模式。
它是数据物理结构和存储方式的描述,是数据在数据库内部的农示方式。
例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。
DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式。
优点:
数据库的二级映彖保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性。
数据和程序Z间的独立性使得数据的定义和描述可以从应用程序中分离岀去。
另外,由于数据的存取由DBMS管理,川户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
层次数据模型的优缺点优点:
很少儿条命令就能操纵数据库,使用简单;
对于实体间联系是怖I定的,且预先定义好的应用系统,采用层次模型性能优于关系模型;
良好的完整性支持;缺点:
对于多对多联系,通过引入冗余数据解决;
对插入和删除操作限制多;
查询子女结点必须通过双亲结点;
网状数据模熨的优缺点优点:
能够更为直接地描述现实世界;
具冇良好的性能,存取效率较高;
缺点:其DDL (数据定义语言)语言极其复杂;
数据独立性差;
关系数据库的优缺点
优点:建立在严格的数学概念的基础上的;
关系模型的概念单一;
关系模型的存取路径对用户透明,数据独立性高,安全保密性好:
缺点:查询效率不如非关系数据模型;
数据库管理系统
它是数据库系统的核心,是为数据库建立、使用和维护而配置的软件; 建立在操作系统的基础上,位于操作系统与用户Z间的一层数据管理软件;
负责对数据进行同一的管理和控制;DBMS的功能
数据定义:数据操纵:数据库运行管理;数据组织、存储和管理;
数据库的建立和维护;数据通道接口;
DBMS的纽•成:数据定义语言及其翻译处理程序;
数据操纵语言及其编译(或解释)程序;
数据库运行控制程序;
实用程序
1:实体:客观存在并可相互区别的事物。
2:模式:数据库中全休数据的逻辑结构和特征的描述,是所冇用户的公共数据视图。
3:候选码:关系中能唯一地标识一个元组的属性或属性组。
4:函数依赖:设R (U)是属性集U上的关系模式,X, Y是U的了集,
若对于R(U)的任意一个可能的关系r, r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y 或Y函数依赖于X,记为X->Yo
5:事务:用户定义的一个数据库操作序列,这些操作要么全做, 要么全不做,是一个不可分割的工作单位。
1:数据库系统的特点:数据结构化,数据共享性高、兀余度低、易扩充,数据独立性高,数据由DBMS统一管理和控制。
2:查询优化的一般准则:
①选择运算应尽可能先做。
②在执行连接前对关系适当地预处理。
③把投影运算和选择运算同时进行
④把投影同其前或其后的双日运算结合起來。
⑤把某些选择同在它前而要执行的笛卡尔积结合起来成为一个连接运算。
⑥找出公共子表达式。
3:数据库设讣的特点:数据库建设是便件、软件、干件的结介,把结构设计和行为设计密切结合起来。
4:事务的四个特性:原子性、--致性、隔离性和持续性。
1.数据库数据具有—永久存储有组织和可共享—三个基木特点。
2.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:描述事物的符号记录称为数据。
数据的种类冇文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的兀余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统:数据库系统(DBS )是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于川户与操作系统Z间的一层数据管理软件。
用于科学地组织和存储数据、窩效地获取和维护数据。
DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立利维护功能。
3.使用数据库系统仃什么好处?使用数据廂系统的好处是山数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如可以人人提离应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负扌H等。
总Z,使用数据库系统的优点是很多的,既便丁• 数据的集中管理,控制数据冗余,可以提高数据的利川率和一致性,又有利于应用程序的开发和维护。
读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。
4.数据库管理系统是数据库系统的一个重要纽•成部分,它的功能包括数据定义功能数据操纵功能数据库的运行管理数据库的建立和维护功能。
5.数据库系统是指在计算机系统中引入数据库后的系统,一般山数据库数据库管理系统(及英开发工具)应用系统数据库管理员构成。
6•试述文件系统与数据库系统的区別和联系。
件系统与数据库系统的区别:文件系统而向某一应用程序,共享性差、兀余度大,独立性差,纪录内冇结构、整体无结构,应用程序自己控制。
数据库系统面向现实世界,共享性高、冗余度小,具冇高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力
7.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:—人工管理 ______________________ 阶段,文件系统阶段和___________ 数据库系统—阶段。
9.数据库具有数据结构化、址小的—冗余度________________ 、较高的
—数据独立性__________ 等特点。
数据库系统的丄要特点彳j:一、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征也是数据库系统与文件系统的本质区别。
二、数据的共享性髙,兀余度低,易扩充数据库的数据不再面向某个应用而是而向整个系统,因此可以被多个用户、多个应用、川多种不同的语言共亨使川。
三、数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映象功能保证了数据库屮的数据具冇很窩的物理独立性和逻辑独立性。
四、数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
数据库是长期存储在计算机内有组织的大量的共享的数据集合。
它可以供各种用户共亨,具有最小兀余度和较高的数据独立性。
DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复
11 .DBMS还必须提供—数据的安全性____________ 保护、-数据的完整
性_________ 检査、并发控制、数据库恢复等数据控制功能。
12・数据库管理系统的主要功能冇哪些?①数据库定义功能;② 数据存取功能;
③数据库运行管理;④数据库的建立和维护功能。
13.___________________________________________________ 模式(Schema )是数据库中全体数据的—逻辑结构_______________________ 和
_____ 特征的描述,它仅仅涉及到 ____________ 型—的描述,不涉及到具体的值。
14.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
数据模型是数据库屮用來对现实世界进行抽彖的工具,是数据库中用丁•提供倍息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。
这些概念粘确地描述系统的静态特性、动态特性和完整性约束条件。
因此数据模熨通帘山数据结构、数据操作和完整性约束三部分组成。
①数据结构:是所研究的对彖类型的集合,是对系统的静态特性的描述。
②数据操作:是指对数据库屮各种对彖
(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模烈中数据及其联系所具冇的制约和依存规则,用以限定符介数据模型的数据库状态以及状态的变化, 以保证数据的正确、冇效、相容。
15.三级模式Z间的两层映彖保证了数据库系统中的数据能够具有较
高的_逻辑独立性____________ 和_物理独立性____________ 。
16.试述概念模型的作用。
17.根据模型应用的不同目的,可以将这些模型划分为两类,它们分別属于两个不同的层次。
第一类是,第二类是
18・定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E-R图)
19.数据模型的三要素是指 ____________________ , __________ ,
o实际数据库系统中所支持的主婆数据模型是
, _________ , __________ O
20.试述网状、层次数据库的优缺点。
21.试述关系模型的概念,定义并解释以下术语:(1 )关系(2 )属性(3 )
域(4 )元组(5 )主码(6 )分量(7 )关系模式
22.数据模型中的____________ 是对数据系统的静态特征描述,包括
数据结构和数据间联系的描述, _______________ 是对数据库系统的动态
特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。
23.试述关系数据库的特点。
24.用树型结构表示实体类型及实体间联系的数据模型称为模型,上一层的父结点和下一层的子结点之间的联系是的联系。
25.试述数据库系统三级模式结构,这种结构的优点是什么?
26.用冇向图结构表示实体类型及实体间联系的数据模型称为
模型,数据0间的联系通常通过______________ 实现。
27.定义并解释以下术语:DDL、DML
28. __________ 是H前最常用也是最重要的一种数据模型。
采用该模
型作为数据的组织方式的数据库系统称为 _______________ 。
29・关系的完整性约束条件包括三大类:_______________ 、____________ 和。
30.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据廂系统具有数据与程序的独立性?
31.试述数据库系统的组成。
32.DBA的职责是什么?
33.系统分析员、数据库设计人员、应用程序员的职责是什么?
16、概念模型实际上是现实世界到机器|比界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的笫一层抽彖,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
17、概念模型数据模型
18、实体:客观存在并可以相互区分的事物叫实体。
实体型:具冇相同屈性的实体具冇相同的特征和性质,用实体名及其属性名集合來抽彖和刻画同类实体称为实体型。
实体集:同型实体的集合称为实体集。
属性:实体所具有的某-•特性,一个实体可由若下个属性来刻画。
码:唯一标识实体的属性集称为码。
实体联系图:E-R图提供了表示实体羽、属性和联系的方法:?实体型:用矩形表示,矩形框内写明实体名。
?属性:用椭恻形衣示,并用无向边将其与相应的实体连接起來。
?联系:用菱形农示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1, 1 : n或m : n )。
19、数据结构数据操作完整性约束关系模型层次模型网状模型
20、层次模型的优点主要冇:1 )模型简单,对具冇一对多的层次优点;
2 )用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的预先定义好的应用,采用层次模型來实现,其性能优于关系模型;
3 )次数据模型提供了良好的完整性支持。
层次模型的缺点主耍有:1 )现实I比界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系。
只能通过引入兀余数据或引入虚拟结点來解决。
2)对插入和删除操作的限制比较多。
3 )查询子女结点必须通过双亲结点。
网状模型:网状数据模型的优点主要有:1 )能够更为直接地描述现实世界,如一个结点可以有多个双亲。
2 )具有良好的性能,存取效率较高。
网状数据模熨的缺点主要有:1 )结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越來越复杂,不利于最终用户掌握。
2)-K DDL , DML语言复杂,用户不容易使用。
由于记录Z间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。
因此,用户必须了解系统结构的细节,加垂了编写应用程序的负担。
21、关系模型由关系数据结构、关系操作集合和关系完整性约束三部分纽•成。
在用户观点下,关系模型中数据的逻辑结构是一张二维农,它由行和列组成。
(1 )关系:一个关系对应通常说的一张表。
(2 )属性:表中的一列即为一个属性;(3)域:属性的取值范围;(4 )元组:表中的一行即为一个元组;(5)码:表屮的某个属性组,它可以唯一确定一个元组;(6)分量:元组中的一个属性值;(7)关系模式:对关系的描述,一般衣示为关系名(屈性1 ,属性2 , ???, 属性n )。
22、数据结构数据操作
23、关系数据模型具有下列优点:?关系模熨与非关系模型不同,它是建立在严格的数学概念的基础上的。
?关系模型的概念单一。
无论实休还是实体Z 间的联系都用关系衣示。
操作的对彖和操作的结果都是关系。
所以其数据结构简单、清晰,用户易懂易用。
?关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
当然,关系数据模型也冇缺点,其中最主要的缺点是,山于存取路径对用户透明, 查询效率往往不如非关系数据模型。
因此为了提高性能,必须对用户的杳询请求进行优化,增加了开发数据库管理系统软件的难度。
24、层次一对多
25、数据库系统的三级模式结构山外模式、模式和内模式组成。
(参见书上图1.29 )外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的却部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所冇用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部的逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的农示,即对数据的物理结构和存储方式的描述。
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
为了能够在内部实现这三个抽彖层次的联系和转换,数据库系统在这三级模式Z间提供了两层映彖:外模式/模式映彖和模式/内模式映彖。
关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出止是这站层映彖保证了数据库系统屮的数据能够具有较高的逻辑独立。