附录习题答案汇总_第1页
附录习题答案汇总_第2页
附录习题答案汇总_第3页
附录习题答案汇总_第4页
附录习题答案汇总_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、习题答案 习题1答案1. 什么是数据库?数据库是长期储存在计算机内的(存储在磁盘等外部直接存取设备上)、有组织的(按一定的数据结构组织起来的)、可共享的数据集合。2. 简要概述数据库、数据库管理系统和数据库系统各自的含义。数据库、数据库管理系统和数据库系统是三个不同的概念,数据库强调的是相互关联的数据,数据库管理系统是管理数据库的系统软件,而数据库系统强调的是基于数据库的计算机应用系统。3. 数据独立性的含义是什么?数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性,从而大大降低应用程序的开发代价和维护代价。4. 数据完整性的含义是什么?保证数据正确的特性在数据库中称之为数据

2、完整性。5. 简要概述数据库管理员的职责。数据库管理员的职责可以概括如下:首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划;(1) 在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计;(2) 在数据库运行阶段首先要负责对用户进行数据库方面的培训;负责数据库的转储和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。6. 文

3、件系统用于数据管理存在哪些明显的缺陷?文件系统用于数据管理明显存在如下缺陷:(1) 数据冗余大。这是因为每个文件都是为特定的用途设计的,因此就会造成同样的数 据在多个文件中重复存储。(2) 数据不一致性。这往往是由数据冗余造成的,在进行更新时,稍不谨慎就会造成同 一数据在不同文件中的不一致。(3) 程序和数据之间的独立性差。应用程序依赖于文件的存储结构,使得若修改文件的 存储结构则必须修改程序。(4) 数据联系弱。文件与文件之间是独立的,文件之间的联系必须通过程序来构造。因此,文件系统是一个不具有弹性的、无结构的数据集合,不能反映现实世界事物之间的联系。习题2答案1. 数据的三种范畴的含义是什

4、么?数据需要我们的认识、理解、整理、规范和加工,然后才能存放到数据库中。数据从现 实生活进入到数据库实际经历了现实世界阶段(认识、理解)、信息世界阶段(规范、提升)和机器世界阶段(管理),我们称为数据的三种范畴,数据在三种范畴中的概念、术语都有些 不同。2. 试述为什么要讨论实体之间的联系类型?实体之间的联系类型决定了数据库设计时的结果,与数据库的设计质量密切相关。3. 多对多联系如何转换成一对多联系?并举例说明。通过引入一个表示联系的实体,将原来两个实体之间的一个多对多的联系转换成分别与 表示联系的实体之间的两个一对多的联系。例如,仓库和材料两个实体之间存在着多对多的 联系,即一个仓库可以存

5、放多种材料,一种材料可以存放在多个仓库;通过引入一个库存实 体转换为仓库与库存之间的一对多联系和材料与库存之间的一对多联系。4. 传统的三大数据模型是哪些?它们分别是如何表示实体之间的联系的?传统的三大数据模型是层次模型、网状模型和关系模型。层次模型用层次结构表示联系,它的典型代表IMS用层次型表示联系;网状模型用网状结构表示联系,它的典型代表 CODASYL用系表示联系;关系模型用关系表示联系。5. 解释物理独立性和逻辑独立性的区别。物理数据独立性强调的是应用程序与数据的存储结构相互独立的特性,即修改数据的存 储方法或数据结构时不影响应用程序;而逻辑数据独立性强调的是应用程序与数据的概念结

6、构相互独立的特性,即修改概念结构中的字段时不影响应用程序。6. 说明在DBMS存储模式、概念模式和外部模式的作用。存储模式描述了数据库的存储结构,它包括对存储数据库中每个文件以及字段的描述, 包括用于实现辅助关键字或存储文件间联系的指针字段的细节。存储数据库利用存储模式组 织和存取存储数据库中的文件。如果要修改存储数据库的结构(例如,用倒排文件代替多链 表),那么仅仅需要把这些修改反映在存储模式中,以使数据库存储系统能够操作新的存储数据库。按这种方法,数据库管理系统可以提供存储(物理)数据独立性。概念模式是对概念数据库的描述,它包括对概念文件及概念文件之间联系的描述。概念 数据库不包含真正的数

7、据,一切都是由存储数据库决定的。外部模式则是对外部数据库的描述,它需要说明外部文件、构成外部文件的字段及这些 外部文件之间的联系。数据库管理系统提供了外部模式与概念模式之间的映象以及概念模式与存储模式之间的 映象,使用户通过外部数据库或概念数据库来操作存储数据库。习题3答案一 问答题1. 答:1)主键和候选键:若关系中的某一属性组(或单个属性)的值能惟一标识一个元组, 则称该属性组(或属性)为候选键。当一个关系有多个候选键时,应选定其中的一个候选键为主键;而如果关系中只有一个候选键,这个惟一的候选键就是主键。 外键:关系模式 R中的某一属性(或属性组)F与关系模式R2的主键相对应,但不是 R的

8、超键,则称F是关系模式Ri的外键。2)笛卡尔积:给定一组域Dl , D2,,Dn,这些域中可以有相同的部分,则Di, D2,,Dn的笛卡儿积为: Dl x D2X-X Dn=(d1 , d2,,dn)di Di , i=1 , 2,n. 关系:D1X D2X-X Dn的子集称作在域 D1, D2,,Dn上的关系,表示为:R( D1,D2,,Dn)。其中,R表示关系的名字,n是关系的目。 元组:笛卡儿积集合中的每一个元素(d1 , d2,,dn)称为一个元组。 属性:关系中的每一列称为一个属性。 域:域为数据集合,属性值来源于域。3)关系:关系是笛卡儿积的有限子集,所以关系也是一个二维表。 关系

9、模式:关系的描述称为关系模式。关系模式可以形式化地表示为:R(U, D, DomF)。其中:R为关系名,它是关系的形式化表示; U为组成该关系的属性集合; D为属性组U 中属性所来自的域;Dom为属性向域的映像的集合; F为属性间数据的依赖关系集合。 关系数据库:在某一应用领域中,所有实体集及实体之间联系所形成关系的集合就构 成了一个关系数据库。2. 答:关系模型中有 3类完整性约束:实体完整性、参照完整性和用户定义的完整性。关系的实体完整性规则为:若属性A是基本关系R的主属性,则属性A的值不能为空值。 关系的参照完整性规则为:若属性(或属性组)F是基本关系R的外码,它与基本关系 S的主码Ks

10、相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必 须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。由于外码在被参考关系 A中,是非主属性,其值为空,不影响关系的实体完整性。当外码值不清楚或不确定时,可以设为空值,此时参照表中没有对应的记录与之匹配。3. 答:等值连接是从关系 R和S的广义笛卡儿积中选取 A和B属性值相等的那些元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。4. 答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组对 用户而言没有先后顺序,在关系中

11、区分哪一个元组依据的主码的值而不是行的顺序。关系代数运算是以关系为运算对象,由并、差、笛卡儿积、投影、选择5个基本操作进由数理逻辑的谓词进行有限行有限次的复合运算。关系演算运算是以元组或域为运算对象, 次的演算。二.计算题ABC1233781781342371. 解:ABC378(2) R 2=RA S(1) R 1= R U SABC123178 R 3=R-SR.AR.BR.CS.AS.BS.C123134378134178134123237378237178237123378378378178378 R 4=RX S2. 解:(1) Rae(R)ABCbad r 2=n a,c(r)AC

12、acbdcedg3.解:(1) Ri= R X SAR.BR.Cs.bs.cD123234378234978234178234123237378237978237178237123786378786978786178786(2) R2=R - S(3)R3=Rr.a=scSAR.BR.Cs.bs.cD378234378237 R4= RS;-|ABCD123412373786978617861) n SN( JNO= Ji (SPJ)2) n sn(JNO= Ji A PNO= Pi (SPJ)4.解:3) n SnO J JNO= Ji A COLOR=红色 (SPJ ? P)4) n JN

13、c(J)-n JNC( J CITY= 天津A COLOR=红色 (S?SPJ? P)5.解:1)n S#,CNAM(AGE21ASEX=男 (S)5)n JNO,PN(SPJ) +n PNC( 口 SNO= S1 (S ? SPJ)2)n c#,cname(c ?( n s#,c#(sc) *n s#(s)3) n 2,6,7( 籍贯=,上海,(S ? sc)4) n2,3(s?(n 1,2(sc) -n 1(C)6. 解:(1) 查询男学生的情况。R 1 =(t|(S(t) A t3= /男/)(2) 查询学号为“ 110201 ”的学生选修课程中成绩为8 0分以上的所有课程号。R 2 =

14、t (1) |( u) (SC(u) A t1=u2 A u1= 110201 z A u3 80)(3) 查询选修课程号为“ 2”的所有学生的学号和姓名。R3= t |(u)( - v) (S(u) A SC(v) A t1=u1 A t2=u2 A u1=v1 A v2= z 2/)7. 解:(1) 查询男学生的情况。R1= t1t2t3t4t5|(S(t1t2t3t4t5)A t3=男)(2) 查询学号为“ 110201 ”的学生选修课程中成绩为8 0分以上的所有课程号。R2= t2|(t1) (t3) (SC(tlt2t3) A t1= 110201A t3 80)(3) 查询选修课程

15、号为“ 2”的所有学生的学号和姓名。R3=tlt2|(t3) (t4)(t5)( ul)( u2)(u3)(S(t1t2t3t4t5) A SC(u1u2u3) A t1 =u1 A u2= 2 )习题4答案1. 简述SQL的版本标准有哪些?答:1976 年 11 月的 IBM Journal of R&D 上公布新版本的 SQL (叫 SEQUEL/2 ), 1980 年改名为SQL。1979年ORACLE公司首先提供商用的SQL, IBM公司在 DB2和SQL/DS数据库系统中也实现了 SQL。1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSI X3.135

16、-1986),后为国际标准化组织(IS O)采纳为国际标准。1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为 ANSI SQL 89 , 该标准替代 ANSI X3.135-1986版本。1992年,ISO和IEC发布了 SQL国际标准,称为 SQL-92。ANSI随之发布的相应标准 是ANSI SQL-92 。ANSI SQL-92有时被称为 ANSI SQL。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循ANSI SQL标准。SQL Server使用ANSI SQL-92的扩展集,称为T-SQL,其遵循ANS

17、I制定的SQL-92标准。2. 简述SQL的特点及主要包含的内容?答:SQL的特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。SQL包含:数据定义语言、数据操纵语言、数据控制语言和数据查询语言。3数据定义语言的作用是什么?答:数据定义语言是SQL中负责数据结构定义与数据库对象定义的语言,用于执行数据库的任务,对数据库以及数据库中的各种对象进行创建、删除、修改等操作。4. 简述SQL的体系结构?答:SQL数据库的体系结构基本上也是三级模式结构,外模式对应于视图,模式对应于基本表,元组称为行,属性称为列。内模式对应于存储文件。5. 当对字符串

18、进行模式匹配时,通常要用到like操作符。LIKE操作符涉及哪些特殊字符? 各自的含义是什么?答:LIKE操作符中有两个特殊字符“和“二其中:“百分号)代表任意长度(包括长度为0)的字符串,下横线)代表任意单个字符。6. SQL中常用的集函数都有哪些?答:SQL 中常用的集函数有:COUNT()、AVG()、SUM()、MIN()和 MAX()等。7. 什么是分组聚集? HAVING 子句的作用是什么?它与 WHERE子句的关系是什么? 答:分组聚集就是对查询结果进行分组后,以每一组为单位进行集函数运算。HAVING则是对GROUP BY以后的分组数据进行条件过滤,其作用对象为组。WHERE子

19、句的作用对象是基本表或视图,从中选择满足条件的元组。&什么是子查询?使用子查询的目的是为了什么?答:在SQL语言的查询条件中,可以使用另一个查询的结果作为查询条件的一部分,这种作为查询条件一部分的查询称为子查询。使用子查询的目的是为了实现复杂查询。9简述视图的概念及优点。答:视图是从一个或几个基本表 (或视图)导出的表,使用户可以从一个特定的角度来查看数据库中的数据,它与基本表不同,是一个虚表,即视图所对应的数据不进行实际存储。视图的优点有:(1) 视图能够集中数据,简化用户的数据查询和处理。(2) 视图便于用户共享数据。(3) 视图提高了数据的逻辑独立性。(4) 视图能够对机密数据提供安全保

