严格的讲,数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。概括的讲,数据库数据具有永久存储、有组织和可共享三个基本特点。 2.什么是数据库的数据独立性?
在数据库系统中,数据描述(元数据)从使用这些数据的应用程序中分离出来,这种分离称为数据独立性。数据独立性一般分为数据的逻辑独立性和数据的物理独立性。数据逻辑独立性是指数据库总体逻辑结构的改变。数据物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。
3.什么是数据冗余?数据库系统与文件系统相比怎样减少冗余? 数据冗余:在一个数据集合中重复的数据称为数据冗余. 冗余的数据是指可由基本的数据导出的数据
消除冗余的方法主要有两种:分析方法消除冗余和规范化理论消除冗余。
采用分析的方法消除冗余,是以数据字典和数据流图为依据,根据数据字典中关于数据项之间的逻辑关系的说明消除冗余;规范化理论消除冗余主要是运用函数依赖提供的工具实现。 4.使用数据库系统有什么好处?
①程序—数据独立性;②提高了数据的共享性;③降低了数据的冗余度,提高了数据的一致性;④采用一定的数据模型实现数据结构化;⑤数据由DBMS统一管理和控制。 5.简述数据库系统的特点。
①数据结构化;②数据的共享性高,冗余度低,易扩充;③数据独立性高;④数据由DBMS统一管理和控制
6.什么是数据库管理系统?
数据库管理系统(DataBase Management System,DBMS)是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供了访问数据的方法,包括数据库的建立、对数据的操纵、检索和数据控制。
7.数据库管理系统有哪些功能?
DBMS同时要保证数据的安全性、可靠性、完整性和一致性。其主要功能包括:数据字典管理、数据存储管理、数据转换和表示、安全性管理、多用户访问控制、备份和恢复管理、数据完整性管理、数据访问语言和应用程序编程接口、数据库通信接口等。 8.DBA的职责是什么?
数据库管理员(DataBase Administrator, DBA)的主要职责是负责数据库的规划、设计、维护和监控。DBA需要对各个应用的数据需求做全面的规划、设计和集成,负责对数据库中数据的安全性、完整性以及系统恢复进行实施与维护,并且不断地调整数据库内部结构,保持系统的最佳状态与最高效率。
9.试述View和Table之间的关系和视图的优点。
使用视图的优点:提供各种数据表现形式,提供默写数据的安全性,隐藏数据的复杂性,简化查询语言,执行特殊查询,保存复杂查询。
视图的作用:①试图能够简化用户的操作;②视图使用户能以多种角度看待统一数据;③视图对重构数据库提供了一定程度的逻辑独立性;④视图能够对机密数据提供安全保护;⑤适当的利用视图可以更清晰的表达查询。
9.什么是数据字典?数据字典包含哪些基本内容?
数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。数据字典贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容和用途各有区别。 数据字典包含五部分基本内容:数据项、数据结构、数据流、数据存储、处理过程。 10.叙述数据字典的主要任务和作用?
数据字典是DBMS存取和管理数据的基本依据,主要包括对基本表、视图的定义以及存取路径(索引、散列等)、访问权限和用于查询优化的统计数据等的描述。 11.什么是层次模型?
层次模型是按照层次结构的形式组织数据库中的数据的,即用树(Tree)型结构表示实体以及实体之间的联系。每个结点表示一个记录类型,结点之间的连线表示记录类型之间的联系。每个记录类型可以包括若干个字段(记录类型描述的是实体,字段描述的是实体的属性)。 12.什么是网状模型?
网状模型是一种比层次模型更具有普遍性的模型,即用图(Graph)型结构表示实体以及实体之间的联系。它允许多个结点没有双亲结点,允许结点有多个双亲结点,还允许两个结点之间有多种联系(称为复合联系)。网状模型可以反映实体间存在的更为复杂的联系,而层次结构可视为网状结构的一个特例。
13.简要叙述关系数据库的优点?
与传统的文件系统相比,数据库系统呈现出许多潜在的优点。其主要表现在如下几个方面:①程序—数据独立性;②提高了数据的共享性;③降低了数据的冗余度,提高了数据的一致性;④采用一定的数据模型实现数据结构化;⑤数据由DBMS统一管理和控制。
14.层次模型、网状模型和关系模型等三种基本数据模型是根据什么来划分的? 根据模型应用的不同目的来划分。
15.层次模型、网状模型和关系模型这三种基本数据模型各有哪些优缺点?
层次模型:⑴优点:①结构简单,便于理解和实现;②层次模型DBMS对层次结构的数据有较高处理效率;③由于是双亲—子女关系,在双亲节点和子节点之间始终存在着链接。⑵缺点:①层次模型缺乏直接表达现实世界中非层次型结构的复杂联系的能力。如多对多的联系只能通过引入冗余数据或引入虚拟记录的方法来解决;②查询子结点必须经过双亲结点,对插入或删除操作有较多的限制;③数据库难于管理。如对数据库结构的任何改变,都有可能要求修改所有访问该数据库的应用程序。
网状模型:⑴优点:①能够更为直接地描述现实世界;②具有良好的性能和较高的存取效率。⑵缺点:①数据结构比较复杂,不便于终端用户掌握;②其数据定义语言(DDL)、数据操作语言(DML)较为复杂,用户掌握使用较为困难;③数据独立性较差。
关系模型:⑴优点:①关系模型具有坚实的理论基础;②二维表不仅能表示实体,而且能方便地表示实体之间的联系;③简单;④数据独立性高。⑵由于存取路径对用户透明,查询效率往往不如非关系数据模型。
16.试述数据库设计过程各个阶段的设计描述。 17.试述把E-R图转换为关系模型的转换规则。
概念设计中得到的E-R图是由实体、属性和联系组成的,而关系数据库逻辑设计的结果是一组关系模式的集合。所以,将E-R图转换为关系模型实际上就是将实体、属相和联系转换成关系模式。原则:⑴一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。⑵具有相同主键的关系可以合并。⑶一个联系转换为一个关系模式,分为以下几种情况:①一个1:1的联系可以转化为一个独立的关系模式,也可以与任意一端对应的关系模式合并。②一个1:n的联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。③一个n:m的联系转换为一个关系。
18.试述事务的概念及事务的四个特性。
事务的概念:事务是构成单一逻辑工作单元的操作集合。事务是访问并可能更新各种数据项的一个程序执行单元,可以是一个包含对数据库进行各种操作的完整的用户程序(长事务),也可以是只包含一个更新操作(插入、删除、修改)的短事务 事务的四个特性:原子性、一致性、隔离性、持久性。 19.数据库恢复的基本技术有哪些? 数据转储和登记日志文件
23.什么是日志文件?为什么要设立日志文件?
日志文件是用来记录事务对数据库更新操作的文件,主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。
日志文件在数据库恢复中起着非常重要的作用,可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。具体的作用如下:①事务故障恢复和介质故障恢复必须用日志文件。②在动态转储方式中必须建立日志文件,后备副本和日志文件综合起来才能有效地恢复数据库。③在静态转储方式中,也可以建立日志文件。
24.登记日志文件时为什么必须先写日志文件,后写数据库?
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先修改了数据库,而在运行记录中没有登记下这次修改。则以后就无法恢复这个修改了。如果先写日志但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。所以为了安全,一定先写日志文件,然后再进行数据库的修改。 20.试述活锁和死锁的概念。
活锁:如果事务T1封锁了数据R,事务T2又请求封锁数据R,于是T2等待; 事务T3也请求封锁数据R。当T1释放封锁之后,系统首先批准了T3的请求,T2仍然等待; 然后T4又请求封锁
R。当T3释放封锁之后,系统又批准了T4的请求;? ?T2有可能永远等待!
死锁:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁;接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样就出现了T1在等待T2、T2又在等待T1的局面,T1和T2两个事务永远都不能结束,形成死锁。
22.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 24.什么是数据库的安全性?
数据库系统的安全性是计算机安全中非常重要的一部分,主要包括以下几个层次的安全措施:①数据库系统层次,表现在对数据库的存取控制上。②操作系统层次;③网络层次;④物理层次(物理结点保护);⑤人员层次。
25.什么是数据库的完整性?完整性的约束条件有哪些?
数据库的完整性是指数据的正确性和相容性。完整性的约束条件:①提供定义完整性约束条件的机制;②提供完整性检查的方法;③违约处理。 26.简述数据库系统可能发生的故障及其恢复方法。
数据库系统可能发生的故障:事务故障、系统故障、介质故障、计算机病毒。 恢复方法:数据转储和登记日志文件。 27.试述SQL语言的特点
⑴集DDL、DML、DCL于一体;⑵高度非过程化;⑶面向集合的操作方式;⑷一种语法提供两种操作方式;⑸功能强大、语言简洁。
28.什么是两段锁协议,什么是可串行化调度。
两段锁协议是指所有事务必须分两个阶段对数据项枷锁和解锁:第一阶段是获得封锁,也称为扩张阶段。在此阶段,可以申请获得任何数据项上的任何数据类型的锁,但是不能释放任何锁。一旦所有的锁已经获得了,事务就达到了她的封锁点。第二阶段是释放封锁,也称为收缩阶段。在此阶段,事务可以释放任何数据项上的任何类型的锁,但是不能申请任何锁。
多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。 四、综合题 1.SQL语句查询
现有图书借阅关系数据库,其数据库关系模式(表名与属性名只取英文名)为:图书B(图书号B#,书名BN,作者WN,单价BP,库存量BC);读者R(读者号R#,姓名RN,工作单位RW,地址RA);借阅BO(图书号B#,读者号R#,借期DB,还期DR,备注MO),其中还期为NULL表示该书未还。 ?
试用关系代数、SQL语言分别写出下列查询: (1)检索读者号为“R016”的读者姓名和工作单位; (2)检索借阅图书号为“B5”的读者姓名; (3)检索读者“李林”所借图书的书名。 ?
试用SQL语言写出下列查询:
(1)检索读者“李林”所借图书中未还的书名; (2)将读者“李林”所借图书的信息从借阅表中删除; (3)建立未还图书的读者姓名和单位视图。 (4)将图书表B的修改权限授予U1.
2.规范化理论
1)假设某商业集团数据库中有一关系模式R如下: R(商店编号,商品编号,数量,部门编号,负责人) 如果规定:
(1)每个商店的每种商品只在一个部门销售。 (2)每个商店的每个部门只有一个负责人。 (3)每个商店的每种商品只有一个库存数量。 回答下列问题:
(1)根据上述规定,写出关系模式R的基本函数依赖。
(2)批出关系模式R的候选码。
(3)试问关系模式R最高已经达到第几范式?为什么?
(4)如果R不属于3NF,将R分解成3NF模式集。
2.)设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题:
(1) 根据上述规定,写出模式R的基本函数依赖和候选码;
(2) 说明R不是2NF的理由,并把R分解为2NF模式集;
(3) 进而将R分解为属于3NF的模式集。
3.现在要建立关于系、学生、班级、学会诸信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。
描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区; 描述班级的属性有:班号、专业名、系名、人数、入校年份;
描述系的属性有:系名、系号、系办地点、人数;
描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。 (1)请写出关系模式。
(2)写出每个关系模式的最小函数依赖集,指出是否存在传递依赖。在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。
(3)指出各个关系模式的侯选关键字、外部关键字,以及有没有全关键字
4.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社,价格。对每本被借出的书存有读者号、借出日期和应还日期。要求:画出E-R图,再将其转换为关系模型。
5.在简单的教务管理系统中,对每个学生保存基本信息包括:学号,姓名,性别,年龄,专业。对每个教师保存基本信息包括:教师编号,姓名,性别,年龄,职称。对每门课程保存基本信息包括:课程编号,课程名称,学分。有如下语义约束:一个学生可选修多门课程,一门课程可被多个学生选修。因此学生和课程之间是多对多的联系;一个教师可讲授多门课程,一门课程可以由多个教师讲授。因此教师和课程之间也是多对多的联系;根据上述语义,画出E-R图,再将其转换为关系模型。
6.某邮局计划设计一个报纸的订阅管理数据库,要求能管理如下信息:
订户的订阅号DNO,订户姓名DNA,报纸的发行代号PNO,报纸名称PNA,报纸的月订价PPR,某订户订阅某报纸的份数NUM,为订户投递报纸的地址ADR。
某订户可订阅多份不同报纸,报纸订阅种类份数不加任何限制,订户的订阅号DNO与报纸的发行代号PNO具有唯一性。
要求:
(1) 试画出该数据库系统的实体-联系图(E-R模型图),注明联系类型 (2) 设计此数据库系统的关系模式(每个关系模式写成R(U,F)形式,其中 U为属性集,F为函数依赖集),要求满足3NF范式以上