数据库复习资料.docx
- 文档编号:5086696
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:9
- 大小:22.58KB
数据库复习资料.docx
《数据库复习资料.docx》由会员分享,可在线阅读,更多相关《数据库复习资料.docx(9页珍藏版)》请在冰豆网上搜索。
数据库复习资料
数据库原理
1.1试述数据、数据管理、数据库管理系统、数据库的概念。
数据:
描述事物的符号记录成为数据,如数值数据、文本数据和多媒体数据〔如图形、图像、音频和视频〕等。
数据管理:
是对数据进展有效的分类、组织、编码、存储、检索、维护和应用,它是数据处理的中心问题。
数据库管理系统:
是由一个相互关联的数据的集合和一组用以访问、管理和控制这些数据的程序组成。
数据库是长期储存在计算机内、有组织的、可共享的数据集合。
1.4什么是数据独立性?
数据独立性又分为哪两个层次?
为什么需要数据独立性?
数据独立性是用来描述数据及应用程序之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低那么独立性越高。
数据独立性又分为外模式/模式映像、模式/内模式映像两个层次。
数据的独立性把数据的定义从应用程序中别离出来,加上存取数据的方法又由数据库管理系统负责提供,从而大大简化了应用程序的编写,并减少了应用程序的维护代价。
1.6什么是数据模型?
数据模型的根本要素有哪些?
为什么需要数据模型?
数据模型是一个描述数据语义、数据及数据之间联系〔数据构造〕、数据操作,以及一致性〔完整性〕约束的概念工具的集合。
数据模型的根本要素:
1、数据构造;2、数据操作;3、数据的完整性约束条件。
由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据。
也就是把现实世界中具体的人、物、活动、概念等用数据模型这个工具来进展抽象、表示和处理。
1.7为什么数据模型要分为概念模型、逻辑模型和物理模型3类?
试分别解释概念模型、逻辑模型和物理模型。
数据模型应满足3方面的要求:
一是能比拟真实地模拟现实世界;二是容易被人所理解;三是便于在计算机上实现。
一种数据模型要很好地同时满足这3方面的要求是很困难的,因此数据库管理系统针对不同的使用对象和应用目的,分别采用概念模型、逻辑模型和物理模型。
概念模型:
概念层次的数据模型称为概念数据模型,它按用户的观点或认识对现实世界的数据和信息进展建模,主要用于数据库设计。
逻辑模型:
逻辑层是数据抽象的中间层,用于描述数据库数据的整体逻辑构造。
物理模型:
物理层是数据抽象的最底层,用来描述数据的物理存储构造和存取方法。
1.9关系模型的主要优点有哪些?
关系数据模型具有以下优点:
(1)关系模型建立在严格的数学概念的根底之上,有关系代数作为语言模型,有关系数据理论作为理论根底。
(2)关系模型的概念单一。
无论实体还是实体之间的联系都是用关系来表示,对数据的操作结果还是关系。
所以其数据构造简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的平安保密性,也简化了程序员的工作,提高了软件的开发和维护效率。
1.10为什么数据库管理系统要对数据进展抽象?
分为哪几级抽象?
一个商用的数据库管理系统必须支持高效的数据检索。
这种高效性的需求促使设计者在数据库管理系统中使用复杂的数据构造来表示和存储数据。
由于许多数据库管理系统的用户并未受过计算机专业训练,系统开发人员就通过多个层次上的抽象来实现对用户屏蔽复杂性,以简化用户及系统的交互。
分为物理层抽象、逻辑层抽象和视图层抽象。
1.11试解释数据库的三级模式构造和两层映像。
为什么数据库管理系统要提供数据库的三级模式构造和两层映像?
数据库的三级模式是指数据库管理系统提供的外模式、模式和内模式3个不同抽象级别观察数据库中数据的角度。
模式也成为逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑构造和特征的描述,是所有用户的公共数据视图。
外模式也称为子模式或用户模式,对应于视图层数据抽象,它是数据库用户〔包括应用程序员和最终用户〕能够看见和使用的局部数据的逻辑构造和特征的描述,是数据库用户的数据视图,是及某一具体应用有关的数据的逻辑表示。
内模式也称存储模式,对应于物理层数据抽象,它是数据的物理构造和存储方式的描述,是数据在数据库内部的表示方式。
两层映像是指外模式/模式映像和模式/内模式映像。
模式描述的是数据的全局逻辑构造,外模式描述的是数据的局部逻辑构造。
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑构造及存储构造之间的对应关系。
数据库的三级模式是对数据的3个级别的抽象,它将数据的具体组织留给DBMS管理,使用户能够逻辑地、抽象地对待和处理数据,而不必关心数据在计算机中的具体表示方式及存储方式。
为了能够在系统内部实现这3个抽象层次的联系和转换,DBMS在这三级模式之间提供了两层映像:
外模式/模式映像、模式/内模式映像。
正是这两层映像保证了数据库管理系统中的数据能够具有较高的逻辑独立性和物理独立性。
1.13数据库管理系统的主要组成局部有哪些?
主要功能有哪些?
数据库管理系统主要由数据库以及查询处理器、存储管理器和事物管理器等局部组成。
数据库管理系统的主要功能包括:
〔1〕数据定义,提供了数据定义语言DLL;〔2〕数据组织、存储和管理;〔3〕数据操纵,提供了数据操纵语言DML;〔4〕数据库的事物管理和运行管理;〔5〕数据库的建立和维护等。
1.14试述数据库系统的组成、DBA的主要职责。
数据库系统一般由数据库、数据库管理系统〔及其开发工具〕、应用系统、数据库管理员和
构成。
负责全面地管理和控制数据库系统。
具体职责包括:
〔1〕决定数据库中的信息内容和构造;〔2〕决定数据库的存储构造和存取策略;〔3〕定义数据的平安性要求和完整性约束条件;〔4〕监控数据库的使用和运行;〔5〕数据库的改良和重组重构。
2.1简述如下概念,并说明它们之间的联系及区别。
〔1〕域,笛卡儿积,关系,元组,属性。
域:
域是一组具有一样数据类型的值得集合。
笛卡儿积:
给定一组域D1,D2,…,Dn,这些域中可以有一样的域。
这组域的笛卡儿积为
D1*D2*…*Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
其中,每个元素〔d1,d2…,dn〕称为一个n元组〔n-tuple〕。
元素中的每一个值di称为一个分量〔component〕。
关系:
在域D1,D2,…,Dn上,笛卡儿积D1*D2*…*Dn的子集称为关系,表示为
R(D1,D2,…,Dn)
元组:
关系中的每个元素是关系中的元组。
属性:
关系也是一个二维表,表的每行对应于一个元组,表的每列对应于一个域。
由于域可以一样,为了加以区分,必须为每列起一个名字,称为属性。
〔2〕超码,候选码,主码,外码。
超码:
对于关系R的一个或多个属性的集合。
如果属性集A可以唯一地标识关系R中的一个元组,那么称属性集A为关系R的一个超码。
候选码:
假设关系中的某一属性组的值能唯一地标识一个元组,那么称该属性组为候选码。
主码:
假设一个关系有多个候选码,那么选定其中一个为主码。
外码:
设F是根本关系R的一个或一组属性,但不是关系R的码,如果F及根本关系S的主码Ks相对应,那么称F是根本关系R的外码。
根本关系R称为参照关系,根本关系S称为被参照关系或目标关系。
关系R和S可以是一样的关系。
〔3〕关系模式,关系,关系数据库。
关系模式:
关系的描述称为关系模式,可以形式化地将其表示为R〔U,D,dom,F〕其中,R为关系名,U为组成该关系的属性名集合,D为属性组U中属性值所来自的域,dom为属性向域的映像集合,F为属性间数据的依赖关系集合。
关系:
在域D1,D2,…,Dn上,笛卡儿积D1*D2…*Dn的子集称为关系,表示为
R〔D1,D2,…,Dn〕
关系式关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系式动态的、随实际而不断变化的,因为关系操作在不断地更新数据库中的数据。
关系数据库:
关系数据库也有型和值之分。
关系数据库的型也成为关系数据库模式,是对关系数据库的描述,它包括假设干域的定义及在这些域上所定义的假设干关系模式。
关系数据库的值是这些关系模式在某一时刻所对应的关系的集合,通常称为关系数据库。
2.2为什么需要空值null
对于一个关系而言,一个最根本的要求是它的每个属性的域必须是原子的。
空值是所有可能的域的一个取值,说明值未知或不存在。
2.6试述等值连接及自然连接的区别及联系。
〔1〕自然连接一定是等值连接,但等值连接不一定是自然连接。
〔2〕等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
〔3〕等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
2.8对于图2-8所示的成绩管理数据库ScoreDBoss的模式导航图,根据图2-11所示的实例数据,试写出如下查询的关系代数表达式,并给出其查询结果。
〔1〕查找籍贯为“上海〞的全体学生。
σnation=’上海’〔Student〕
〔2〕查找1992年元旦以后出生的全体男同学。
σyear(birthday)>=1992Λsex=’男’〔Student〕
〔3〕查找信息学院非汉族同学的学号、姓名、性别及民族。
∏studentNo,studentName,sex,nation(σinstitute=’信息学院Λnation!
=’汉’(Student∞Class))
〔4〕查找08-09学年第二学期〔08092〕开出的课程的编号、名称和学分。
∏courseNo,courseName,creditHour(σterm=’08092’(Score∞Course))
〔5〕查找选修了“操作系统〞的学生学号、成绩及姓名。
∏studentNo,score,studentName(σcourseName=’操作系统’〔Student∞Score∞Course〕)
2.9对于图2-10所示的学生选课数据库SCDB的模式导航图,试写出如下查询的关系代数表达式。
〔1〕查找2021级蒙古族学生信息,包括学号、姓名、性别和所属班级。
∏studentNo,studentName,sex,className(σnation=’蒙古族’Λgrade=’2021’(Student∞Class))
〔2〕查找“C语言程序设计〞课程的课程号、上课时间以及上课地点
∏courseNo,time,location(σcourseName=’C语言程序设计’(Course∞CourseClass∞SC))
3.1查询1991年出生的读者姓名、工作单位和身份证号。
〔有问题〕
SELECTreaderName,workUnit,identitycardFROMBookWHERE
3.2查询在信息管理学院工作的读者编号、姓名和性别。
SELECTreaderNo,readerName,sexFROMReaderWHEREworkUnit=’信息管理学院’
“数据库〞的图书的详细信息。
SELECT*FROMBookWHEREbookNameLIKE‘%数据库%’
3.4查询吴文君教师编写的单价不低于40元的每种图书的图书编号、入库数量。
SELECTbookNo,shopNumFROMBookWHEREprice>=40
3.5查询在2005-2021年之间入库的图书编号、出版时间、入库时间和图书名称,并按入库时间排序输出。
SELECTbookNo,publishingDate,shopDate,bookNameFROMBook
WHEREshopDate>=2005ANDshopDate<=2021
ORDERBYshopDate
3.6查询借阅了001~000029图书编号的读者编号、图书编号、借书日期。
SELECTreaderNo,bookNo,borrowDateFROMBorrow,Reader
WHEREBook.readerNo=Reader.readerNoANDbookNoBETWEEN001AND000029
3.7查询没有借阅图书编号以001开头的读者编号和姓名。
SELECTBook.readerNo,readerNameFROMBorrow,Reader
WHEREbookNoNOTLIKE‘001%’
3.8查询读者马永强借阅的图书编号、图书名称、借书日期和应归还日期。
SELECTBookClass.bookNo,bookName,borrowDate,shouldDateFROMBookClass,Reader
WHEREBook.bookNo=Borrow.bookNoANDReader.readerNo=Borrow.readerNo
ANDreaderName=’马永强’
3.26创立一个视图,该视图为所借图书的总价在150元以上的读者编号、读者姓名和所借图书的总价。
CREATEVIEWTP
AS
SELECTreaderNo,readerName,sum(price)astprice
FROMBook,BookClass
ANDtprice>=150
3.27创立一个视图,该视图为年龄在25~35之间的读者,属性列包括读者编号、读者姓名、年龄、工作单位、所借图书名称和借书日期。
〔有问题〕
CREATEVIEWAGE
AS
SELECT
3.28创立一个视图,该视图仅包含“清华大学出版社〞在2021-2021年出版的“计算机类〞的图书根本信息。
CREATEVIEWQHCB
AS
SELECT*
FROMBookClass,Book
WHEREBookClass.classNo=Book.clasNoANDpublishingName=’清华大学出版社’
ANDpublishingDateBETWEEN2021AND2021
3.29对由题3.28所建立的视图进展插入、删除和更新操作。
插入:
INSERTINTOVIEW_NAMEVALUES(列值1,列值2,…,列值n)
删除:
DELETEFROM视图名WHERE逻辑表达式
更新:
UPDATE视图名
SET列1=列值1
列2=列值2
……
WHERE逻辑表达式
3.30将入库数量最多的图书单价下调5%
UPDATETABLEBook
setprice=price*(1-5%)
WHEREshopNum>ALL
4.3假定一个销售公司的数据库包括一下信息。
〔1〕职工信息:
职工号、姓名、、地址和所在部门;
〔2〕部门信息:
部门号、部门所有职工、经理和销售的产品;
〔3〕产品信息:
产品名、制造商、价格、型号及产品内部编号;
〔4〕制造商信息:
制造商名称、地址、生产的产品号和价格。
试画出该公司的E-R图,并转化为关系模式。
【例5.8】r(R)和F定义同例5.7,判断AG是否为r(R)的候选码。
例5.7已计算出〔AG+〕=ABCGHI,那么还要进一步分别计算A+和G+。
经计算得,A+=ABCH、G+=G,它们都不包含R的所有属性,因此AG为r(R)候选码。
【例5.13】r(R)=r(A,B,C),F={AB,BC}。
r(R)的候选码为A,r(R)∉BCNF,因此函数依赖BC中的决定属性B不是超码。
【例5.14】r(R)=r(A,B,C),F={ABC,CA}。
r(R)的候选码为AB或BC,r(R)∈BCNF,因为两个函数依赖中的决定属性AB或是BC都是r(R)的候选码。
【例5.16】r(R)=r(A,B,C),F={AB,BC}。
r(R)的候选码为A,r(R)∉3NF且r(R)∉BCNF。
【例5.17】r(R)=r(A,B,C),F={ABC,CA}。
r(R)的候选码为AB或BC,r(R)∈3NF但r(R)∉BCNF。
【例5.18】r(R)=r(A,B,C),F={ABC,BCA}。
r(R)的候选码为AB或BC,r〔R〕∈3NF且r(R)∈BCNF。
8.2查询代价如何度量?
为什么?
查询处理的代价可以通过该查询对各种资源的使用情况进展度量,主要包括磁盘存取时间和执行一个查询所用CPU时间以及在并行/分布式数据库系统中的通信开销等。
由于磁盘存取比内存操作速度慢且大型数据库的数据量打,因此通常忽略CPU时间,而仅仅用磁盘存取代价来度量查询执行方案的代价。
对于磁盘存取代价,可以通过传输磁盘块数以及搜索磁盘次数来度量。
例如一个传输b块并作S次磁盘搜索的操作耗时b*tT+S*tSms,其中tT表示传输一块数据的平均耗时,ts表示搜索一次磁盘的平均定位时间〔包括搜索时间加旋转时间〕。
8.8为什么需要查询优化?
什么是查询执行方案?
查询优化器的输入和输出分别是什么?
处理一个给定的查询,尤其是复杂的查询,通常会有许多种策略。
查询优化就是从这许多策略中找出最有效的查询执行方案的处理过程。
不期望用户能够写出一个能高效处理的查询,而是期望RDBMS能够构造并旋转出一个具有最小查询执行代价的查询执行方案。
查询执行方案是指用于执行一个查询的原语操作序列。
查询优化器的输入和输出分别是……
9.1列级约束和元组约束的区别在哪里?
如果定义列级的同时定义约束条件,那么为列级约束;如果单独定义约束条件,那么为元组级的约束。
9.2由用户定义约束名称有什么好处?
用户命名有两点好处:
一是便于理解约束的含义;二是修改约束方便,不必查询数据字典。
9.4阐述数据库管理系统如何实现完整性约束。
为了实现完整性约束,数据库管理系统必须提供:
〔1〕定义完整性约束条件的机制。
〔2〕提供完整性检查方法。
〔3〕违约处理。
假设发现用户操作违背了完整性约束条件,应采取一定的措施,如拒绝操作等。
9.5如果一张表有多种完整性约束,请分析系统按什么顺序来检查这些约束,当其中某个约束违反时,系统如何处理?
〔前半局部解答有问题〕
当插入或对主码列进展更新操作时,关系数据库管理系统按照实体完整性规那么自动进展检查。
关于参照完整性,对参照表和被参照表进展修改操作有可能会破坏参照完整性,系统首先会检查是否违反了参照完整性,如果违反了,那么进展违约处理。
对于违反实体完整性和用户定义的完整性的操作,一般都采用拒绝执行的方式进展处理。
而对于违反参照完整性的操作,并非都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。
10.1什么是事务的ACID特性?
DBMS分别是如何保证这些特征的?
事务ACID特性是指:
〔1〕原子性,即事务的所有操作要么全部都被执行,要么都不被执行。
〔2〕一致性,即一个单独执行的事务应保证其执行结果的一致性,即总是将数据库从一个一致性状态转化到另一个一致性状态。
〔3〕隔离性,即当多个事务并发执行时,一个事务的执行不能影响另一个事务,即并发执行的各个事务不能相互干扰。
〔4〕持久性,即一个事务成功提交后,它对数据库的改变必须是永久的,即使随后系统出现故障也不会收到影响。
原子性也称为故障原子性或可靠性,它是由DBMS通过撤销未完成事务对数据库的影响来实现的。
一致性是指单个事务的一致性,也称为并发原子性或正确性,它是由编写该事务代码的应用程序员负责,但有时也可利用DBMS提供的数据库完整性约束〔如触发器〕的自动检查功能来保证。
隔离性也称为执行原子性或可串行化,可以看做是多个事务并发执行时的一致性或正确性要求,其正确性由DBMS的并发控制模块保证。
而持久性那么是利用已记录在稳定存储介质中〔如磁盘〕的恢复信息〔如日志、备份等〕来实现丧失数据〔如因中断而丧失的存放在主存中但未保存到磁盘数据库中去得数据等〕的恢复。
原子性和持久性是由DBMS的恢复管理模块保证。
10.2数据库为什么需要并发控制?
数据库是共享资源,通常有许多事务同时运行。
当多个事务并发存取数据库中的数据时,会产生同时读取和/或修改同一数据的情况。
假设对并发操作不加以控制,可能会导致存取和存储不正确的数据,破坏数据库的一致性。
所以,数据库管理系统必须提供并发控制机制。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 复习资料