当前位置:文档之家› 数据库原理天津大学作业答案

数据库原理天津大学作业答案

数据库原理复习题一、名词解释1. 概念模式是数据库中全部数据的整体逻辑结构的描述。

它由若干个概念记录类型组成。

概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。

2. 复制透明性即用户不必关心数据库在网络中各个结点的数据库复制情况,更新操作引起的波及由系统去处理。

3. 事务的原子性一个事务对数据库的操作是一个不可分割的操作系列,事务要么完整地被全部执行,要么全部不执行4.实体完整性规则这条规则要求关系中元组在组成主键的属性上不能有空值。

如果出现空值,那么主键值就起不了唯一标识元组的作用。

5. 嵌入式SQL将SQL语句嵌入高级程序设计语言中使用,发挥高级语言过程化处理能力强的特点。

6.分片透明性分片透明性是最高层次的分布透明性,是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。

7.完全函数依赖在关系R(U,F)中,如果X→ Y,而对于X的任何真子集X',Y 对X'均不存在函数依赖,称Y对X完全依赖。

8. 丢失更新当两个或以上的事务同时修改同一数据集合时,由于并发处理,使得某些事务对此数据集合的修改被忽视了9. S封锁共享型封锁。

如果事务T对某数据R加上S封锁,那么其它事务对数据R的X封锁便不能成功,而对数据R的S封锁请求可以成功。

这就保证了其他事务可以读取R但不能修改R,直到事务T释放S封锁。

10.参照完整性若属性(或属性组)F,是基本关系R的外码,它与基本关系S的主码Ks对应(R、S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值,或者等于S中某个元组的主码值。

11. 3NF若关系模式R<U, F>中不存在候选码X,属性组Y,以及非主属性组Z(Z不是Y的子集),使得X→Y,Y→Z,Y→X成立,则R 3NF。

二、简答题1.为什么视图被称为虚表?基本表与视图的区别是什么?答:因为数据库中只存储有关视图的定义而不存储视图所对应的数据,这些数据仍存放在导出视图的基本表中,所以视图被称为虚表。

基本表是实际独立存放在数据库中的表,是实表。

2.简述数据库设计过程中输入的主要内容。

答:1)总体信息需求2)处理需求3)DBMS的特征4)硬件和操作系统的特征3.数据库并发操作主要解决哪三个问题?如何保证并行操作的可串行性。

答:1)丢失更新问题2)数据不一致分析问题3)读“脏”数据问题对任何数据集合进行读写操作之前,事务首先应获得对此数据集合的封锁,在释放一个封锁之后,事务不再获得任何其他封锁4.在关系数据库中能完全消除数据冗余吗?答:不能。

要实现关系数据库中表与表之间的联系,必须通过公共属性来完成,这些公共属性可能是一个表的主键,也可能是另一个表的外键,有相应的参照完整性规则来保证表之间的联系。

所以关系数据库中存在数据冗余,但能控制数据的冗余度。

5.什么是“运行记录优先原则”?其作用是什么?答:在数据库系统中,写一个修改到数据库中和写一个表示这个修改的登记记录到日志文件中是两个不同的操作,在这两个操作之间有可能发生故障。

这时,如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改,那么以后也就无法撤消这个修改。

为了安全起见,采用“运行记录优先原则”。

它包括两点:(1)至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。

(2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理。

6.死锁的发生是坏事还是好事?试说明理由。

如何解除死锁状态?答:死锁的发生即是坏是又是好事。

(1)使并发事务不能继续执行下去,造成时间开销却不产生结果。

(2)在某些时候我们要利用它来解决更新操作导致的数据库不一致状态。

解除死锁状态:抽出某个事务作为牺牲品,把它撤消,做回退操作,解除它的所有封锁,并恢复到初始状态。

7.什么是数据库的恢复?数据库恢复的基本原则是什么?答:当数据库系统受到破坏时,通过恢复技术,使数据库恢复到遭到破坏之前的正确状态。

数据库恢复的基本原则是重复存储,即“冗余”。

8. 简述数据库概念模型的主要特点。

答:1)对现实世界的抽象和概括,能真实,充分的反映现实世界的事物和事物之间的联系2)简洁、明晰、独立于计算机系统、便于理解3)易于变动和修改4)易于向给定的数据库逻辑模式转换。

9. 简述数据库恢复的几种方法。

答:1)定期对整个数据库进行复制与转储2)建立日志文件3)当故障发生后,使用日志文件对数据库进行恢复10.数据独立性与数据联系这两个概念有什么区别?答:数据独立性是指应用程序与数据之间相互独立,不受影响。

数据联系是指同一记录内部各字段间的联系,以及记录之间的联系。

11.简述在SQL中,DELETE语句与DROP TABLE的区别。

答:DELETE的作用是删除表中的元组,表的模式依然存在,而DROP TABLE 是将表的结构和元组全部删除,表被删除(DROP)后就不再存在了。

12. 登记日志文件时,为什么必须先写日志文件,后写数据库。

答:写日志文件与写数据库是两个不同的操作。

在这两个操作中可能出现故障,若先写数据库而后续的写日志的操作时出现了故障,则不能对数据库进行恢复。

反之若先写日志文件,但没有对数据库进行修改,则恢复时只是进行一次没有必要的undo而已,不会影响数据库的正确性,所以一定要先写日志文件,后写数据库。

13. 试述关系和关系模式之间的联系和区别。

答:a)关系模式是关系的型,而关系是前者的值。

b)前者是静态的,后者是动态的。

c)可将二者统称为关系。

故,联系:关系实际上是关系模式上某一时刻的状态或内容;区别:关系模式是静态而稳定的,关系是随时间不断变化的,因为关系操作在不断的更新着数据库和数据。

14. 简要说明数据与程序的物理独立性;数据与程序的逻辑独立性;数据库系统具有数据与程序的独立性。

答:a)当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。

保证了程序与数据的物理独立性,简称数据的物理独立性。

b)当需要改变模式时(例如增加新的关系、新的属性、改变属性的数据类型、改变数据间的联系等),由数据库管理员对各个外模式/模式的映象作相应改变,而使外模式保持不变,从而不必修改或重写应用程序改。

而应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性。

简称数据的逻辑独立性。

c)特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。

不同的应用程序有时可以共用同一个外模式。

数据库的二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。

15.试述数据库系统的三级模式结构,以及这种结构的优点。

答:操作、越权使用数据库利用计算机进行犯罪活动等等,都会破坏数据库中的数据。

数据库保护就是要排除和防止对于数据库的干扰和破坏,确保数据库中的数据安全可靠、正确、有效,以及在遇到破坏时能尽快恢复。

主要是通过安全性控制、完整性控制、并发性控制数据库恢复这四方面进行的。

三、试叙述分布式DBMS的功能。

答:主要功能有:(1)接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。

(2)访问网络数据字典,或者至少了解如何请求和使用其中的信息。

(3)如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。

(4)通信接口功能,在用户、局部DBMS和其他计算机的DBMS之间进行协调。

(5)在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。

这里的异构型是指各个场地的硬件、软件之间存在一定差别。

四、简述数据字典的内容和作用答:主要功能有:(1)接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。

(2)访问网络数据字典,或者至少了解如何请求和使用其中的信息。

(3)如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。

(4)通信接口功能,在用户、局部DBMS和其他计算机的DBMS之间进行协调。

(5)在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。

这里的异构型是指各个场地的硬件、软件之间存在一定差别。

五、1.对于教学数据库的三个基本表学生S(S#,SNAME,AGE,SEX)学习SC(S#,C#,GRADE)课程C(C#,CNAME,TEACHER)试用SQL语句表示:检索WANG同学不学的课程号。

答:SELECT C#FROM CWHERE C# NOT IN(SELECT C#FROM SCWHERE S# INSELECT S#FROM SWHERE SNAME=‘WANG’)2. 建立一个学生关系表Student,表中有5个字段:学号Sno(字符型)、姓名Sname(字符型)、性别Sex(字符型)、年龄Age(整型)、系别Dept(字符型),其中Sno是关系的码;建立一个学生选课关系表SC,表中有3个字段:学号Sno (字符型)、课程号Cno(字符型)、成绩Grade(数值型),其中Sno、Cno是关系的码,用SQL语言完成下列功能:1)建立学生关系表Student和学生选课关系表SC。

2)查询计算机系(’CS’)所有同学的姓名和各科成绩。

3)添加一个学生记录,学号为20020003,姓名为吴刚,性别为男,年龄为19岁,所在系为计算机系。

4)逻辑删除李江同学的相关记录。

答:①CREATE TABLE Student (Sno CHAR(8) NOT NULL UNIQUE,Sname CHAR(18),Sex CHAR(2),Age INT,Dept CHAR(20);CREATE TABLE SC (Sno CHAR(5) NOT NULL,Cno CHAR(5) NOT NULL,Grade SMALLINT,②SELECT Sname, Cno, Grade FROM Student, SC WHERE Sdept=’CS’ AND Student.Sno= SC.Sno;③INSERT INTO Student V ALUES (‘20020003’, ‘吴刚’, ’男’, 19 , ’计算机系’);④DELETE FROM SC WHERE Sname=’李江’ AND Student.Sno= SC.Sno;DELETE FROM ST UDENT WHERE Sname=’李江’;3.用SQL语句实现如下操作:设有关系模式:Employees(ssn, name, sex, age, department)其中:ssn为员工号,name为姓名,sex为性别,age为年龄,department为工作部门。

相关主题