20、护。10. 在嵌入式SQL语句与主语言之间如何通信?答:数据库工作单元与源程序工作单元之间通信主要包括:(1) 向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程,主要 用 SQL 通信区(SQL Communication Area,简称 SQLCA )实现;(2) 主语言向SQL语句提供参数,主要用主变量(Host Variable )实现;(3) 将SQL语句查询数据库的结果交主语言进一步处理,主要用主变量和游标(Cursor) 实现。11. 设要建立学生选课数据库,库中包括学生、课程和选课3个表,其表结构为:学生(学号,姓名,性别,年龄,所在系);课程(课程号,课程名,

21、学分,先行课);选课(学号,课程号,成绩)。用Transact-SQL完成下列操作。答:(1) 建立学生、课程和选课表,要求指定各表的主码,并且建立学生性别只能为男”或女”的规则。Create table 学生(学号 char(6),姓名 char(8) unique,性别 char(2) check(性别 in(男,女),年龄 int(3),所在系char(20),primary key(学号);Create table 课程(课程号 char(5),课程名 char(20) unique,先行课char(20),primary key(课程号);Create table 选课(学号 Cha

22、r(6) not null,课程号 Char(6) not null,成绩 numeric(3),primary key(学号,课程号),foreign key(学号)references 学生(学号),foreign key(课程号)references 课程(课程号);(2) 分别查询学生表和学生选修课表的全部数据。select * from 学生select * from 选课(3) 查询计算机系的学生的姓名、年龄。select姓名年龄from学生 where所在系=计算机系(4) 查询选修了 C02号课程的学生的学号和成绩。select学号,成绩from 选课 where课程号=c02

23、(5) 查询成绩在60到90分之间的学生的学号和成绩。select学号 课程号,成绩from 选课 where成绩 between 60 and 90(6) 查询信息系年龄在15到21之间且性别为 女”的学生的姓名、年龄。select姓名,年龄from 学生 where所在系=信息系and性别=女and年龄 between 15 and 21(7) 查询9912101号学生的修课情况。select * from 选课 where 学号=9912101(8) 查询学生都选修了哪些课程,要求列出课程号。select distinct 课程号 from 选课(9) 查询c05号课程成绩最高的分数。s

24、elect max(成绩)最高分 from 选课 where课程号=c05(10) 查询学生的最大年龄和最小年龄。select max(年龄)最大年龄,min(年龄)最小年龄 from 学生(11) 查询修了 C04号课程的所有学生的平均成绩、最高成绩和最低成绩。select avg(成绩)平均成绩,max(成绩)最高成绩,min(成绩)最低成绩from 选课 where课 程号=c04(12) 统计每个系的学生人数。select所在系,count(*) 人数 from 学生 group by 所在系(13) 统计每门课程的修课人数和考试最高分。select课程号,count(*)修课人数,m

25、ax(成绩)最高分from选课group by课程号(14) 统计每个学生的选课门数,并按选课门数的递减顺序显示结果。select学号,count(课程号)选课门数 from 选课group by学号 order by count(课程号)desc(15) 统计各系的修课的学生总数和考试的平均成绩。select count(distinet sno)修课人数,avg(成绩)平均成绩 from 学生,选课 where学生 学号= 选课学号 group by 所在系(16) 查询选课门数超过 3门的学生的平均成绩和选课门数。select学号,count(课程号)选课门数,avg(成绩)平均成绩 f

26、rom 选课group by学号having count(课程号)3(17) 列出总成绩超过300分的学生,要求列出学号、总成绩。select学号,sum(成绩)总成绩from 选课group by学号 having sum(成绩)300(18) 查询选修了 C04号课程的学生的姓名和所在系。select姓名,所在系from 学生 st,课程sc where st.学号=sc.学号 and sc课程号=c04(19) 查询成绩90分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。select姓名,课程号,成绩from 学生st,课程sc where st.学号=sc.学号 and成绩9

27、0 order by 成绩 desc或者select姓名,课程号,成绩from 学生st join选课sc on st.学号=sc.学号 where成绩90 order by成绩 desc(20) 查询信息系男生选修了数据库原理及应用”的学生的姓名、性别、成绩。select姓名,性别,成绩from学生st ,课程co,选课sc where st.学号=sc.学号and sc.课程号=co.课程号and st.所在系=信息系and co.课程名=数据库原理及应用and st.性别=男(21) 查询哪些学生年龄相同,要求列出年龄相同的学生的姓名和年龄。select distinct s1.姓名,s

28、1.年龄 from 学生 s1 join 学生 s2 on s1.年龄=s2.年龄 order by s1.年 龄(22) 查询学生的选课情况,要求列出每位学生的选课情况(包括未选课的学生),并列出学生的学号、姓名、修课号、修课成绩。select student学号,姓名 課程号,成绩from 学生left join 选课on学生.学号=选课学号(23) 查询哪些课程没有人选,要求列出课程号和课程名。select co.课程号,co.课程名from课程co ,选课scwhere co.课程号=sc.课程号 and co.课程号 not in(select 课程号 from sc)习题5答案一.

29、问答题1. 答:略。2. 答:正确。因为学号能够多值决定课程号,且除了学号和课程号外还有成绩属性,它不是平凡的多值依赖。3. 答:BCNF。由于A多值依赖于 C,而C不是码,故不属于 4NF。但在函数依赖式中,C依赖于码AB,故该模式属于 BCNF4. 答:1) 正确。2) 正确。3) 正确。4) 正确。5) 正确。6) 正确。7) 正确。8) 不正确。例如,(学号,课程号)7成绩,则不存在:学号t成绩,课程号t成绩。5. 答:?= Ri(Ui, Fl) , R2(U2, F2),R(Un, Fn)是关系模式 R(U, F)的一个分解,若n对R(U, F)任何一个关系r均有r=m(r)成立,m

30、(r)=二r (r),则分解?具有无损连接性。二.分析题1. (1)关系R的基本函数依赖有:R (商店编号,商品编号,商品库存数量,部门编号,部门负责人)(商店编号,商品编号)T商品库存数量(商店编号,商品编号)T部门编号(商店编号,部门编号)T负责人(商店编号,部门编号)T商品编号(2) 关系模式R的候选码:(商店编号,商品编号,部门编号)(3) 关系模式R仅达到第一范式,因为在该关系中存在着非码属性对码的部分函数依赖。将R分解成3NF:R1(商店编号,商品编号,部门编号,商品库存数量)R2(商店编号,部门编号,部门负责人)2. (1) 关系R是2NF(2) 存在插入、删除异常:当增加一个新

31、部门,而该部门还没有员工时,不能加入,从而发生插入异常;当某部门只有一名员工,删除该员工时会把该部门的信息也删除了,从而发生删除异常。原因在于非码属性“部门名称”对码“职工号”存在传递函数依赖。(3) 分解为两个关系,使之达到3NF:职工(职工号,职工名,年龄,性别,部门号)部门(部门号,部门名称)(4) 分解后的关系可以避免上述操作异常问题。当增加一个新部门,而该部门还没有员工时,仍然可以向部门关系中加入该部门信息, 从而解决了插入异常问题。当某部门只有一名员工,删除该员工时,直接删除职工关系中的该行信息即可,不再会把该部门的信息也删除,从而解决了删除异常问题。3. 答:因为 U1A U2=

32、E U 1-U2= ABU1P U2t Ui - U 2=Et AB=E tA, Et BU1P UtUi - U 2 F+。所以该分解具备无损连接。4. 答: 将F中右部属性单一化。F1=E tG,Gt E,Ft E, FtG,H7 E,HtG,FHtE 去掉左部冗余的属性。对于FHH E,由于有Ft E,则为多余的。F2=E tG,Gt E,Ft E,F tG,Ht E,HtG 去掉冗余的函数依赖。F2中的FtE和FtG 以及HRE, HRG之一是冗余的。贝U: F3=Et G,GtE,Ft G,HR G5. 答:第一步:将 B置入(B) f+中,即(B)f+=B。第二步:由于Bt D的决

33、定因素B属于(B)f+,则将依赖因素 D置入(B) f+中,即(B) f+=BU D=BD而在F中再找不到某个函数依赖的决定因素属于(B) f+,因此(B) f+ =BD。2)根据候选码的定义,R的候选码只可能由F中各个函数依赖的左边属性组成,即A, B,C, D, E。由于 At BC(At B, At C), 4 D, Eta,故: 可除去A, B, C, D,组成候选码的属性可能是E。计算可知:E+= ABCDE即Er U, E是一个候选码。 可除去A, B, E,组成候选码的属性可能是CD计算可知:(CD)+=ABCDE即CM U,但C+=C, DD, CD是一个候选码。 可除去B,

