资源描述
数据库题目大集合1 方便各位学数据库的同学们!以下表示数据库管理系统的是(b)ADBA BDBMS CDB DDATA2. 数据库系统的核心是(c )。A. 数据库B.软件工具C.数据模型D.数据库管理系统3. 数据库与文件系统的根本区别在于( c )A.提高了系统效率B.方便了用户使用C.数据的结构化 D.节省了存储空间4. 在数据库中,下列说法(a )是不正确的。A.数据库避免了一切数据的重复B.若系统是完全可以控制的,则系统可确保更新时的一致性C.数据库中的数据可以共享 D.数据库减少了数据冗余5. 下列四项中说法不正确的是(c)A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复 D.数据 库具有较高的数据独立性6. 下列哪个是存储在计算机内有结构的数据的集合。 bA.数据库系统 B.数据库C.数据库管理系统D.数据结构7. 在DBS中,DBMS和OS之间的关系是(a )A.相互调用B. DBMS调用OSC. OS调用DBMSD.并发运行8. 在数据库技术中,实体一联系模型是一种(a )A.概念模型B.结构模型C.物理模型D.逻辑模型9. 数据库设计中的概念模型独立于(d )。A.现实世界B. E-R图C.信息世界D.具体的机器和DBMS10. 下列四项中,必须进行查询优化的是( a)A.关系数据库B.网状数据库C.层次数据库D.非关系模型11. 数据库三级模式体系结构的划分,有利于保持数据库的(a )A.数据独立性B.数据安全性C.结构规范化D.操作可行性12同一个关系模型的任两个元组值(a )。A.不能全同 B.可全同C.必须全同 D.以上都不是13. 组成关系模型二维表的最小数据单位是( b )。A.记录B.数据项C.字段D.数据库文件14. 用二维表结构表示实体以及实体间联系的数据模型称为(c )。A.网状模型B.层次模型C.关系模型D.面向对象模型15. 设有关系R和S,关系代数表达式R-(R-S)表示的是(a )A. RnsB. R-S C. RUSD.RS16. 设有关系R(A,B,C),在下列的等式中,哪一个是不成立的(c )A .A2(nA,B(R)=nA, BA2(R) B nA,C(aA2(R)=aA2(nA,C(R)C nB,C(aA2(R)=aA2(nB,C(R) D. nA(nA, B (R)=nA(R)17设关系R和关系S具有相同的元数,且对应的属性取自相同的域。集合t/tGRAtGS标记的是(d )。A. RU SB. R-SC. RxSD. RnS18. SQL语言称为(c)。A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构人操纵语言19. SQL语言具有的功能是(b )A.关系规范化,数据操纵,数据控制B.数据定义,数据操纵,数据控制C.数据定义,关系规范化,数据控制D.数据定义,关系规范化,数据操纵20. SQL语言具有两种使用方式,分别称为交互式SQL和(c )。A.提示式SQL B 多用户SQLC.嵌入式SQL D.解释式SQL21. SQL 中,“SALARY IN (1000, 2000) ”语义是(d )。A. SALARY = 1000 B. SALARY 1000C. SALARY = 1000 AND SALARY = 2000 D. SALARY = 1000 OR SALARY = 200022. SQL 中,下列涉及空值的操作,不正确的是 (c )A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL)23. SQL语言的GRANT和REVOKE语句主要用来维护数据库的(a )A.安全性 B.完整性C.可 靠性D一致性24设有关系 R=(A, B, C)。与 SQL 语句 SELECT DISTINCT A FROM R WHERE B=17 等价的关系 代数表达式是( c )A. nA (R)B. nB=17(R)C nA(aB=17(R)D B=17(nA (R)25. 设有关系 R(A, B, C)和 S(C, D)。与 SQL 语句 select A, B, D from R, S where R. C=S. C 等 价的关系代数表达式是( b )。A. aR.C=S.C(nA,B,D(RxS)B . nA,B,D(R.C=S.C (RxS) C R.C=S . C(nA,BR)x(nDS)D R.C=S.C(nD(nA,BR)xS)26. 在SQL语言中的表(Table)是数据库的(b )A.内模式B.模式C.外模式D.概念模式27当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是(d )A 左外联接B 右外联接C 外部并D 全外联接28在视图上不能完成的操作是(d)。A.在视图上定义新的视图 B.查询操作C.更新视图D.在视图上定义新的基本表29设有关系:班级(班号,专业,班长);学生(学号,姓名,性别,班级)。学生关系中每个元组的“班 级”属性值只能取空值(表示该学生没有分配班级)或者是班级关系中的某一个班号。这个要求属于 关系的(b )A.实体完整性B.参照完整性C.用户定义的完整性D.以上都不是30. 关系数据库的规范化理论主要解决的问题是(a ) A如何构造合适的数据逻辑结构B.如何构造 合适的数据物理结构C. 如何构造合适的应用程序界面D.如何控制不同用户的数据操作权限31. 关系数据库规范化是为解决关系数据库中(a )。A.插入异常、删除异常、修改异常和数据冗余 B.提高查询速度 C.减少数据操作的复杂性D. 保证数据的安全性和完整性32. 现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多 次借阅,但不能同时对一种书借多本。则该关系模式的码是(b)。A.书号B.读者号C.书号+读D.书号+读者号+借期33. 1NF、2NF、3NF、BCNF、4NF 之间的关系是。A1NF2NF3NFBCNF4NFB. 1NF U 2NF U 3NF U BCNF U 4NFC. 1NF二 2NF 二 BCNF二 3NF二 4NF D. 1NF 二 2NF二 3NF二 BCNF二 4N34. 关系模式的候选码可以有(c )。A. 0个 B. 1个C. 1个或多个D.多个35关系模式R中的属性全部是主属性,则R的最高范式必定是(c ) A. 1N B. 2N C 3N DBCNF36. 在关系模式中,如果属性A和B存在1对1的联系,则说(d )A. ABB. BA C. A-B D.以上都不是37当关系模式R (A,B)已属于3NF,下列说法中哪个是正确的。(c )A.它一定消除了插入和删除异常B 一定属于BCNFC 仍存在一定的插入和删除异常D. A 和 B 都是38. 下列关于函数依赖的叙述中,哪一条是不正确的(b)A. 由 Xy, XZ,有 XyZB.由 XYZ,有 XZ YZC.由 XY, WYZ 有 XWZD.由 Xy 及 Z 匸 y,有 XZ39. 当下述哪一条成立时,称Xy为平凡的函数依赖(b )A. XC yB. YC X C. XnY=q D. XAY却40. 设有关系模式R(S, D, M),其函数依赖集F: SD, DM,则关系R的规范化程度至多达到:bA. INFB. 2NF C. 3NFD. BCNF41. 设有关系R(A,B,C,D),其函数依赖集f=AB,AC,BD,则关系R至多满足(b )A. INFB. 2NF C. 3NF D. BCNF42. 关系模式规范化的最起码的要求是达到第一范式,即满足(d ) A.每个非码属性都完全依赖于主码B. 主码属性唯一标识关系中的的元组C.关系中的元组不可重复D.每个属性都是不可分解的43. 若关系模式R (U, F)属于3NF,则(c )A. 定属于BCNFB.消除了插入的删除异常C.仍存在一定的插入和删除异常 D.属于BCNF且消除了插入和删除异常44. /设有关系模式R (A, B, C, D), F是R上成立的FD集,F= ABC, DA,则R的关键 码为 ( )。A. AB B. ADC. BC D. DB45. /在关系数据库中,任何二元关系模式的最高范式必定是 A. 1NF B. 2NF C. 3NF D. BCNF46. 关系代数表达式的优化策略中,首先要做的是(b )A.对文件进行预处理B.尽早执行选择运算 C.执行笛卡儿积运算D.投影运算47. 为提高效率,关系数据库系统必须进行(b)处理。A. 定义视图 B. 查询优化C. 数据恢复 D. 数据规范化到最高范式48下述哪一种情况不属于故障恢复系统的处理范围(d )A.由于逻辑错误造成的事务失败B.由于恶意访问造成数据不一致C. 由于电源故障导致系统停止运行,从而数据库处于不一致状态 D.由于磁头损坏或故障造成磁 盘块上的内容丢失49.关于“死锁”,下列说法中正确的是(d )A.死锁是操作系统中的问题,数据库操作中不存在;B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库;C.当两个用户竞争相同的资源时不会发生死锁;D.只有出现并发操作时,才可能出现死锁。二、填空题(数据库技术)1. 数据是信息的符号表示或称载体;信息是数据的内涵,是数据的语义解释。例如 “世界人口 已经达到26亿”,这是信息2. 数据管理技术经历了人工处理、文件系统和数据库三个阶段。3. DBMS 管理的是 的数据。4. 根据数据模型的应用目的不同,数据模型分为概念模型和逻辑模型和物理模型5 在数据库的三级模式体系结构中,外模式与模式之间的映像(外模式模式),实现了数据库的逻辑独立性。6. 用二维表结构表示实体以及实体间联系的数据模型称为关系数据模型。7. 用树型结构表示实体类型及实体间联系的数据模型称为层次模型8. 数据库管理系统(DBMS)主要功能有:数据定义、数据操作、数据库的运行管理和数据库 的建立和维护9. 目前,数据库领域中最常用的数据模型是:层次模型、网状模型、关系模型和面向对象模型10. 数据模型通常由三部分组成,它们是数据结构、数据操作和完整性约束。11. 在三大传统的数据模型中,具有严格的数学理论基础的是关系数据模型12. 实现概念模型最常用的表示方法是E-R图13. 实体与实体之间的联系的类型有:一对一、一对多、多对一、多对多14. 用树型结构表示实体类型及实体间联系的数据模型称为层次模型_。15. 关系数据库的关系演算语言是以_谓词演算为基础的DML语言。(关系代数)16. 在关系数据模型中,二维表的列称为属性,二维表的行称为元组17. 关系代数中专门的关系运算包括:选择、投影、连接和除法。18. 关系代数的基本运算是并、差、选择、投影和乘积19. 两个关系进行外连接时有全外连接、右外连接、左外连接三种。20. 外连接可以避免自然连接带来的信息丢失,外连接包括:左外连接、右外连接和全外连接21. 在“学生一选课一课程”数据库中的 3个关系如下:S(S#, SNAME, SEX, AGE), SC(S#, C#, GRADE), C(C#, CNAME, TEACHER) 查找选修“数据库技术”这门课程的学生的学生姓名和成绩,若用关系代数表达式来表示为: nSNAME_GRADE S( SC8(CNAME=数据库技术(C)SQL 语言)22. 在SQL语言的结构中,有对应的存储文件,而没有对应的存储文件。23. 设关系R (A,B,C)和S (A,D,E,F),有R.A=S.A。若将关系代数表达式:nRARBSDSF (RsS)用SQL语言的查询语句表示,则为:R.A,R.B,S.D,S.FSELECT R.A,R.B,S.D,S.F FROM R,S WHERE R.A=S.A24. 在“学生一选课一课程”数据库中的 3个关系如下:S(S#, SNAME,SEX, AGE), SC(S#,C#, GRADE), C(C#, CNAME, TEACHER)查找选修”数据库技术”这门课程的学生的学生名和成绩。若使用连接查询的SQL语句是:SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME=数据 库技术AND_ S,S#=SC,S#_AND SC,C#=C,C#25. 设有两个关系R (A,B,C)和S (C,D,E),用SQL查询语句表达下列关系代数表达式nAA,E (oB = D (RsS)的语句是 SFTFCT26. 一个 SQL 语句原则上可产生或处理一组记录,而主语句一次只能处理一个记录,为此必须 协调两种处理方式,这是通过使用游标或Cursor机制来解决的。27. 数据库管理系统(DBMS)由以下三类程序组成:语言、控制数据库运行和维护数据库,其中 的语言系统分为主语言和SQL语言28. 删除操作、修改操作和插入操作可以引发触发器(关系数据理论)29. 在关系数据库的规范化设计中,对模式进行等价分解时,要具有无损连接性和保持函数依 赖30. 在函数依赖中,平凡的函数依赖根据Armstrong推理规则中的一自反律就可推出。31. 设关系模式R (A, B, C), F是R上成立的FD集,F = BA, BC,则分解p = AB, AC丢失的FD是BC32. 设关系模式R (A, B, C), F是R上成立的函数依赖集F = BA, BC,则将R分解为:R1(A, B), R2(A, C),这个分解相对于R来说丢失的函数依赖是33. 关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,其中 最重要的是函数依赖和多值依赖34. 一个关系R不属于2NF就会产生插入异常、删除异常和修改复杂。35. 两个函数依赖集F和G等价的充分必要条件FU G+,和Gc F+36. 关系模式规范化过程中,若要求分解保持函数依赖,那么模式分解一定可以达到3NF,但 不一定能达到BCNF37. 如果一个满足 1NF 关系的所有属性合起来组成一个关键字,则该关系最高满足的范式是 3NF (在 1NF、2NF、3NF 范围内)。38. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据冗余 度大、修改异常、插入异常和删除异常(数据库设计)39. 在数据库设计的各阶段中,每个阶段都有自己的设计内容, “为哪些表,在哪些属性上建立 什么样的索引”这一设计内容应该属于数据库物理设计_阶段。40. 一个类可以从直接的或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的可 重用性(或共享性)41. 数据库设计分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数 据库设施、运行和维护。42. 在有泛化/细化联系的对象类型之间,较低层的对象类型称为子类型43. 概念结构是对现实世界中的一种抽象,这种抽象有分类、聚集、概括44. 将E-R图中的实体和联系转换为关系模型中的关系,这是数据库设计过程中逻辑结构或 逻辑设计阶段的任务。45. 在设计分E-R图时,由于各个子系统分别有不同的应用,所以各个分E-R图之间难免有不 一致的地方,这些冲突主要有属性、命名和结构三类。(数据库管理系统)1. 在计算机软件系统的体系结构中,数据库管理系统位于用户和操作系统之间。2. IBM DB2对关系型数据库进行面向对象的扩展,提供对面向对象的支持,主要包括:用户定 义数据类型(UDT),用户定义函数(UDF)和大对象(LOB),形成新一代对象关系型数据库系统。3. 如果多个事务在某个调度下的执行结果与这些事务在某个串行调度下的执行结果相同,则称 这个调度为可串行化调度。4. 为保证对故障恢复的支持,登记日志记录时必须先把日志记录写到外存的日志文件中,再把 相应的数据库修改写到外存的数据库中。这称做先写日志原则。5. 事务必须具有的四个性质是:原子性、一致性、隔离性和持久性。通过加锁可以保证处理程 序并发时的数据一致性6. 事务有活动状态、局部提交状态、失败状态、中止状态和提交状态一7. DB并发操作通常会带来三类问题,它们是丢失更新、不可重复读和读脏数据。8. 数据库管理系统(DBMS)提供数据操纵语言(DML)及它的翻译程序,实现对数据库数据的操 作,包括数据插入、删除、更新和查询9. 恢复的实现技术有转储和登记日志文件10. 设两个关系有参照和被参照的联系,当在被参照关系中删除元组时有:级联删除、不允许删 除和置空值删除三种不同的策略。11. 在数据库并发控制中,两个或更多的事务同时处于相互等待状态,称为死锁12. 数据库的完整性是指数据的实体的完整性和参照完整性13 . 和 一起组成了 DBMS 的安全子系统14. 基本的封锁类型有排它锁和共享锁两种。15. 若事务T对数据对象A加了 S锁,则其他事务只能对数据A再加S锁_,不能加X锁_ 直到事务T释放A上的锁。16. 安全性控制的一般方法有 、。17. 数据库系统在运行过程中,可能会发生故障,故障主要有事务故障、系统故障、介质故障、病毒 故障四类。18. 数据转储可分为静态存储和动态存储两种方式。19. 封锁对象的大小称为封锁粒度20. 是对数据库系统的静态特性的描述, 是对数据库动态特性的描述。21. 数据库保护包含数据的、 、 、22. 关系的完整性约束是指实体的完整、参照的完整性、用户定义的完整性23. 数据库系统是利用存储在外存上的其他地方的来重建被破坏的数据库,它主要有数据库和日 志文件两种。24. 在数据库中,死锁的预防通常有和两种。25. 数据库完整性的静态约束条件分为:值的约束和。26. DBMS并发控制的单位为事务27. 数据库恢复要涉及到的两个技术是转储和登记日志文件(其它)28. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和不相交条件29. 分布式数据库系统中透明性层次越高,应用程序的编写越简单(或容易)30. 数据库中常用的四种文件组织方式是:顺序文件、随机文件、散列文件、倒排文件。31. 关系数据操作语言(DML)的特点是:操作对象与结果均为关系、操作的、语言一体化、 并且是建立在数学理论基础之上。32. 数据库的物理设计主要考虑三方面的问题:选择存取方法、分配存储空间、实现存取路径33. 构成系统说明书的两个重要文档是34. 当数据库系统的概念模式改变时()要作相应的改变,以保证外模式保不变。35. 函数依赖XY能由Armstrong推理规则导出的充分必要条件是()。36. 嵌入式SQL需要用(游标)把集合操作转换成单记录处理方式。37. 在 SQL 中表达完整性约束的规则有多种形式,其主要约束有()。38. 客户/服务器体系结构的关键在于( )。39. 在数据库管理系统的层次结构中,数据存取层处理的对象是单个【元组 或 记录】。它把上层 的集合操作转化为单记录操作。40. 一般来说,商品化的数据库管理系统,如Oracle,其产品主要包括数据库服务器软件、【开发 工具 或 工具】软件和连接软件三类。41. PowerDesigner是SYBASE公司提供的CASE工具,它包括多个模块,其中用于数据库概念数 据建模(CDM)的模块是【DataArchitect】。42. 一个类可以从直接的或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的可 重用性(或共享性)_。43. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和不相交 条件_。44. 分布式数据库系统中透明性层次越高应用程序的编写越_简单(或容易。45. 在有泛化/细化联系的对象类型之间,较低层的对象类型称为子类型。三、判断题1. 数据库系统与数据库管理系统概念是一样的。(x)2. 完整的数据库系统是由计算机硬件、操作系统、数据库管理系统、数据库及在其上面开发的 应用软件的全体组成。(寸)3. 关系模型是以图的形式来描述实体之间的联系。(x)4. 组成关系模型二维表的最小数据单位是数据项。(寸)5. 数据库事务的原子性是指事务在执行过程中不能中断。(寸)6. 对关系模型来说,范式级别越高,实际应用效果越好。(x)7. 关系模式实质上是一个二维表。( x)8. 4应用程序员的职责是设计和编写应用系统的程序模块,并进行调试和安装。(寸)9. 在关系连接运算中自然连接和等值连接是相同的。(x)10. 关系模式和关系是相同的。(x)11. 在关系中列的顺序无所谓,即列的次序可以任意交换。(寸)12. 任意两个元组不能完全相同。(寸)13. 若关系R满足2NF,则在R中不存在传递函数依赖。(x)14. 若关系R满足2NF,则在R中不存在部分函数依赖。(7)15. 若关系R满足BCNF,则在R中每个确定因素都包含码。(7)16. 面向集合的操作方式是SQL语言的特点之一。(7)17. 设关系 R(A, B,C)和 S(A,D,E,F),有 R.A= S.A。用 SQL 语句:18. SELECTR.A, R.B,S.D,S.FFROM R,SWHERE R.A( *) =S.A 进行连接查询。这个连接是右连接。( x)19. 视图是关系数据库系统提供给用户以多种角度观察数据库中的数据的重要机制。(7)20. 视图也是一个表。( x)21. 日志文件是记录用户对数据库所做的操作。(x)四、 简答题1. 试述文件系统与数据库系统的区别和联系。答:文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应 用程序自己控制。数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性, 整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件2. 试述数据库系统的特点。答:数据库系统的主要特点有:1 )数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质 区别。2)数据的共享性高,冗余度低,易扩充 数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加 新的应用,这就使得数据库系统弹性大,易于扩充。3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。 数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立 性。4)数据由 DBMS 统一管理和控制 数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同 一个数据。为此, DBMS 必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并 发控制和数据库恢复。3. 什么是数据的逻辑独立性? 答:当对数据库的概念模式进行修改时,内模式尽可能保持不变或尽量少的作修改,即对概念模式的 修改尽量不影响外模式和应用程序,称数据库达到了逻辑数据独立性。4. 数据库管理系统的主要功能有哪些?答:数据库定义功能;数据存取功能;数据库运行管理;数据库的建立和维护功能。5. 试述数据模型的三个要素。数据模型通常由数据结构、数据操作和完整性约束三部分组成。 数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。 数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关 的操作规则,是对系统动态特性的描述。 数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制 约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。6. 试述关系模型的三个组成部分答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成7. 数据库的三级模式和两级映象体系结构中,模式内模式映象存在于概念级和内部级之间,用于定义 概念模式和内模式间的对应性。其主要作用是什么?答:由于概念模式和内模式的两级的数据结构可能不-致,即记录类型、字段类型的命名、组成可 能不一致,用这个映象说明概念记录和内部记录间的对应性。8. 在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? 答:在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的 “学生”表中, “专业号”是一个外部码,不是学生表的主 属性,可以为空。其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的 “选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以 不能为空。因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成 绩)9. 试叙述等值连接与自然连接的区别和联系答:自然连接(Natura门oin)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是 相同的属性组,并且要在结果中把重复的属性去掉。10. 关系代数的其本运算有哪些?答:基本运算有:并、差、笛卡尔积、选择、投影。11. 关系模式和关系实例有什么区别?答:关系模式是型,是对关系的描述,描述元组集合的结构、元组语义以及完整性约束条件和属 性间的数据依赖关系集合。关系实例是值,是某时刻关系的值12. 试述 SQL 语言的特点。答: SQL 语言具有以下特点:(1) 综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。(2) 高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需 了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。(3) 面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合, 而且一次插入、删除、更新操作的对象也可以是元组的集合。(4) 以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式 语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。( 5)语言简捷,易学易用13. 什么是基本表?什么是视图?两者的区别和联系是什么?答:基本表是本身独立存在的表,在SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只 存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本 表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。14. 两个关系进行外连接时有哪几种类型?左外连接,右外连接15. 什么是相关子查询?什么是不相关子查询?如果子查询的查询条件依赖于父查询 ,这类子查询称为相关子查询;如果子查询的查询条件不依赖于父查询,称为不相关子查询.16. 试述视图的优点。答:视图有以下优点:(1) 视图能够简化用户的操作。 (2)视图使用户能以多种角度看待同一数据。(3) 视图对重构数据库提供了一定程度的逻辑独立性(4)视图能够对机密数据提供安全保护。17. 什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。18. 试述实现数据库安全性控制的常用方法和技术。答:实现数据库安全性控制的常用方法和技术有:(1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求 进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。(2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授 权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC);(3) 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来, 从而自动地对数据提供一定程度的安全保护。(4) 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA 可以 利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间 和内容等。(5) 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。19. 什么是数据库中的自主存取控制方法?答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查 用户的存取权限。防止不合法用户对数据库的存取20. 什么是数据库中的强制存取控制方法?答:强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地) 授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。21. 什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。22. 数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出 ( Garbage In Garbage Out )所造成的无效操作和错误结果。 后者是保护数据库防止恶意的破坏和非法的 存取。 也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数 据。23. DBMS 的完整性控制机制应具有哪些功能?答: DBMS 的完整性控制机制应具有三个方面的功能:1) 定义功能,即提供定义完整性约束条件的机制。2) 检查功能,即检查用户发出的操作请求是否违背了完整性约束条件。3) 违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数 据的完整性。24. RDBMS 在实现参照完整性时需要考虑哪些方面?答: RDBMS 在实现参照完整性时需要考虑以下几个方面:1) 外码是否可以接受空值2) 删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:(a) 级联删除(CASCADES); (b)受限删除(RESTRICTED); (c)置空值删除(NULLIFIES)3) 在参照关系中插入元组时的问题,这时系统可能采取的作法有:(a)受限插入(b)递归插入4) 修改关系中主码的问题一般是不能用 UPDATE 语句修改关系主码的。如果需要修改主码值,只能先删除该元组,然后 再把具有新主码值的元组插入到关系中。 如果允许修改主码,首先要保证主码的唯一性和非空,否 则拒绝修改。然后要区分是参照关系还是被参照关系。25. 两个函数依赖集F和G等价的充分必要条件是什么?答:F中每个FD在G+中,并且G中每个FD也在F+中。26. 什么是多值依赖中的数据依赖? 答:在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖。27. 试述数据库设计过程的各个阶段上的设计描述。答:各阶段的设计要点如下:1) 需求分析:准确了解与分析用户需求(包括数据与处理)。2) 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模 型。3) 逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。4) 数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方 法)。5) 数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设 计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。6) 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。28. /概念模型(E-R图)到关系数据模型的转换原则是什么?29. 什么是数据库的概念结构及特点?答: 概念结构是信息世界的结构,即概念模型,其主要特点 1.能真实、充分地反映现实世界, 包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(1) 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计 成功的关键。(2) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。 易于向关系、网状、层次等各种数据模型转换30. 试述 RDBMS 查询优化的一般准则。答:查询优化的一般准则是:( l )选择运算应尽可能先做;( 2 )把投影运算和选择运算同时进行;( 3 )把投影同其前或其后的双 目运算结合起来执行( 4 )把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;( 5 )找出公共子表达式 ( 6 )选取合适的连接算法。31. 试述事务的概念及事务的四个特性 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做 ,是一个不可分割的工 作单位。事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。 这个四个特性也简称为ACID特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务 是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永 久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。32. 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1) 事务内部的故障; (2)系统故障;(3)介质故障(4)计算机病毒。 事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。33. 数据库恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术。 当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的 某个一致性状态。34. 什么是日志文件?为什么要设立日志文件? 答:(1)日志文件是用来记录事务对数据库的更新操作的文件。(2) 设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障 恢复。35. 数据库故障有哪些类型?针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复? 系统故障的恢复?介质故障恢复?)答:数据库故障有:事务故障、系统故障、介质故障和计算机病毒。1) 事务故障的恢复:事务故障的恢复是由 DBMS 自动完成的,对用户是透明的。DBMS 执行恢复步骤是:(1) 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。(2) 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。( 3)继续反向扫描日志文件,做同样处理。(4) 如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。2) 系统故障的恢复:系统故障可能会造成数据库处于不一致状态:一是未完成事务对数据库的更新可能已写入数据库; 二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。因此恢复操作就是要撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。 系统的恢复步骤是:(1) 正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO队列)和未完成的事务队列 (UNDO 队列)。(2) 对撤销队列中的各个事务进行UNDO处理。进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日 志记录中“更新前的值”(Before Image)写入数据库。(3) 对重做队列中的各个事务进行REDO处理。进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。 即将日志记录中“更新后的值”(After Image)写入数据库。3) 介质故障的恢复:介质故障是最严重的一种故障。恢复方法是重装数据库,然后重做已完成的事务。具体过程是:(1) DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的 一致性状态。(2) DBA 装入转储结束时刻的日志文件副本(3) DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。36. 在数据库中为什么要并发控制?并发控制能保证事务的哪些特性? 答:数据库是 共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和 /或修改同一数据的情况。若对并发操作不加控 制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。37. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读 “脏”数据。( 1 )丢失修改( Lost Update)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1 的修改被丢失。( 2)不可重复读( Non-Repeatable Read)不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。(3)读“脏”数据(Dirty Read)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种 原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的 数据就为“脏”数据,即不正确的数据。避免不一致性的方法和技术就是并发控制。最常用的并发控制技术是封锁技术。 也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。38. 什么是封锁?基本的封锁类型有几种?试述它们的含义。答:封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。 加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对 象。封锁是实现并发控制的一个非常重要的技术。基本的圭寸锁类型有两种:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都 不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改 A。共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只 能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A 上的 S 锁之前不能对 A 做任何修改。39. 什么是活锁?什么是死锁? 答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后 又都请求已被其他事务封锁的数据加锁,从而出现死等待。40. 什么样的并发调度是正确的调度?答:可串行化(Serializable)的调度是正确的调度。可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它 们时的结果相同,我们称这种调度策略为可串行化的调度。41. 数据库是一个共享资源,在多用户共享系统中,并发操作的含义是什么?答:在多用户共享系统中,多个用户同时对同一数据进行操作称为并发操作。1. 设关系模式R(A, B)和S(C, D),有关系代数表达式E = nA, C(oB = d(RxS),请画出表达式E 的语法树。2. 什么是分布式数据库的分布透明性?答: 分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心 各个场地上数据库的数据模型。3. 什么是对象关系数据模型? 答:在传统的关系数据模型基础上,提供元组、数组、集合等数据类型以及处理新的数据类型操作的能 力,这样形成的数据模型,称为“对象关系数据模型”。4. 简述 ORDBS 的中文含义。答:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)5. 没有关系R和S如下,写出R-S计算结果。RABCa12b12b34c12d34SbC12346. 设有描述学校情况的 U 关系。U( S, SD, MN, CN, G)其中:S#属性表示学生学号,SD表示学生所在系名,MN表示系主任,CN表示课程名,G表 示成绩。一个系有若干名学生,一个学生只属于一个系,一个系只有一名系主任,一个学生可选多 门课,每个学生选每门课有一个成绩。试写出 U 关系中的函数依赖,并给每个函数依赖一个简短说 明。答:S#SD学生学号,决定其所在系名;SDMN系名决定了其所在系的系主任;S#, CN-G学号和课程决定该生此课程的成绩。7. 设有关系模式R (A, B, C, D), F是R上成立的函数依赖集,F = DA , DB,试写出关系模 式 R 的候选键,并说明理由。答:R的候选键是CD理由:从已知的F,可导出DABD,再根据增广律,可得出CDABCD,即 CD 值可决定全部属性值。42. 什么是封锁的粒度? 封锁对象的大小称为封锁粒度五、 设计题1在“学生一选课一课程”数据库中的 3 个关系如下: 学生(学号,姓名,年龄,性别) 选课(学号,课程号,成绩) 课程(课程号,课程名,学分,任课教师)1) 用关系代数表达式和SQL语句表示下列查询。 查询 WANG 同学不学的课程号。 查询选修“数据库原理”这门课程的学生姓名和成绩。2) 用 SQL 语句完成下列要求: 统计每门课程的学生选修人数(超过10 人的课程才统计)。要求输出课程名和选修人数 在 SC 中查询成绩为空值的学生学号和课程号。2在“学生一选课一课程”数据库中的 3 个关系如下: S(S#,SNAME,AGE,SEX,CLASS);SC(S#,C#,GRADE)C(C#,CNAME,PERIOD,TEACHER)其中:S是学生关系,S#:学号,SMAME:姓名,AGE:年龄,SEX:性别,CLASS:班级; SC是学生选课关系,S#:学号,C#:课程号,GRADE:成绩;C是课程关系,C#:课程号,CNAME:课程名,PERIOD:学时,TEACHER:任课教师。 (一)试用关系代数表达式和SQL语言表示下列查询要求。(1) 查询选修了课程名为DB的学生姓名和所在班级。nSNAME,CLASS(S8SCgCNAME=DB( C) SELECT SNAME, CLASS FROM SWHERE SNO IN ( SELECT SNO FROM SC, CWHERE SC.SNO=C.CNO AND CNAME=DB)(2) 查询刘军,老师所授课程的课程号、课程名。nC#,CNAMETEACHER=刘军(C)SELECT C#,CNAME FROM C WHERE TEACHER=LIU5(3) 查询学号为 S3 学生所学课程的课程名与任课教师名。nCNAME,TEACHER(S#=S3 A SC.C#=C.C#(SCxC) (也可将两个关系自然连接后选择、投影) nCNAME,TEACHER(S#=S3 ( SSC)(4) 查询至少选修LIU老师所授课程中一门课程的女学生的姓名。nSNAMESEX=女ATEACHER=刘军(SSCC)SELECT SNAME FROM S WHERE SEX=F AND S# IN(SELECT S# FROM SC WHERE C# IN(SELECT C# FROM C WHERE TEACHER=LIU)(5) 查询WANG同学不学的课程号。 nC#(SC)-nc#(SNAME=WANGAS.S#=SC.S#(SxSC)SELECT C# FROM C WHERE C# NOT IN(SELECT C# FROM SC WHERE S# IN(SELECT S# FROM S WHERE SNAME=WANG)(6) 查询至少选修两门课程的学生学号。ns#l=4人2工5(SCxSC) (SC自乘之后,同一个学号下两个课程号不同的兀组)SELECT S# FROM SC GROUP BY S# HAVING COUNT(C#) = 2(7) 查询全部学生都选修的课程的课程号与课程名。nC#, CNAME (SCg(ns#,c#(SC)*ns#(S
展开阅读全文