数据库练习题

导读:9.针对习题3中的四个表试用SQL语言完成以下各项操作:(1)找出所有供应商的姓,视图本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,数据库中实际存放的是视图的________,(2)视图使用户能以多种角度看待同一数据,(3)视图对重构数据库提供了一定程度的逻辑独立性,(4)视图能够对机密数据提供安全保护,14.关系数据操作语言(

数据库练习题

函来表达。 上述查询可以抽象为: 要求这样的工程x,使 (?y) p ? q为真。即: 对于所有的零件y,满足逻辑蕴函 p ? q: P表示谓词:“供应商S1供应了零件y” q表示谓词:“工程x选用了零件y” 即 只要“供应商S1供应了零件y”为真,则“工程x选用了零件y”为真。逻辑蕴函可以转换为等价形式: (?y)p ? q≡ ? (?y (?(p ? q ))≡? (?y (?(? p∨ q)≡? ?y(p∧?q) 它所表达的语义为:不存在这样的零件y,供应商S1供应了y,而工程x没有选用y。用SQL语言表示如下: SELECT DISTINCT JNO FROM SPJ SPJZ WHERE NOT EXISTS /*这是一个相关子查询 */ (SELECT * /*父查询和子查询均引用了SPJ表*/ FROM SPJ SPJX /*用别名将父查询与子查询中的SPJ表区分开*/ WHERE SNO='S1' AND NOT EXISTS (SELECT * FROM SPJ SPJY WHERE SPJY.PNO=SPJX.PNO AND SPJY.JNO=SPJZ.JNO AND SPJY.SNO=’S1’));

9 .针对习题3中的四个表试用SQL语言完成以下各项操作: (1) 找出所有供应商的姓名和所在城市。 (2) 找出所有零件的名称、颜色、重量。 (3) 找出使用供应商S1所供应零件的工程号码。 (4) 找出工程项目J2使用的各种零件的名称及其数量。 (5) 找出上海厂商供应的所有零件号码。 (6) 找出使用上海产的零件的工程名称。 (7) 找出没有使用天津产的零件的工程号码。 (8) 把全部红色零件的颜色改成蓝色。 (9) 由S5供给J4的零件P6改为由S3供应,请作必要的修改。 (填空题) 答案:

(1) 找出所有供应商的姓名和所在城市。 SELECT SNAME, CITY FROM S; (2) 找出所有零件的名称、颜色、重量。 SELECT PNAME, COLOR, WEIGHT FROM P; (3) 找出使用供应商S1所供应零件的工程号码。 SELECT JNO FROM SPJ WHERE SNO=‘S1’; (4) 找出工程项目J2使用的各种零件的名称及其数量。 SELECT P.PNAME, SPJ.QTY FROM P, SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'; (5) 找出上海厂商供应的所有零件号码。 SELECT DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY='上海'); (6) 找出使用上海产的零件的工程名称。 SELECT JNAME FROM J, SPJ, S WHERE J. JNO=SPJ. JNO AND SPJ. SNO=S.SNO AND S.CITY='上海'; 或 SELECT JNAME FROM J WHERE JNO IN (SELECT JNO FROM SPJ, S WHERE SPJ. SNO=S.SNO AND S.CITY='上海'); (7) 找出没有使用天津产的零件的工程号码。 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN (SELECT SNO FROM S WHERE CITY=‘天津’)); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ, S WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND S.CITY=‘天津’); (8) 把全部红色零件的颜色改成蓝色。 UPDATE P SET COLOR='蓝' WHERE COLOR='红' ; (9) 由S5供给J4的零件P6改为由S3供应,请作必要的修改。 UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'; (10) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。 DELETE FROM SPJ WHERE SNO='S2'; DELETE FROM S WHERE SNO='S2'; *解析:注意删除顺序,应该先从SPJ表中删除供应商S2所供应零件的记录,然后从从S表中删除S2。(11) 请将 (S2,J6,P4,200) 插入供应情况关系。 INSERT INTO SPJ(SNO, JNO, PNO, QTY) /*INTO子句中指明列名*/ VALUES (S2,J6,P4,200); /*插入的属性值与指明列要对应*/ 或 INSERT INTO SPJ /*INTO子句中没有指明列名*/ VALUES (S2,P4,J6,200); /*插入的记录在每个属性列上有值*/ /*并且属性列要和表定义中的次序对应*/

10 .关系R(A,B,C)和S(A,D,E,F),R和S有相同属性A,若将关系代数表达式:πR.A,R.B,S.D,S.F(R∞ S)用SQL语言的查询语句表示,则为: SELECT R.A,R.B,S.D,S.F FROM R,S WHERE________________。 (问答题) 答案: R.A=S.A

11 .什么是基本表?什么是视图?两者的区别和联系是什么? (填空题)

16

答案:

基本表是本身独立存在的表,在SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

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,\(2) INSERT INTO R(NO,NAME,CLASS) VALUES(30,\郑和\,\(3) UPDATE R SET NAME=\王华\WHERE NO=10 (4) UPDATE R SET CLASS=\FROM R WHERE NAME LIKE “王%

18 .哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。 (填空题) 答案:

17

基本表的行列子集视图一般是可更新的。如《概论》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语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理 。

第4章 数据库安全性(客观题) 1.以下( )不属于实现数据库系统安全性的主要技术和方法。

A.存取控制技术 B.视图技术 C.审计技术

18

D.出入机房登记和加防盗门

2.SQL中的视图机制提高了数据库系统的( )。 A.完整性 B.并发控制 C.隔离性 D.安全性

3.SQL语言的GRANT和REVOKE语句主要是用来维护数据库的( )。 A.完整性 B.可靠性 C.安全性 D.一致性

4.在数据库的安全性控制中,授权的数据对象的( ),授权子系统就越灵活。 A.范围越小 B.约束越细致 C.范围越大 D.约束范围大 第9章 数据库安全性 题号 正确答案

(1) D (2) D (3) C (4) A

第4章 数据库安全性(填空题)

1 . 数据库的安全性是指保护数据库以防止不合法的使用所造成的_______、_______或______。 (问答题) 答案:

数据泄漏 更改 破坏

2 . 什么是数据库的安全性? (填空题) 答案:

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 3 . 数据库安全性和计算机系统的安全性有什么关系? (填空题) 答案:

安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 4 . 计算机系统有三类安全性问题,即________ 、_________和 ________。 (问答题) 答案:技术安全类 管理安全类 政策法律类

5 . 用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入________和 ________来鉴别用户。 (问答题) 答案:用户名 口令

6 . 试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 (填空题) 答案:

各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全

19

标准中,最重要的是美国国防部(DoD)正式颁布的《 DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称TCSEC,又称桔皮书)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》( Trusted Database Interpretation 简称TDI,又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。

7 .________ 和 ________ 一起组成了DBMS的安全子系统。 (问答题) 答案:用户权限定义 合法权检查机制

8 . 试述TCSEC(TDI)将系统安全级别划分为四组七个等级的基本内容。 (填空题) 答案:

根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)七个等级,依次是D;C(C1,C2);B(B1,B2,B3);A(A1),按系统可靠或可信程度逐渐增高。这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为: D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。 C1级 只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。 C2级 实际是安全产品的最低档次,提供受控的存取保护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。 B1级 标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。 B2级 结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。 B3级 安全域。该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。 A1级 验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。

9 . 当前大型的DBMS一般都支持________ ,有些DBMS同时还支持________ 。 (问答题)

答案:自主存取控制(DAC) 强制存取控制(MAC)

10 . 试述实现数据库安全性控制的常用方法和技术。 (填空题) 答案:

实现数据库安全性控制的常用方法和技术有: 1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); 3) 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4) 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5) 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

11 . 用户权限是由两个要素组成的:________ 和 ________ 。 (问答题) 答案:数据对象 操作类型

12 . 什么是数据库中的自主存取控制方法和强制存取控制方法? (填空题)

答案:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问

20

五星文库wxphp.com包含总结汇报、党团工作、旅游景点、人文社科、工作范文、资格考试、办公文档、专业文献、经管营销以及数据库练习题等内容。

本文共10页1234567>>10