34、C, D, E,组成候选码的属性可能是 A。计算可知:A+= ABCDE即At U, A是一个候选码。 可除去A, D, E,组成候选码的属性可能是BG计算可知:(BC)+=ABCDE即CMU,但B+= BD, C=C, BC是一个候选码。R的所有候选码是 A, BC CD E。6. 答:1) 第一步:将 D置入(D) f+中,即(D) f+=Do第二步:由于DTG的决定因素D属于(D) f+ ,则将依赖因素 G置入(D) f+中,即(D)f+=D U G=DG而在F中再找不到某个函数依赖的决定因素属于(D) f+,因此(D) f+ =DG。2) 第一步:将 AC置入(AC) f+中,即(AC

35、) f+=ACo第二步:由于At B的决定因素A属于(AC) f+,则将依赖因素B置入(AC) f+中,即(AC) f+=ACU B=ABC而在F中再找不到某个函数依赖的决定因素属于(AC) f+,因此(AC) f+ = ABC。3) 第一步:将 ACD置入(ACD)f+中,即卩(ACD)f+= ACDo第二步:由于Dt G的决定因素D属于(ACD)f+,则将依赖因素 G置入(ACD)f+中,即(ACD) f+= acdu g= acdg第三步:由于 C E的决定因素CD属于(ACD) F+,则将依赖因素 E置入(ACD)f+中,即(ACD) f+= ACDGU E= ACDGE第四步:由于A

36、t B的决定因素 A属于(ACD) f+ ,则将依赖因素 B置入(ACD)f+中,即(ACD) f+ = ACDGEU B= ABCDEG 不能使(ACD)f+再扩大。而在F中再找不到某个函数依赖的决定因素属于(ACD)f+,因此(ACD)f+ = ABCDEG7. 答:根据无损连接充分必要条件,由于 Rn R2= , R-R2=A, B, D,所以这个分解不是无损连接。又根据函数依赖定义F 1=二 & (F)=(A,B) tD),F 2r2 (F)=C t E)F 1 U F2=(A,B) t D,Ct E=F所以这个分解是保持函数依赖的。8. 答:At BC(已知)A t C (分解性)A

37、D t CD (增广性)CD t EF (已知)AD t EF (传递性)AD t F (分解性)习题6答案1. 简述数据库设计的特点。答:(1)数据库建设是硬件、软件和干件的结合。(2)数据库设计应该与应用系统设计相结合。2. 数据库的设计大致分几个阶段?每个阶段的主要任务是什么?答:据库的设计大致分为 七个阶段:应用规划、需求分析、概念结构设计、逻辑结构设计、物 理结构设计、实施及运行维护。划阶段必须要完成的任务包括:确定系统的范围;确定开发工作所需的资源(人员、硬件和软件);估算软件开发的成本;确定项目进度。需求分析阶段是计算机人员(系统分析员) 和用户共同收集数据库所需要的信息内容和用

38、户对处理的要求, 加以规格化和分析,以书面形式确定下来, 作为以后验证系统的依据。概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形 成一个独立于具体 DBMS的概念模型。逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法。在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。运行维护阶段的主要任务有:维护数据库的安全性与完整性;监测并改善数据库运行性 能;根

39、据用户要求对数据库现有功能进行扩充;及时改正运行中发现的系统错误。3. 常用的数据库设计的方法有哪些?答:常用的数据库设计的方法有 新奥尔良(New Orleans )方法和计算机辅助设计方法。4. 一般用户的需求有哪些方面?答:一般用户需求主要有:信息需求、处理需求和性能需求。5. 简述收集用户需求的方法和步骤?答:收集用户需求的步骤主要有 :(1)首先调查组织机构情况;(2)然后调查各部门的 业务活动情况;(3)协助用户明确对新系统的各种要求;(4)确定新系统的边界。收集用户需求的方法:(1)跟班作业;(2)开调查会;(3)问卷调查;(4)访谈询问;(5)查阅记录。6什么是数据流图,它由哪

40、几部分组成?答:数据流图(Data Flow Diagram,DFD)是SA中使用的工具,它以图形的方式描绘数据 在系统中流动和处理的过程,描绘信息流和数据从输入移动到输出的过程中所经受的变换。 数据流图包括系统的外部实体、处理过程、数据存储和系统中的数据流四个组成部分。7. 简述概念结构设计的方法和步骤。答:设计概念结构的方法通常有四种:自顶向下:首先定义全局的概念结构的框架,然后逐 步分解细化。自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局 概念结构。逐步扩张:首先定义核心的概念结构,然后以核心概念结构为中心,以滚雪球的 方式向外部扩充逐步生成其他概念结构,直至形成全

41、局的概念结构。进行概念结构设计时一般分为两步:首先要根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图,即分E-R图;然后集成局部视图,设计全局E-R图。8. 抽象有哪些类型,局部视图设计的步骤是什么?答:抽象一般有三种类型:分类、聚集和概括。局部E-R图的设计分为四个步骤: 确定视图范围、定义实体、定义属性、确定联系。,9. 简述全局视图设计的方法和步骤。答:全局视图设计的方法有:一次集成:一次将所有的局部E-R图综合,形成总的 E-R图,比较复杂,难度比较大。逐步集成:一次将一个或几个局部E-R图综合,逐步形成总的 E-R,难度相对较小。无论采用哪种集成方

42、式,一般都要分两步走: 合并:解决E-R之间的冲突,生成初步的 E-R图。重构:消除不必要的冗余,生成基本的E-R图。10. E-R图如何向关系模型的转换?简述转换的步骤及原则。答:E-R图向关系模型的转换的步骤 :(1)将概念结构转换为关系结构,这是逻辑结 构设计的主要工作。(2) 将转换得到的关系模式再转换为具体DBMS所支持的数据模型。(3)对所得到的数据模型进行必要的优化。E-R图向关系模型的转换原则:(1)一个实体型转换为一个关系模式。(2)实体间的联系根据联系的类型,转换如下:一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。一个1: n联系可以转换为

43、一个独立的关系模式,也可以与n端对应的关系模式合并。一个m: n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。同一实体集的实体间的联系,即自联系。具有相同码的关系模式可合并。将一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性,并适当调整属性的次序。11. 如何优化关系模型? 答:优化关系数据模型的方法为:(1)确定数据依赖。(2)对于各个关系模式之间的数据依

44、赖进行极小化处理,消除冗余的联系(参看范式 理论)。(3)按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传 递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。(4) 按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解,以提高数据操作的效率和存储空间的利用率。12. 试述数据库物理设计的内容和步骤。答:数据库物理设计的内容有:(1)为关系模式选择存取方法 (建立存取路径)。(2)设计关系、索引等数据库文件的物理存储结构。数据库的物理结构设计的步骤:(1)确定数据库的物理结构,在关系数据库中主要是存储结

45、构和存储方法;(2)对物理结构进行评价,评价的重点是时间和空间的效率。13. 数据库实施的步骤及试运行包含的内容。答:数据库的实施的主要步骤有:用DDL定义数据库结构;组织数据入库;编制与调试应用程序。(1) 功能测试:实际运行应用程序,执行其中的各(2)性能测试:分析系统的性能指标,从总体上看系数据库试运行主要包括如下内容: 种操作,测试各项功能是否达到要求。 统是否达到设计要求。14. 现有一个局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联 系,请设计适当的属性,画出E-R图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。答:E-R图为:关系模型为:

46、作者(作者号,姓名,性别,年龄,电话,地址)出版(作者号,出版社号,书的数量)出版社(出版社号,名称,地址,联系电话)15. 请设计一个图书馆数据库,此数据库中对每个借阅者保存的记录包括:读者号,姓名, 地址,性别,年龄,单位。对每本书保存有:书号,书名,作者,出版社。对每本被借出的 书保存有读者号、借出日期和应还日期。要求:给出该图书馆数据库的E-R图,再将其转换为关系模型。答:读者(读者号,姓名,地址,性别,年龄,单位)书(书号,书名,作者,出版社)借书(读者号,书号,借出日期,应还日期)习题7答案1什么是数据库的安全性?什么计算机系统的安全性?答:数据库安全性主要指保护数据库,防止不合法

47、的使用,以免数据的泄漏、更改或破坏。 计算机系统的安全性是指计算机系统建立和采取的各种安全保护措施,以保护计算机系统中 的硬件、软件及数据,防止因偶然或恶意的原因使系统遭到破坏,数据遭到更改和泄漏。计算机系统的安全不仅涉及到计算机系统内部本身的安全问题,而且也涉及到计算机系统外部的很多安全问题。2. 试述实现数据库安全性控制的常用方法和技术。答:实现数据库安全性控制的常用方法和技术有:用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。3. 在TCSEC标准中操作系统的安全性有哪些类别和等级?答:在TCSEC标准中将操作系统的安全性划分为 A、B、C、D四个类别七个等级,其中D为无保

