12 .视图是从________中导出的表,数据库中实际存放的是视图的________。 (问答题)
参考答案:
基本表或视图 定义
13 .试述视图的优点。 (填空题)
参考答案:
(1)视图能够简化用户的操作。 (2)视图使用户能以多种角度看待同一数据。 (3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保护。
14 .关系数据操作语言(DML)的特点是:操作对象与结果均为关系、操作的________、语言一体化并且是建立在数学理论基础之上。 (问答题)
参考答案:
非过程性强
15 .设有如下关系表R、S、T: R(BH,XM,XB,DWH) S(DWH,DWM) T(BH,XM,XB,DWH)(1) 实现R∪T的SQL语句是__。(2) 实现σ DWH=’100’ ? 的SQL语句是__。(3) 实现πXM,XB ? 的SQL语句是__。(4) 实现πXM,DWH (σ XB=’女’ ?) 的SQL语句是__。(5) 实现R∞S的SQL语句是__。(6) 实现πXM,XB,DWH (σ XB=’男’ (R∞S)) 的SQL语句是__。 (问答题)
参考答案:
(1) SELECT * FROM R UNION SELECT * FROM T (2) SELECT * FROM R WHERE DWH=’100’ (3) SELECT XM , XB FROM R (4) SELECT XM,DWH FROM R WHERE XB=’女’ (5) SELECT R.BH , R.XM , R.XB , R.DWH , S.DWM FROM R , S WHERE R.DWH=S.DWH (6) SELECT R.XM , R.XB , S.DWH FROM R , S WHERE R.DWH=S.DWH AND R.XB=’男’
16 .所有的视图是否都可以更新?为什么? (填空题)
参考答案:
不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。如《概论》3.5.1中的视图S_G(学生的学号及他的平均成绩) CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) /*设SC表中“成绩”列Grade为数字型*/ FROM SC GROUP BY Sno;要修改平均成绩,必须修改各科成绩,而我们无法知道哪些课程成绩的变化导致了平均成绩的变化。
17 .设有如下关系表R:R(NO,NAME,SEX,AGE,CLASS),主码是NO (1) 插入一个记录(25,“李明”,“男”,21,“95031”);___。(2) 插入“95031”班学号为30,姓名为“郑和”的学生记录;____。(3) 将学号为10的学生姓名改为“王华”;_____。(4) 将所有“95101”班号改为“95091”;_____。(5) 删除学号为20的学生记录;____。(6) 删除姓“王”的学生记录;___。 (问答题) 参考答案:
(1) INSERT INTO R VALUES(25,"李明","男",21,"95031") (2) INSERT INTO R(NO,NAME,CLASS) VALUES(30,"郑和","95031") (3) UPDATE R SET NAME="王华" WHERE NO=10 (4) UPDATE R SET CLASS="95091" WHERE CLASS="95101" (5) DELETE FROM R WHERE NO=20 (6) DELETE FROM R WHERE NAME LIKE “王%
18 .哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。 (填空题)
参考答案:
基本表的行列子集视图一般是可更新的。如《概论》3.5.3中的例1。 若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。如《概论》3.5.3中的S_G视图。
19 .请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询: (1) 找出三建工程项目使用的各种零件代码及其数量。 (2) 找出供应商S1的供应情况。 (填空题)
参考答案:
建视图: CREATE VIEW V_SPJ AS SELECT SNO, PNO, QTY FROM SPJ WHERE JNO= (SELECT JNO FROM J WHERE JNAME='三建'); 对该视图查询: (1) 找出三建工程项目使用的各种零件代码及其数量。 SELECT PNO, QTY FROM V_SPJ; (2) 找出供应商S1的供应情况。 SELECT PNO, QTY /* S1供应三建工程的零件号和对应的数量*/ FROM V_SPJ WHERE SNO='S1';
20 .针对习题3建立的表,用SQL语言完成以下各项操作: (1) 把对表S的INSERT权限授予用户张勇,并允许他再将此权限授予其他用户。 (2) 把查询SPJ表和修改QTY属性的权限授给用户李天明。 (填空题)
参考答案:
(1) 把对表S的INSERT权限授予用户张勇,并允许他再将此权限授予其他用户。 GRANT INSERT ON TABLE S TO 张勇 WITH GRANT OPTION; (2) 把查询SPJ表和修改QTY属性的权限授给用户李天明。 GRANT SELECT, UPDATE(QTY) ON TABLE SPJ TO 李天明;
21 .在嵌入式SQL中是如何区分SQL语句和主语言语句的? (填空题)
参考答案:
在SQL语句前加上前缀EXEC SQL。SQL语句的结束标志则随主语言的不同而不同。 例如在PL/1和C中以分号(;)结束,在COBOL中以END-EXEC结束。
22 .在嵌入式SQL中是如何解决数据库工作单元与源程序工作单元之间通信的? (填空题)
参考答案:
数据库工作单元与源程序工作单元之间的通信主要包括: (1)SQL通信区SQLCA,用来向主语言传递SQL语句的执行状态信息,使主语言能够根据此信息控制程序流程。(2)主变量(Host Variable),1)用来实现主语言向SQL语句提供参数。 2)将SQL语句查询数据库的结果交主语言进一步处理(3)游标(Cursor),解决集合性操作语言与过程性操作语言的不匹配通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理。 (详细解释参见《概论》3.7.2 )
23 .在嵌入式SQL中是如何协调SQL语言的集合处理方式和主语言的单记录处理方式的? (填空题)
参考答案:
用游标来协调这两种不同的处理方式。游标区是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理。
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: