《数据库》期末复习资料.docx
《《数据库》期末复习资料.docx》由会员分享,可在线阅读,更多相关《《数据库》期末复习资料.docx(26页珍藏版)》请在冰豆网上搜索。
《数据库》期末复习资料
数据库基本概念
一、数据库系统的基本概念
(1)DB:
即数据库(Database),是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
(2)DBMS:
即数据库管理系统(DatabaseManagementSystem),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。
(3)DBS:
即数据库系统(DatabaseSystem),是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
(4)1:
1联系:
如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,那么实体集E1对E2的联系称为“一对一联系”,记为“1:
1”。
(5)1:
N联系:
如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:
N”。
(6)M:
N联系:
如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:
N”。
(7)数据模型:
模型是对现实世界的抽象。
在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。
它可分为两种类型:
概念数据模型和结构数据模型。
(6)概念数据模型:
是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。
(9)结构数据模型:
是直接面向数据库的逻辑结构,是现实世界的第二层抽象。
这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。
结构数据模型应包含:
数据结构、数据操作、数据完整性约束三部分。
它主要有:
层次、网状、关系三种模型。
(10)层次模型:
用树型结构表示实体类型及实体间联系的数据模型。
(11)网状模型:
用有向图结构表示实体类型及实体间联系的数据模型。
(12)关系模型:
是目前最流行的数据库模型。
其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。
关系模型是由若干个关系模式组成的集合。
(13)概念模式:
是数据库中全部数据的整体逻辑结构的描述。
它由若干个概念记录类型组成。
概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。
(14)外模式:
是用户与数据库系统的接口,是用户用到的那部分数据的描述。
(15)内模式:
是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及数据控制方面的细节。
(16)模式/内模式映象:
这个映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,即概念记录和内部记录间的对应性。
此映象一般在内模式中描述。
(17)外模式/模式映象:
这人映象存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,即外部记录和内部记录间的对应性。
此映象都是在外模式中描述。
(18)数据独立性:
在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。
数据独立性分成物理数据独立性和逻辑数据独立性两级。
(19)物理数据独立性:
如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。
也就是对模式的修改尽量不影响概念模式。
(20)逻辑数据独立性:
如果数据库的概念模式要进行修改(如增加记录类型或增加数据项),那么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。
也就是对概念模式的修改尽量不影响外模式和应用程序。
(21)DDL:
数据定义语言(DataDefinitionLanguage),用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性、安全控制等约束。
(22)DML:
数据操纵语言(DataManipulationLanguage),由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。
DML分成交互型DML和嵌入型DML两类。
依据语言的级别,DML又可分成过程性DML和非过程性DML两种。
(23)交互型DML:
如果DML自成系统,可在终端上直接对数据库进行操作,这种DML称为交互型DML。
(24)嵌入型DML:
如果DML嵌入在主语言中使用,此时主语言是经过扩充能处理DML语句的语言,这种DML称为嵌入型DML。
(25)过程性DML:
用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎么获得数据)。
层状、网状的DML属于过程性语言。
(26)非过程性DML:
用户编程时,只需要指出“做什么”,不需要指出“怎么做”。
Notice:
以上关于DML的各个概念单独出现时,首先要解释DML的含义。
1.1文件系统阶段的数据管理有些什么缺陷?
文件系统有三个缺陷:
(1)数据冗余性(redundancy)。
由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储。
(2)数据不一致性(inconsistency)。
这往往是由数据冗余造成的,在进行更新操作时,稍不谨慎,就可能使同样的数据在不同的文件中不一样。
(3)数据联系弱(poordatarelationship)。
这是由文件之间相互独立,缺乏联系造成的。
1.2 数据库阶段的数据管理有些什么特点?
(1)采用复杂的数据模型表示数据结构
(2)有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)
(3)数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据,也可以用程序方式操作数据库。
(4)系统提供了四个方面的数据控制功能:
数据库的恢复、并发控制、数据完整性和数据安全性,以保证数据库中数据是安全的、正确的和可靠的。
(5)对数据的操作不一定以记录为单位,还可以数据项为单位,增加了系统的灵活性。
1.3 你怎样理解实体、属性、记录、字段这些概念的类型和值的差别?
试举例说明。
实体(entity):
是指客观存在可以相互区别的事物。
实体可以是具体的对象,如:
一个学生,一辆汽车等;也可以是抽象的事件,如:
一次借书、一场足球赛等。
属性(attribute):
实体有很多特性,每一个特性称为属性。
每个属性有一个值域,其类型可以是整数型、实数型、字符串型。
比如,学生(实体)有学号、姓名、年龄、性别等属性,相应值域为字符、字符串、整数和字符串型。
字段(field):
标记实体属性的命名单位称为字段或数据项。
它是可以命名的最小信息单位,所以又称为数据元素或初等项。
字段的命名往往和属性名相同,比如,学生有学号、姓名、年龄、性别等字段。
记录(record):
字段的有序集合称为记录。
一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。
如:
一个学生记录,由有序的字段集(学号、姓名、年龄、性别等)组成。
1.4 试述DBMS的主要功能。
DBMS的主要功能有:
(1)数据库的定义功能
(2)数据库的操纵功能
(3)数据库的保护功能
(4)数据库的存储管理
(5)数据库的维护功能
(6)数据字典
1.5 试叙DBMS对数据库的保护功能。
DBMS对数据库的保护主要通过四个方面实现:
(1)数据库的恢复。
(2)数据库的并发控制。
(3)数据库的完整性控制。
(4)数据库的安全性控制。
1.6 试叙DBMS对数据库的维护功能。
DBMS中有一些程序提供给数据库管理员运行数据库系统时使用,这些程序起着数据库维护的功能。
主要有四个实用程序:
(1)数据装载程序(loading)
(2)备份程序(backup)
(3)文件重组织程序
(4)性能监控程序
1.7 DBS由哪几个部分组成?
DBS由四部分组成:
数据库、硬件、软件、数据库管理员。
1.8 什么样的人是DBA?
DBA应具有什么素质?
DBA的职责是什么?
DBA是控制数据整体结构的人,负责DBS的正常运行。
DBA可以是一个人,在大型系统中也可以是由几个人组成的小组。
DBA承担创建、监控和维护整个数据库结构的责任。
DBA应具有下列素质:
(1)熟悉企业全部数据的性质和用途;
(2)对用户的需求有充分的了解;
(3)对系统的性能非常熟悉。
DBA的主要职责有五点:
(1)概念模式定义
(2)内模式定义
(3)根据要求修改数据库的概念模式和内模式
(4)对数据库访问的授权
(5)完整性约束的说明
1.9 使用DBS的用户有哪几类?
使用DBS的用户有四类:
1)DBA2)专业用户3)应用程序员4)最终用户
二、关系数据库的基本概念
(1)关系模型:
用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。
(2)关系模式:
关系模式实际上就是记录类型。
它的定义包括:
模式名,属性名,值域名以及模式的主键。
关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。
(3)关系实例:
元组的集合称为关系和实例,一个关系即一张二维表格。
(4)属性:
实体的一个特征。
在关系模型中,字段称为属性。
(5)域:
在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。
(6)元组:
在关系中,记录称为元组。
元组对应表中的一行;表示一个实体。
(7)超键:
在关系中能唯一标识元组的属性集称为关系模式的超键。
(8)候选键:
不含有多余属性的超键称为候选键。
(9)主键:
用户选作元组标识的一个候选键为主键。
(单独出现,要先解释“候选键”)
(10)外键:
某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。
(11)实体完整性规则:
这条规则要求关系中元组在组成主键的属性上不能有空值。
如果出现空值,那么主键值就起不了唯一标识元组的作用。
(12)参照完整性规则:
这条规则要求“不引用不存在的实体”。
其形式定义如下:
如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。
(13)过程性语言:
在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。
如Pascal和C语言等。
(14)非过程性语言:
编程时只须指出需要什么信息,不必给出具体的操作步骤。
各种关系查询语言均属于非过程性语言。
2.1为什么关系中的元组没有先后顺序?
因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。
因此不考虑元组间的顺序,即没有行序。
2.2 为什么关系中不允许有重复元组?
因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制,关系中的元组不能重复,可以用键来标识唯一的元组。
2.3 关系与普通的表格、文件有什么区别?
关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制:
1)关系中每一个属性值都是不可分解的。
2)关系中不允许出现相同的元组(没有重复元组)。
3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。
4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。
2.4 笛卡尔积、等值联接、自然联接三者之间有什么区别?
笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。
等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;
自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。
当两个关系没有公共属性时,自然连接就转化我笛卡尔积。
SQL语句复习题
设有一图书馆数据库,包括三个表:
图书表、读者表、借阅表。
图书表(图书号,书名,作者,出版社,单价)
读者表(读者号,姓名,性别,部门)
借阅表(读者号,图书号,借出日期,归还日期)
试用SQL的查询语句表达下列查询:
(1)查询全体图书的图书号,书名,作者,出版社,单价。
(2)查询机械工业出版社图书的平均价格、最高价、最低价。
(3)查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。
(4)查询借阅图书本数超过2本的读者号、总本数。
并按借阅本数值从大到小排序。
(5)查询’科学出版社’的图书中单价比’机械工业出版社’最高单价还高的的图书书名、单价。
(6)查询已被借阅过并已归还的图书信息。
(7)给图书表增加一列“ISBN”,数据类型为CHAR(10)
(8)向读者表加入一个新读者,该读者的信息为:
(‘200197’,‘王小平’,‘男’,’物理系’)
(9)完成读者’王小平’在借出一本图书10日后归还该书的归还日期的更新。
(10)当读者’王小平’按期归还图书时,删除借阅记录。
答案:
(1)SELECT图书号,书名,作者,出版社,单价
FROM图书
或者
SELECT*FROM图书
(2)SELECTAVG(单价)AS‘平均价’,MAX(单价)AS‘最高价’,MIN(单价)AS‘最低价’
FROM图书
WHERE出版社=’机械工业出版社’
(3)SELECT读者.读者号,姓名,书名,借出日期,归还日期
FROM读者,图书,借阅
WHERE读者.读者号=借阅.读者号AND图书.图书号=借阅.图书号
(4)SELECT读者号,COUNT(图书号)AS‘总本数’
FROM借阅
GROUPBY读者号
HAVINGCOUNT(*)>2
ORDERBYCOUNT(图书号)DESC
(5)SELECT图书号,单价FROM图书
WHERE出版社=’科学出版社’AND单价>(
SELECTMAX(单价)FROM图书WHERE出版社=’机械工业出版社’)
或者
SELECT图书号,单价FROM图书
WHERE出版社='科学出版社'AND单价>ALL(
SELECT单价FROM图书WHERE出版社='机械工业出版社')
(6)SELECT*FROM图书
WHERE图书号IN(SELECT图书号FROM借阅WHERE归还日期ISNOTNULL)
或者
SELECT*FROM图书B1
WHEREEXISTS(SELECT*FROM借阅B2
WHEREB1.图书号=B2.图书号AND归还日期ISNOTNULL)
(7)ALTERTABLE图书
ADDISBNCHAR(10)
(8)INSERTINTO读者
VALUES(‘200197’,‘王小平’,‘男’,‘物理系’)
(9)UPDATE借阅
SET归还日期=借出日期+10
WHERE读者号=(SELECT读者号FROM读者WHERE姓名=’王小平’)
(10)DELETEFROM借阅
WHERE读者号=(SELECT读者号FROM读者
WHERE姓名=‘王小平’)
数据库技术及应用复习题
一、问答题
1、数据独立性的含义。
(指数据不依赖于程序)
2、数据库系统的三级模式是什么?
(外模式、模式和内模式)
3、关系数据库中表与表之间是通过什么联系?
(公共属性或外码)
4、当数据的存储结构改变时,数据的逻辑结构可以不变,从而应用程序也不用改变这
就是数据与程序的什么独立性?
(物理独立性)
5、当数据的全局逻辑结构改变时,数据的局部逻辑结构可以不变,从而应用程序也不用改变这就是数据与程序的什么独立性?
(逻辑独立性)
6、在关系模型中,任何关系必须满足哪三类完整性约束?
(实体完整性、参照完整性和用户定义完整性)
7、两个实体集之间的联系有哪三种?
(一对一联系、一对多联系和多对多联系)
8、实体联系模型(E-R模型)属于哪类模型?
(概念模型)
9、结构数据模型有哪三类?
(关系数据模型、层次数据模型和网络数据模型)
10、关系中的选择运算和投影运算的含义是什么?
(选择出满足条件的行和选择出满足条件的列构成新的关系)
11、SQLServer中的对象权限的含义及内容。
(对象权限的含义:
针对数据库对象设置,由数据库对象拥有者授予或撤销。
对象权限的内容:
包括SELECT、UPDATE、INSERT、DELETE、EXECUTE等。
)
12、E-R图设计中,合并分E-R图时可能产生的冲突及解决办法。
(可能的冲突类型有3种:
属性冲突、命名冲突和结构冲突。
解决属性冲突和命名冲突:
主要采用协商办法。
解决结构冲突:
主要采用技术手段。
)
13、有两个实体集,若它们之间存在着一个M:
N联系、1:
M联系和1:
1联系,根据ER模型转换成关系数据库的规则,这个ER结构转换成表的个数分别是多少?
(3、2、2)
二、填空题
1、现实中事物之间的联系有三种,分别是(一对一)联系,(一对多)联系和(多对多)联
系,这反映了(实体集)之间的联系。
2、班级和学生之间的联系是(一对多)联系,班级和班长之间的联系是(一对一)联系,学生和课程之间的联系是(多对多)联系。
3、在数据库的三级模式结构中,外模式有(任意多个),模式和内模式只有(1个)。
4、DB的含义是(数据库),DBS的含义是(数据库系统),DBMS的含义是(数据库管理系统)。
5、支持数据库中数据的逻辑独立性和物理独立性的机制是(三级模式、二极映射)。
6、用二维表结构表示实体与实体之间的联系的数据模型是(关系模型)、用树形结构表示记录与记录之间的联系的数据模型是(层次模型)、用图形结构表示记录与记录之间的联系的数据模型是(网状模型或网络模型)。
7、在关系理论中称为“元组”的概念,在关系数据库中称为(记录),在二维表中称为(行),在现实世界中称为(实体)。
8、在关系理论中称为“属性”的概念,在关系数据库中称为(字段),在二维表中称为(列)在现实世界中称为(属性)。
9、在概念模型中,一个实体相对于关系数据库中一个关系中的一个(元组),一个属性相对于关系数据库中一个关系中的一个(字段)。
10、在关系数据库中,实现“表中任意两行不能相同”的约束是靠(主码),实现“表与表中的自然连接”的约束是靠(外码)。
11、关系数据库中,实现表与表之间的联系是通过(参照完整性规则)实现的,实现“表中任意两行不能相同”的约束是靠(实体完整性规则)实现的。
12、“关系”这个术语来自于数学中的(集合)概念,因此,关系中任意两个元组不能(相等),关系中元组和属性的顺序具有(无关性)的性质。
13、在标准SQL中,建立数据库的命令为(CREATEDATABASE)、建立数据库表结构的命令为(CREATETABLE)、从数据库中删除表的命令为(DROPTABLE)、索引的撤消命令为(DROPINDEX),建立视图用(CREATEVIEW)命令。
14、在标准SQL中,短整型数据类型用(SMALLINT)子句。
15、在SQL语言的查询语句中,实现投影操作的是(SELECT)子句、实现选择操作的是(WHERE)子句、实现连接操作的是(FROM)子句。
16、在关系代数运算中,从关系中取出满足条件的元组的运算称为(选择),取出满足条件的列的运算称为(投影)。
三、单选题
1、具有数据冗余度小、数据共享、以及较高数据独立性等特征的系统是()。
A.文件系统B.数据库系统C.管理系统D.高级程序
2、数据库系统中,逻辑数据与物理数据之间可相互转换,执行该功能的是()。
A.操作系统B.信息管理系统C.数据库管理系统D.文件系统
3、下面哪个不是数据库技术的主要特点()。
A.数据的结构化B.数据的冗余度小
C.较高的数据独立性D.程序的标准化
4、下列叙述正确的为()
A.关系中元组没有先后顺序,属性有先后顺序
B.关系中元组有先后顺序,属性没有先后顺序
C.关系中元组没有先后顺序,属性也没有先后顺序
D.关系中元组有先后顺序,属性也有先后顺序
5、SQL中的视图提高了数据库系统的()
A.完整性B.并发控制C.隔离性D.安全性
6、下列叙述正确的为()
A.关系中允许有重复的元组,也允许有重复的属性名
B.关系中允许有重复的元组,不允许有重复的属性名
C.关系中不允许有重复的元组,允许有重复的属性名
D.关系中不允许有重复的元组,也不允许有重复的属性名
7、下列叙述正确的为()
A.主码是一个属性,它能惟一标识一列
B.主码是一个属性,它能惟一标识一行
C.主码是一个属性或多个属性的组合,它能惟一标识一列
D.主码是一个属性或多个属性的组合,它能惟一标识一行
8、如果两个实体之间的联系是1:
M,则实现l:
M联系的方法是()
A.将两个实体转换成一个关系
B.将两个实体转换的关系中,分别加入另一个关系的主码。
C.将“1”端实体转换的关系的主码,放入“M”端实体转换的关系中
D.将“M”端实体转换的关系的主码,放入“1”端实体转换的关系中
9、如果两个实体之间的联系是M:
N,则实现M:
N联系的方法是()
A.将两个实体转换成二个关系
B.将两个实体转换的关系中,分别加入另一个关系的主码。
C.将“M”端实体转换的关系的主码,放入“N”端实体转换的关系中
D.将联系单独转换成一个关系
10、如果两个实体之间的联系是1:
1,则实现l:
1联系的方法是()
A.将两个实体转换成一个关系
B.将两个实体转换的关系中,分别加入另一个关系的主码。
C.将一个“1”端实体转换的关系的主码,放入另一个“1”端实体转换的关系中
11、SQL语言是关系型数据系统的典型的数据库语言,它是()
A.过程化的B.非过程化的C.格式化的D.导航式的
12、SQL的标准库函数COUNT,SUM,AVG,MAX与MIN等,不允许出现在()中。
A.SEIECTB.HAVINGC.GROUP……HAVINGD.WHERE
14、下列叙述正确的是()
A.SQL只允许拷贝表的全部,不能有选择的拷贝
B.新表的列名必须与被拷贝表的列名相同
C.新表的列数必须与被