48、护级,C为自主保护级,B为强制保护级,A为验证保护级,七个等级从低到高依次为:D、C1、C2、C3、B1、B2、B3、A1。4. SQL Server 2008安全管理分为几层?每层的功能是什么?答:SQL Server 2008安全管理分为三层,第一层安全是SQL Server 2008服务器级别的安全性,该级别的安全性是建立在控制服务器的登录账号和密码基础上的,必须有正确的服 务器账号和密码, 才能连接上SQL Server 2008服务器。SQL Server 2008提供了 Windows账 号登陆和SQL SERVER账号登录两种方式。第二层安全是数据库级别的安全性,通过第一层安全检

49、查之后,就要接受第二层安全检 查,即是否具有访问某个数据库的权限。如果没有相应权限,访问会被拒绝。当创建服务器 登录账号时,系统会提示选择默认的数据库,该账号在连接到服务器后,会自动转到默认的 数据库上。默认情况下,Master数据库是登录账号默认的数据库。由于Master数据库中有大量的系统信息,所以不建议把Master数据库设置为默认的数据库。第三层安全是数据库级别的安全性。用户通过前两层的安全认证之后,在对具体的数据 库对象进行操作时, 将进行权限检查,用户想访问数据库里的对象,必须事先获得访问权限,否则,系统将拒绝访问。数据库对象的拥有者享有对该对象的全部权限。在创建数据库对象 时,S

50、QL Server自动把该对象的所有权赋予该对象的创建者。5什么是数据库的完整性?数据库的完整性概念与数据库的安全性概念有什么区别和联 系?答:数据库完整性(Database Integrity )是指数据库中数据的正确性和相容性,防止错误的 数据进入数据库造成无效操作。数据库的完整性和安全性是数据库保护的两个不同的方面。安全性是保护数据库, 以防止非法使用所造成数据的泄露、 更改或破坏,安全性措施的防范对象是非法用户和非法操作; 完整性是防止合法用户使用数据库时向数据库中加入不符合语义的数据,完整性措施的防范对象是不合语义的数据。但从数据库的安全保护角度来讲,安全性和完整性又是密切相关的。

51、6什么是数据库的完整性约束条件?可分为哪几类? 答:对数据库中的数据设置一些约束条件,这些加在数据库数据上的语义约束条件称为数据库完整性约束条件,它包括数据本身的某些语义、语义限制、数据间的逻辑约束以及数据变 化时所应遵循的规则等。根据完整性约束条件的作用状态,可分为静态约束条件和动态约束条件两种。 根据DBMS检查用户的操作请求是否违背完整性约束条件的时机,完整性约束又可分为立即执行和延迟执行两种。根据完整性约束条件的作用对象和状态,数据库完 整性约束可分为六类:列级静态约束、元组级静态约束、关系级静态约束、列级动 态约束、元组级动态约束、关系级动态约束。7. DBMS的完整性控制机制应具有

52、哪些功能?答:DBMS勺完整性控制机制应具有:(1)定义功能:为用户提供定义完整性约束条件的命令或工具。(2) 检查功能:能够自动检查用户发出的操作请求是否违背了完整性约束条件。(3) 保护功能:当发现用户的操作请求使数据违背了完整性约束条件时,能够 自动采取一定的措施确保数据的完整性不遭破坏。8. RDBMS在实现参照完整性时需要考虑哪些方面?答:RDBM在实现参照完整性时需要考虑参照关系中的外键取值问题,被参照关系中删除元 组的问题,在参照关系中插入元组的问题,元组中主键值的修改问题。9. 完整性设计的原则是什么?答:完整性设计的原则是:(1)根据数据库完整性约束的类型确定其实现的系统层次

53、和方 式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。(2) 实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系 统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是很必要的。(3) 要慎用目前主流 DBMS都支持的触发器功能,一方面由于触发器的性能开销较大, 另一方面,触发器的多级触发不好控制,容易发生错误。(4 )在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、 缩写词、表名、列名及下划线等组合,使其易于识别和记忆。(5) 要根据业务规则对数据库完整性进行细致的测试,以尽早

54、排除隐含的完整性约束间 的冲突和对性能的影响。(6) 要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。(7)应采用合适的CASE工具来降低数据库设计各阶段的工作量。 好的CASE 工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很 大提高,同时也容易与用户沟通。10. 假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:(1) 定义每个模式的主码。(2) 定义参照完整性。(3) 定义职工年龄不得小于 18岁。答:CREATE TABLE

温馨提示

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

评论

0/150

提交评论