第五章 练习题
一、填空题
1.在SQL中,关系模式称为__________,子模式称为__________,元组称为__________,
属性称为__________。
2.SQL中,表有两种:__________和__________,也称为__________和__________。 3.SQL中,用户有两种:__________和__________。
 4.SQL中,外模式一级数据结构的基本单位是__________。  5.在“SQL模式”中,主要成分有__________。  6.基本表中,“主键”概念应该体现其值的__________和__________两个特征。  7.操作“元组 IN(集合)”的语义是____________________。  8.表达式中的通配符“%”表示__________,“_”(下划线)表示__________。  9.操作“元组>SOME(集合)”的语义是____________________。 10.操作“元组 12.嵌入式SQL的预处理方式,是指预处理程序先对源程序进行扫描,识别出__________, 并处理成宿主语言的__________形式。  13.为保证嵌入式SQL的实现,通常DBMS制造商提供一个__________,供编译时使用。 14.SQL语句嵌入在C语言程序中时,必须加上前缀标识__________和结束标志__________。 15.“卷游标”是指____________________。  二、单项选择题(在备选答案中选出一个正确答案)  1.在SQL中,用户可以直接进行查询操作的是        [ ]  A.实表和虚表      B.基本表和实表  C.视图和虚表      D.基本表  2.SQL中,聚合函数COUNT(列名)用于         [ ]  A.计算元组个数      B.计算属性的个数  C.对一列中的非空值计算个数   D.对一列中的非空值和空值计算个数 3.SQL中,与“NOT IN”等价的操作符是         [ ]  A.=SOME       B.<>SOME  C.=ALL            D.<>ALL 4.元组比较操作(a1,a2)>(b1,b2)的意义是   A.(a1>b1)OR((a1=b1)AND(a2>=b2)) B.(a1>=b1)OR((a1=b1)AND(a2>=b2)) C.(a1>b1)OR((a1=b1)AND(a2>b2)) D.(a1>=b1)OR((a1=b1)AND(a2>b2)  5.SQL中,谓词EXISTS可用来测试一个集合是否        A.有重复元组      B.有重复的列名  C.为非空集合      D.有空值 6.对于基本表EMP(ENO,ENAME,SALARY,DNO)  其属性表示职工的工号、姓名、工资和所在部门的编号。    [ ]              [ ]    基本表DEPT(DNO,DNAME)      其属性表示部门的编号和部门名。 有一SQL语句:    SELECT  COUNT(DISTINCT DNO)   FROM  EMP;  其等价的查询语句是             [  A.统计职工的总人数     B.统计每一部门的职工人数  C.统计职工服务的部门数目   D.统计每一职工服务的部门数目 7.对于第6题的两个基本表,有一个SQL语句:     SELECT  ENO,ENAME     FROM  EMP      WHERE  DNO  NOT  IN     (SELECT  DNO       FROM  DEPT        WHERE  DNAME='金工车间';  其等价的关系代数表达式是:           [   A.πENO,ENAME(σDNAME≠'金工车间'(EMP?DEPT)) B.πENO,ENAME(EMP   ?   DEPT)  DNAME≠'金工车间'  C.πENO,ENAME(EMP)-πENO,ENAME(σDNAME='金工车间'(EMP?DEPT)) D.πENO,ENAME(EMP)-πENO,ENAME(σDNAME≠'金工车间'(EMP?DEPT))8.对于第6题的两个基本表,有一个SQL语句:   UPDATE  EMP    SET  SALARY=SALARY*1.05   WHERE  DNO='D6'     AND  SALARY<(SELECT  AVG(SALARY)  FROM  EMP);  其等价的修改语句为             [  A.为工资低于D6部门平均工资的所有职工加薪5%  B.为工资低于整个企业平均工资的职工加薪5%  C.为在D6部门工作、工资低于整个企业平均工资的职工加薪5% D.为在D6部门工作、工资低于本部门平均工资的职工加薪5% 9.有关嵌入式SQL的叙述,不正确的是          [  A.宿主语言是指C一类高级程序设计语言  B.宿主语言是指SQL语言  C.在程序中要区分SQL语句和宿主语言语句 D.SQL有交互式和嵌入式两种使用方式  10.嵌入式SQL实现时,采用预处理方式是         [  A.把SQL语句和主语言语句区分开来  B.为SQL语句加前缀标识和结束标志  C.识别出SQL语句,并处理成函数调用形式  ] ] ]  ]  ]   D.把SQL语句编译成二进制码  11.允许在嵌入的SQL语句中,引用宿主语言的程序变量,在引用时    A.直接引用  B.这些变量前必须加符号“*” C.这些变量前必须加符号“:” D.这些变量前必须加符号“&”  12.如果嵌入的SELECT语句的查询结果肯定是单元组,那么嵌入时     A.肯定不涉及游标机制  B.必须使用游标机制  C.是否使用游标,由应用程序员决定 D.是否使用游标,与DBMS有关  13.卷游标的推进语句“EXEC  SQL  FETCH  RELATIVE  -4”表示     A.把游标移向查询结果的第4行  B.把游标移向查询结果的倒数第4行 C.把游标从当前位置推进4行 D.把游标从当前位置返回4行  14.卷游标的推进语句“EXEC  SQL  FETCH  ABSOLUTE  -3 ”表示    A.把游标移向查询结果的第3行  B.把游标移向查询结果的倒数第3行 C.把游标从当前位置推进3行 D.把游标从当前位置返回3行 三、简答题  1.试叙述SQL的关系代数特点和元组演算特点。  2.SQL语言对于“查询结果是否允许存在重复元组”是如何实现的? 3.试对SELECT语句中使用的基本表名和列名的语义作详细的解释。 4.SELECT语句中,何时使用分组子句,何时不必使用分组子句?   [ ]  [ ]  [ ]  [ ]  第六章 自测题  一、填空题  1.系统目录的功能是存储元数据,元数据主要包括___________的定义。  2.在DBS运行时,DBMS各个子系统要频繁地访问___________,来保证系统正常运行。 3.在应用程序中,事务以BEGIN  TRANSACTION语句开始,以___________或__________语 句结束。  4.事务的原子性是由DBMS的___________实现的。 5.事务的一致性是由DBMS的___________实现的。 6.事务的隔离性是由DBMS的___________实现的。 7.事务的持久性是由DBMS的___________实现的。  8.抽象的事务模型中,事务有五种状态:________、________、________、________和 ________。  9.恢复的基本原则是___________。要使数据库具有可恢复性,在平时要做好两件事: ___________和___________。 10.如果对数据库的并发操作不加以控制,则会带来四类问题:___________、___________、 ___________和___________。  11.锁(lock)描述了数据项的状态,其作用是使________________。 12.事务的执行次序称为___________。  13.判断一个并发调度是否正确,可以用___________概念来解决。 14.封锁能避免错误的发生,但会引起           问题。 15.S封锁增加了并发度,但缺点是___________。 16.两段式封锁是可串行化的__________条件。  17.数据库的完整性是指数据的___________、___________和___________。 18.错误数据的输入和输出,称为___________。  19.数据库中数据发生错误,往往是由___________引起的。 20.数据库完整性子系统是根据___________工作的。  21.数据库完整性规则由三部分组成:___________、___________和___________。  22.SQL中完整性约束有四种:___________,___________,___________和___________。 23.SQL中全局约束有___________和___________两种。  24.在SQL的外键约束中,如果“ON  DELETE ??”短语不写时,系统默认是___________ 方式。  25.用户使用数据库的方式,称为___________。  26.SQL中的安全性机制,主要有两个:___________和___________。 27.SQL的授权语句中的关键字PUBLIC表示___________。  28.SQL中“REVOKE  GRANT  OPTION  FOR ??”表示___________。 二、单项选择题(在备选的答案中选出一个正确答案)  1.事务(transaction)是一个           [ ]  A.程序       B.进程   C.操作序列        D.完整性规则  2.事务对DB的修改,应该在数据库中留下痕迹,永不消逝。这个性质称为事务的[ ]  A.持久化      B.隔离性  C.一致性      D.原子性  3.事务的并发执行不会破坏DB的完整性,这个性质称为事务的    [ ]  A.持久化      B.隔离性