数据库原理及应用课后习题答案机械工业出版社王丽艳.doc_第1页
数据库原理及应用课后习题答案机械工业出版社王丽艳.doc_第2页
数据库原理及应用课后习题答案机械工业出版社王丽艳.doc_第3页
数据库原理及应用课后习题答案机械工业出版社王丽艳.doc_第4页
数据库原理及应用课后习题答案机械工业出版社王丽艳.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题11、试述数据、数据库、数据库管理系统、数据库系统的概念。1)数据是描述客观事物的一组符号集合,是计算机可以识别和处理的符号集。2)数据库(Database,DB)是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据能反映出数据之间的联系。3)数据库管理系统(Database Management System, DBMS),是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。4)数据库系统(Database system, DBS)是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统DBMS及其开发工具、应用系统和用户构成。核心是DBMS。2、使用数据库系统有什么好处?1)将大量的数据有组织的存储在数据库中,实现数据的共享、减少了数据的冗余性和提高了数据的独立性。2)数据库系统的核心是数据库管理系统,它主要负责对数据库的管理和维护工作。通过DBMS,用户可以逻辑、抽象地处理数据,不用关心数据在计算机中的具体存储方式,以及计算机处理数据的过程细节。一切具体而繁琐的工作由DBMS完成。3)数据库应用程序一般具有友好的用户界面,便于用户实现自己的需求。4)数据库管理员是数据库系统中的重要人员,专门负责数据库的建立、配置、管理和维护工作。3、试述文件系统和数据库系统之间的区别和联系。在文件系统阶段,利用“按文件名访问,按记录进行存取”的管理技术,对文件中的数据进行修改、插入和删除操作。应用程序和数据之间有了一定的独立性,但是文件系统中,文件仍然是面向应用的。因此数据的冗余度大,浪费存储空间,而且容易造成数据的不一致性,给数据的修改和维护带来困难。另外,数据独立性差,文件之间是孤立的,系统不容易扩充。在数据库系统中,所有相关的数据都存储在一个称为数据库的集合中,它们作为一个整体定义。由于数据是统一管理的,因此可以从全局出发,合理组织数据,避免了数据冗余。另外,在数据库中,程序与数据相互独立,数据通过DBMS而不是应用程序来操作和管理,应用程序不再处理文件和记录的格式。4、试述数据库系统的特点。1)数据实现集中管理数据库中的数据是按照一定的结构存储在一起的,数据之间存在一定的联系。2)实现数据共享数据库中的数据可被多个不同的用户共享,可以并发地存取数据。多个用户可以用各种方式通过接口使用数据库,实现数据共享。 3)减少数据的冗余度数据库中的数据面向多个应用,可以被多个用户、多个应用程序共享和使用,大大降低了数据的重复存储,减小了数据的冗余。4)数据独立性高数据独立性是指应用程序不会因数据的物理表示方式和访问技术的变化而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术。5、数据库管理系统的主要功能有哪些?1)数据定义功能借助DBMS提供的数据定义语言(Data Definition Language ,DDL)来对数据库中的数据对象进行定义。2)数据组织、存储和管理数据存储和组织的基本目标是提高存储空间利用率和方便存取,提供多种存取方法提高存取效率。3)数据操纵功能借助DBMS提供的数据操纵语言(Data Manipulation Language,DML) 来完成用户对数据库提出的各种要求,实现数据的查询、插入、删除和修改等操作。4)数据库的事务管理和运行管理为了保证数据能安全、可靠的运行,数据库提供了事务管理功能。数据库在建立、运行和维护时由DBMS统一管理和控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。5)数据库的建立和维护功能包括数据库初始数据装载转换、数据库转储、介质故障恢复、数据库的重组织、性能监视分析等。为了提高处理的效率,数据库管理系统提供了多种维护工具软件。6)其他功能。 DBMS的其他功能包括:DBMS与网络中其它软件系统的通信、两个DBMS系统的数据转换、异构数据库之间的互访和互操作等等。6、试述数据库系统中两级映像结构的特点及功能。1)外模式模式映像模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式模式映像,它定义了该外模式与模式之间的对应关系,即如何从外模式找到其对应的模式。这些映像定义通常包含在各自外模式的描述中。当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应的修改,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。2)模式内模式映像数据库中只有一个模式,也只有一个内模式,所以模式内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系,即说明逻辑记录和字段在内部是如何表示的。该映像定义通常包含在模式描述中。当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。7、试述数据库系统的三级模式结构,这种结构的优点是什么?1)概念模式(Schema),也称逻辑模式或模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。概念模式表示数据库中全部信息,它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、开发工具及高级程序设计语言无关。一个数据库只有一个模式。DBMS提供模式描述语言(模式DDL)来严格地定义模式。2)外模式(External Schema),也称子模式或用户模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同的用户需求的数据视图。它是数据库整体数据结构的子集或局部重构。外模式通常是模式的子集。一个数据库可以有多个外模式。DBMS提供子模式描述语言(子模式DDL)来严格地定义子模式。3)内模式(Internal Schema),也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。DBMS 提供内模式描述语言(内模式DDL或存储模式DDL)来严格定义内模式。8、什么是数据与程序的物理独立性?什么是数据与程序的逻辑独立性?为什么数据库具有数据与程序的独立性?数据独立性是指应用程序不会因数据的物理表示方式和访问技术的变化而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术。它包括两个方面:物理独立性和逻辑独立性。物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表示现实世界的信息内容发生变化时,不影响应用程序的特性。数据独立性是由数据库管理系统的两级映像功能来保证的。9、试述数据库系统的组成。1)数据库:是数据库系统的处理对象,是以一定的组织方式存储在一起的、大量的、有组织的、能够被多个用户共享的数据的集合。2)数据库管理系统:是数据库系统的核心。主要负责对数据库的管理和维护工作。用户不用关心数据在计算机中的具体存储方式,以及计算机处理数据的过程细节。一切具体而繁琐的工作由DBMS完成。3)应用系统:介于用户和数据库管理系统之间,是计算机人员开发的面向最终用户的软件,它是在DBMS基础上实现的。数据库应用程序一般具有友好的用户界面,便于用户实现自己的需求。4)用户:包括数据库的开发、管理和使用者。10、DBA的职责是什么?数据库管理员是数据库系统中的重要人员,他是专门负责数据库的建立、配置、管理和维护工作的人员。主要职责体现在建库、用库和改进三个方面。他负责决定数据中的信息的内容和结构,决定数据库的存储结构和存取策略, 同时,他要确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条件,保证数据库的安全性和完整性。并且,DBA还要监视数据库系统的运行情况,及时处理运行过程中出现的问题,进行数据库的备份、恢复和改进等工作。习题21、试述概念模型的作用。概念层数据模型,也称为概念模型或信息模型,它是从数据的应用语义角度来抽取模型,并按照用户的观点来对数据和信息进行建模,这类模型主要用于数据库设计阶段,它与具体的数据库管理系统无关。 概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解,它是用户和设计人员交流的工具。2、解释“三个世界”之间的联系。从客观世界、信息世界到数据世界是一个认识的过程,也是抽象和映射的过程。在计算机数据库中存储的数据,是经过两级抽象而来的,并且反映的是现实世界的有关信息。现实世界的复杂事物经过两级抽象的结果就是数据模型。而抽象的过程是先将现实世界抽象为信息世界的实体模型,然后再将实体模型经过二级抽象得到数据库系统支持的数据模型。3、定义并解释下列术语。1)实体客观存在并可相互区别的事物称为实体(Entity)。实体可以是具体的人、事、物,也可以是抽象的概念或联系。2)实体型具有相同特征的实体称为实体型(Entity Type)。3)实体集同属于一个实体型的实体的集合称为实体集(Entity Set)。4)属性属性(Attribute)就是描述实体的特性或性质的数据。5)码能够唯一标识一个实体的属性或属性集称为码(Key)。如果码是由几个属性构成的,则其中不能有多余的属性。即必须是几个属性全部给出才能唯一标识一个实体。码是区别实体集中不同实体的关键属性,也称为关键字或键。 6)实体-联系图:采用图形的形式描述实体-联系模型称为实体-联系图。 4、学校中有若干个系,每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授和副教授各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程由若干学生选修。试用E-R图画出此学校的概念模型。给出主要实体(系、班级、教研室、学生、教员、课程)的E-R图5、某工厂生产若干产品,每种产品由不同的零件组成,每种零件可用在不同的产品上。这些零件由不同的原材料制成,不同的零件使用的材料可能相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。6、试述网状、层次模型的特点。1)层次模型优点:层次数据模型简单清晰。易于表示诸如“家族关系”、“行政结构”等现实世界层次结构的事物及联系。对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型,其查询效率优于关系模型,不低于网状模型。缺点只能表达1:n联系,若要表达多对多的关系,需要引入冗余数据,从而易产生数据的不一致性,或者通过引入虚拟结点来创建非自然的数据组织来解决。对数据的插入、删除和更新操作的限制较多。查询子女结点必须通过父结点,缺乏快速定位机制。2)网状模型优点网状数据模型能够更为直接地描述现实世界,具有良好的性能,存取效率高。缺点其结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。7、试述关系模型的概念,定义并解释下列术语。1)关系(Relation):一个关系对应通常说的一张表。2)域(Domain):属性的取值范围。3)元组(Tuple):表中的一行即为一个元组。表2-1中的每一行称为一个元组。4)分量:元组中的一个属性值。5)关系模式:指对一个关系的结构描述,即关系模式中要指出元组集合的结构。 一般表示为:关系名(属性1,属性2,属性n)。8、试述关系数模型的特点。1)关系模型的基本理论分别为“关系运算理论”和“关系模式设计理论”,它们均建立在严格数学理论的基础之上,从而使得基于关系模型数据库技术的发展与深化具有广阔的天地与坚实的支撑。2)关系模型的概念清晰单一,实体,实体间的联系以及数据查询的最终结果都用关系表示,数据结构简洁明晰,用户易懂易学。3)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性。 当然,关系数据模型也有缺点。其中主要的缺点是:由于存取路径对用户透明,查询效率往往很低。为了提高性能,DBMS必须对用户的查询请求进行优化,因此增加了开发的难度。 习题31.试述关系模型的3个组成部分。1)数据结构关系模型的数据结构非常简单,只包括单一的数据结构关系。从用户角度,关系模型中数据的逻辑结构是一张扁平的二维表。2)数据操作关系操作采用集合操作方式,即操作的对象和结果都是集合。这种方式称为一次一集合的方式。而非关系数据结构的数据操作方式为一次一记录方式。关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。3)完整性约束关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户定义完整性。2.定义并理解下列术语,说明它们之间的联系与区别:1)域、笛卡尔积、关系、元组、属性域(Domain) 域是一组具有相同数据类型的值的集合。笛卡尔积(Cartesian Product)定义3.2 给定一组域D1,D2,Dn,这些域中可以有相同的域。 D1,D2,Dn的笛卡尔积为: D1D2Dn (d1,d2,dn)diDi,i1,2,n关系 D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为:R(D1,D2,Dn),这里R是关系名。表的每行对应一个元组,也可称为记录(Record)。表的每列对应一个域,也可以称为字段(Filed )。由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(Attribute)。2)主码、候选码、外码若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性组为候选码或码(Key)。其中属性组中不能含有多余的属性。若一个关系有多个候选码,则选定其中一个作为主码(Primary Key)。每个关系有且仅有一个主码。如果一个属性或属性组不是所在关系的码,却是另一个关系的码,则称该属性或属性组为所在关系的外码。3)关系模型、关系、关系数据库关系数据库中关系模式是型,关系是值,关系模式是对关系的描述,关系模式可以用一个五元组表示:R(U,D,DOM,F)。关系是笛卡尔积的有限集,关系是一个二维表。采用关系模型的数据库称为关系数据库。3.试述关系模型的完整性规则,在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:(1)或者取空值(F的每个属性值均为空值)(2)或者等于S中某个元组的主码值对于选课表关系中每个元组的“课程号”属性只取两类值:(1)空值,表示该学生未选课。(2)非空值,这时该值必须是课程表关系中出现的“课程号”值,表示该学生不可能选修一个未开设的课程。参照完整性是不同关系之间或一个关系不同元组之间一种约束,通过外码和主码建立了不同关系之间的联系。4.关系代数包含哪些运算?传统的集合运算:并、交、差和笛卡尔积。专门的关系运算:选择、投影、连接和除。5.试述笛卡尔积、等值连接与自然连接的区别和联系。在进行等值连接和自然连接时,必须先做笛卡尔积,然后选择其中满足条件的元组。自然连接是特殊的等值连接,要求素有的公共属性都要相等,并且,在自然连接中最后要去掉重复的列。6.设置有两个关系R和S(如下),计算R-S,RS ,RS,R-S,RXS, ,。R-SABC457526RSABC457121555262111543RSABC121552111当两个表具有相同列时,不做除运算。RXSR.AR.BR.CS.AS.BS.C457211145754345712155121552111121555431215512155526211152654352612155211121112111543211112155,BA5415122512ABC12155526R.AR.BR.CS.AS.BS.C4572111457543121552111121555435262111ABC1215521117设有三个关系Student(Sno,Sname,Ssex,Sage,Spol,Sdept)Course(Cno,Cname,Credi,Teacher)SC(Sno,Cno,Grade)加下划线的属性为主码。试用关系代数表达式表示下列查询语句。1) 查询CHEN老师所授课程的课程号,课程名。2) 查询年龄小于25岁的男生的学号和姓名。3) 查询学号为S2的学生所学课程的课程名与任课教师名。4) 查询ZHENG同学没有选修的课程号。5) 查询全部学生都选修的课程的课程号与课程名。(可以有其他的表达式形式)习题41、 试述SQL语言有什么特点? 1)综合统一2)高度非过程化3)面向集合的操作方式4)以同一种语法结构提供多种使用方式5)语言简洁,易学易用2、 试述SQL 的定义功能。SQL的数据定义语句包括模式定义、表定义和索引定义。3、 针对前面建立的表格Student、Course和SC,试用SQL完成下面的操作:1)在Course表中添加一列,该列存放授课教师的姓名。ALTER table Course ADD teachername char(10);2)将SC表中的Grade一列的数据类型改为SMALLINT。ALTER table SCALTER COLUMN Grade smallint;3)删除表Student中的Snat列。ALTER table StudentDROP Snat4)查询学生的所有选课信息。 SELECT *FROM SC5)查询计算机系年龄在18到20岁之间女生的姓名,年龄。SELECT Sname,SageFROM StudentWHERE Sdep=计算机 and Sage Between 18 and 206)查询总成绩超过200分的学生,列出其学号和总分。SELECT Sno ,Sum(Grade)总分FROM SCGROUP BY SnoHAVING Sum(Grade)2007)查询没有选修“数据库原理”课程的学生的姓名和所在系SELECT Sname ,SdeptFROM StudentWHERE Sno NOT IN (SELECT SnoFROM SCWHERE Cno=(SELECT CnoFROM CourseWHERE Cname=数据库原理)8)查询哪些学生没有选课,列出学号和姓名SELECT Sno,SnameFROM StudentWHERE Sno NOT IN (SELECT SnoFROM SC)9)查询001号课程的最高分、最低分和平均分。SELECT MAX(Grade),MIN(Grade),AVG(Grade)FROM SCWHERE Cno=00110)将“操作系统”课程的学分改为2学分。UPDATE CourseSET Credit=2WHERE Cname=操作系统11)将计算机系学生的“高数”成绩加10分。UPDATE SCSET Grade=Grade+10WHERE Sno IN (SELECT SnoFROM StudentWHERE Sdept=计算机)AndCno=(SELECT CnoFROM CourseWHERE Cname=高数)4、数据库采用索引有什么优点?1)使用索引加快数据查询的速度2)使用索引保证数据的唯一性3)使用索引加快连接速度5、什么是基本表?什么是视图?两者的区别和联系是什么?基本关系是实际存在的表,是实际存储数据的逻辑表示。视图是从一个或几个基本表导出的表,是基本表的部分行和列数据的组合。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。因此,它是一个虚表。基本表中的数据发生变化,从视图中查询出的数据也随之改变了。视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及变化。视图可以从一个基本表中提取数据,也可以从多个基本表中提取数据,甚至可以从其他视图中提取数据,构成新视图的内容。对视图的操作最后会转换成对基本表的操作。视图一经定义,就可以和基本表一样被查询、被删除。6、试述视图的优点。1)视图能够简化用户的操作2) 视图使用户从多种角度看待同一数据 3)提供了一定程度的逻辑独立性 4)视图能够对机密数据提供安全保护5)改进性能7、所有视图是否都可以更新?为什么?在关系数据库中,并不是所有的视图都是可更新的,因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新。 目前各个关系数据库一般只允许对行列子集视图进行更新,而且各个系统对视图的更新还有更进一步的规定。8、利用表格Student、Course和SC,试用SQL语句完成以下创建视图操作:1)查询学生的学号、姓名、政治面貌CREATE VIEW S_AS SELECT Sno,Sname,Spol FROM Student2)查询每个学生的选课门数,要求列出学生的学号和选课门数。CREATE VIEW Course_SAS SELECT Sno,count(*) FROM SC GROUP BY Sno3)查询计算机系C语言程序设计成绩最高的学生学号、姓名。CREATE VIEW C_MAXASSELECT Sno,Sname FROM Student WHERE Sno IN (SELECT SnoFROM SCWHERE Cno=(SELECT CnoFROM CourseWHERE Cname=C 语言程序设计) and Grade=(SELECT MAX(Grade)FROM SCWHERE Cno=(SELECT CnoFROM CourseWHERE Cname=C语言程序设计)and Sdept=计算机习题51、 理解并给出下列术语的定义:1)设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 X函数确定Y 或 Y函数依赖于X,记作XY。2) 完全函数依赖在R(U)中,如果XY,并且对于X的任何一个真子集X,都有Y不函数依赖于X ,则称Y对X完全函数依赖,记作3) 部分函数依赖若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作4) 传递函数依赖在R(U)中,如果XY,(Y X) , YX,YZ, 则称Z对X传递函数依赖。记为: 注: 如果YX, 即XY,则Z直接依赖于X。5)候选码设K为R(U,F)的属性或属性组合。若, 则K称为R的侯选码。 6)主码:若候选码多于一个,则选定其中的一个作为主码。7)外码:关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码8)如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF.9)若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。10)如果R(U,F )2NF,并且所有非主属性都不传递依赖于主码,则R(U,F )3NF。 11)关系模式R(U,F)1NF,若XY且Y X时X必含有码,则R(U,F) BCNF。12)关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有码,则R4NF。2、 关系规范化的操作异常有哪些?1) 数据冗余大2) 插入异常3) 删除异常4) 更新异常3、 第一范式、第二范式和第三范式关系的关系是什么?4、 已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F=A-D,B-C,E- A,该关系模式的候选码是什么?候选码为:(E,B)5、 已知学生表(学号,姓名,性别,年龄,系编号,系名称),存在的函数依赖集合是学号-姓名,学号-性别,学号-年龄,学号-系编号,系编号-系名称,判断其满足第几范式。各个属性不可再分,因此满足1NF。候选码为:学号主属性为:学号码是单个属性构成的,因此,非主属性与码之间是完全函数依赖,满足2NF。因为:学号-系编号,系编号-系名称,存在传递函数依赖,所以不满足3NF。该关系模式满足第二范式。6、 已知关系模式R(D,E,G),存在函数依赖关系E-D,(D,G)-E,请分析该关系模式的候选码和满足第几范式。候选码为:(D,G)和(E,G)主属性:D,E,G不存在部分依赖和传递依赖,所以满足3NF。因为:E-D,不满足BCNF。因此该关系模式满足第三范式。7、 已知关系模式R(A,B,C,D),存在函数依赖关系A-B,A-C,A-D,(B,C)-A,请分析该关系模式满足第几范式。候选码为:A和(B,C)主属性:A,B,CA-D,(B,C)-A,但是 A-(B,C),因此不存在传递函数依赖,满足3NF。A-B,A-C,A-D,(B,C)-A,满足BCNF条件,所以该关系模式满足BCNF。8、 设有关系模式:学生(学号,姓名,所在系,班级号,辅导员,系主任),其语义为:一个学生只能在一个系的一个班级学习,一个系只有一个正职的系主任,一个班只有一个辅导员管理,一个系可以有多个班级。请指出这个关系模式是否满足第三范式。若不满足第三范式,如何进行分解使其满足第三范式。所有属性均不可再分,满足1NF。候选码为:学号主属性:学号候选码为单个属性,所以不存在部分函数依赖,满足2NF学号-所在系,所在系-系主任,存在传递函数依赖学号-系主任,学号-班级,班级-辅导员,存在传递函数依赖学号-辅导员,因此不满足3NF。将该关系模式分解为:学生(学号,姓名,所在系,班级号)班级(班级号,辅导员)系部(所在系,系主任)习题61、说明数据库设计的特点。1)三分技术,七分管理,十二分基础数据 2)综合性3)结构(数据)设计和行为(处理)设计相结合 2、试述数据库设计的过程3、试述数据库设计过程的各个阶段设计内容。 1)需求分析阶段需求分析是对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,是形成最终设计目标的首要阶段。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。 2)概念结构设计阶段概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立于DBMS和有关软、硬件的概念数据模型的设计过程。3)逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化的设计过程。4)物理设计阶段数据库物理设计阶段,是将逻辑结构设计阶段所产生的逻辑数据模型,转换为某种计算机系统所支持的数据库物理结构的实现过程。5)数据库实施阶段数据库实施阶段,即数据库调试、试运行阶段。一旦数据库的物理结构形成,就可以用已选定的DBMS来定义、描述相应的数据库结构,装入数据库数据库,以生成完整的数据库,编制有关应用程序,进行联机调试并转入试运行,同时进行时间、空间等性能分析。6)数据库运行和维护阶段数据库实施阶段结束,标志着数据库系统投入正常运行工作的开始。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。4、需求分析中发现事实的方法有哪些?1)跟班作业。通过亲身参加业务工作来观察和了解业务活动的情况。2)开调查会。通过与用户座谈来了解业务活动的情况及用户需求。3)检查文档。通过检查与当前系统有关的文档、表格、报告和文件等,进一步理解原系统,并有利于提供与原系统问题相关的业务信息。 4)问卷调查。5、需求分析阶段的设计目标是什么?调查的内容是什么?需求分析阶段的目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,确定企业的组织目标,明确用户的各种需求,进而确定新系统的功能,并把这些要求写成用户和数据库设计者都能够接受的文档。调查内容:业务现状、信息源、外部要求。6、数据字典的内容和作用是什么?数据字典是系统中各类数据描述的集合,它的功能是存储和检索各种数据描述,并为DBA提供有关的报告。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。7、什么是数据库的概念结构?将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构设计是整个数据库设计的关键。8、试述数据库概念结构设计的重要性和设计步骤。将概念设计从数据库设计过程中独立出来的优点:1)各阶段的任务相对单一,设计复杂程度大大降低,便于组织管理。2)不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模式更为稳定。3)概念模式不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而才有可能准确地反映用户的信息需求。概念设计的步骤:1)进行局部数据抽象,设计局部概念模式2)将局部概念模式综合成为全局概念模式 3)评审9、把E-R模型转换为关系模型的转换规则有哪些?1)实体的转换一个实体对应一个关系模型,实体的名称即是关系模型的名称,实体的属性就是关系的属性,实体的码就是关系的码。2)联系的转换1:1联系转换方法一:转换为一个独立的关系模式,该联系相连的各实体以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。方法二:可以与任意一端对应的关系模式合并。合并时,需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。1:n联系转换方法一:转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。方法二:与n端对应的关系模式合并,需要在该关系模式中加入1端实体的码和联系本身的属性。m:n联系转换将联系单独转换为一个独立的关系,则与该联系相连的各实体以及联系本身的属性均转换为关系的属性,每个实体的码组成关系的码或关系的码的一部分。10、数据模型的优化包括哪些方法?为了进一步提高数据库应用系统的性能,应根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。1)利用规范化理论进行优化2)逆规范化处理增加冗余、增加派生属性、重建关系和分割关系。习题71、 试述事务的概念及事务的四个特性。事务(Transaction)是用户定义的一个数据库操作序列,这些操作是一个完整的工作单元,一个事务内的所有语句被作为一个整体,这些操作要么全做,要么全不做。事务是数据库环境的中的逻辑单元,相当于操作系统中的进程。为了保证数据库中数据的正确性,一个事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability )。这四个特性简称ACID特性。2、 试述事务的状态及转换。3、 在数据库中为什么要并发控制?并发控制能保证事务的哪些特性?数据库的一个明显的特点是多个用户共享数据库资源,尤其是多用户可以同时存取相同的数据。在这样的系统中,在同一时刻并发运行的事务数可达数百个。若对事务的并发操作不加以控制,就会造成数据存、取的错误,破坏了数据的一致性和完整性。并发控制可以防止数据不一致性出现。4、 并发操作可能会产生哪几类数据不一致?用什么方法可以避免不一致性的情况?并发操作带来的数据不一致性分为四种情况:丢失数修改、读“脏”数据、不可重复读和产生“幽灵”数据。在数据库环境下,进行并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法。商用的DBMS一般都采用封锁方法 。5、 什么是封锁?基本的封锁类型有哪些?试述它们的含义。封锁机制,即加锁(Locking),是一种并发控制机制,是用来调整对共享目标的并行存取的技术。事务通过向封锁管理程序的系统组成部分发出请求而对事务加锁。基本封锁类型有两种:共享锁(Share Locks,简记为S锁或读锁)和排它锁(Exclusive Locks,简记为X锁或写锁)。6、 如何用封锁机制保证数据的一致性?在运用X锁和S锁对数据对象加锁时,还需要约定一些规则,这些规则为封锁协议或加锁协议(Locking Protocol)。对封锁方式加不同的规则,就形成了各种不同级别的封锁协议。不同级别的封锁协议所能达到的一致性级别是不同的。7、 什么样的并发调度是正确的调度?可串行性(Serializability)是并发事务正确调度的准则。按照这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度 。8、 理解并解释下列术语的含义:封锁、活锁、死锁、排他锁、共享锁、可串行化的调度、两段锁协议。1)加锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,封锁其要使用的数据。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。2)活锁:如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求,T2有可能永远等待,这就是活锁。3)死锁:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁,接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样T1在等待T2,而T2又在等待T1,T1和T2两个事务永远不能结束,形成死锁。4)共享锁: 若事务T对数据对象A加上S锁,则事务T可以读A,但不能修改A。其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改 。5)排他锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,但不允许其它事务再对A加任何类型的锁和进行任何操作,直到T释放A上的锁。这就保证其他事务在T释放A上的锁之前不能再读取和修改A 。6)多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化(Serializable)调度。7)所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。具体内容如下:在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁; 在释放一个封锁之后,事务不再申请和获得任何其他封锁。9、 数据库中为什么要有恢复子系统?它的功能是什么?系统故障会丢失这些事务对数据的修改,使数据库处于不一致状态。恢复子系统在系统重启时,撤销所有未完成的事务,并重做已经提交的事务, 以保证将数据库真正恢复到一致状态。10、 数据库运行过程中可能产生的故障有几类?哪些故障影响事务的正常执行?哪些 故障破坏数据库数据?1) 事务内部的故障事务内部的故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理的。事务故障意味着事务没有达到预期的终点,因此,数据库可能处于不正确的状态。恢复程序要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样。这类恢复操作称为事务撤销(UNDO)。2)系统故障系统故障又称为软故障,是指造成系统停止运转,要使得系统重新启动的故障。例如,硬件错误(如CPU故障)、操作系统故障、DBMS代码错误、系统断电等都是系统故障。这样的故障会影响正在运行的所有事务,但不破坏数据库。3)其他故障介质故障或由计算机病毒引起的故障或破坏可归为其他故障。介质故障常称为硬故障,指外存故障,如磁盘损坏、磁头碰撞等。这类故障会对数据库造成破坏,并影响正在操作数据库的所有事务。这类故障发生的可能性小得多,但破坏性最大。各种故障对数据库的影响有两种可能性:一是数据库本身被破坏;二是数据库没有被破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。11、 数据库恢复技术有哪些?1)利用备份技术2)利用事务日志3)利用镜像技术12、 什么是数据库的备份?数据备份是指定期或不定期地对数据库数据进行复制,可以将数据复制到本地机器上,也可以复制到其他机器上,也称为数据转储。13、 什么是日志文件?为什么要设日志文件?日志文件(log)是用来记录事务对数据库的更新操作的文件。具体的作用是:a)事务故障恢复和系统故障恢复必须用日志文件。b)在动态备份方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库。14、 登记日志文件时为什么必须先写日志文件,后写数据库?如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。所以为了安全,一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改,这就是“先写日志文件”的原则。15、 什么是数据库镜像?它有什么用途?所谓镜像就是在不同的设备上同时存有两份数据库,把一个设备称为主设备,另一个称为镜像设备。主设备和镜像设备互为镜像关系,每当主数据库更新时,DBMS自动把整个数据库或其中的关键数据复制到另一个镜像设备上。保证镜像数据与主数据库的一致。这样,一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。由于数据库镜像是通过复制数据实现的,频繁地复制数据自然会降低系统运行效率,因此在实际应用中用户往往只选择对关键数据和日志文件镜像,而不是对整个数据库进行镜像。习题81、 什么是数据库的安全性?数据库的安全性是指数据库的任何数据都不允许受到恶意的侵害或未经授权的存取或修改。主要内涵包括三个方面:保密性:不允许未经授权的用户存取数据。完整性:只允许被授权的用户修改数据。可用性:不应拒绝已授权的用户对数据进行存取。2、 什么是数据库的完整性?数据库的完整性是指数据库中数据的正确性和一致性。数据库的完整性对数据库应用系统非常重要。3、 什么是数据库的完整性约束条件?为了保证数据库中的数据完整性,SQL Server设计了很多数据完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。4、 DBMS的完整性控制机制应具有哪些功能?1) 数据库的完整性约束能够防止合法用户向数据库中添加不合语义的数据。2) 完整性控制机制易于理解,可以降低应用程序的复杂性,提高运行效率。3) 合理的数据完整性设计,能够兼顾数据库的完整性和系统的性能。完善的数据库完整性,有助于尽早发现应用程序的错误。5、 DBMS在实现参照完整性时需要考虑哪些方面?强制参照完整性时,SQL Server将防止用户执行下列操作:1)在主表中没有关联的记录时,将记录添加或更改到相关表中。2)更改主表中的值,导致相关表中生成孤立记录。3)从主表中删除记录,但仍存在于该记录匹配的相关记录。6、 在关系系统中,当操作违反实体完整性、参照完整性和用户定义完整性约束条件时,一般是如何处理的?系统可以采用以下的策略加以处理:1)拒绝(NO ACTION)执行:不允许该操作执行,该策略一般为默认策略。2)级联(CASCADE)操作:当删除或修改被参照表的一个元组造成了与参照表不一致,则删除或修改参照表中的所有造成不一致的元组。3)设置为空值(SET-NULL):当删除或修改被参照表的一个元组造成了与参照表不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。7、 数据库安全性和计算机系统的安全性有什么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论