数据库安全性练习试题和答案

数据库安全性练习试题和答案
数据库安全性练习试题和答案

数据库安全性习题

一、选择题

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

A. 存取控制技术

B. 视图技术

C. 审计技术

D. 出入机房登记和加锁

2. SQL中的视图提高了数据库系统的()。

A. 完整性

B. 并发控制

C. 隔离性

D. 安全性

3. SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。

A. 完整性

B. 可靠性

C. 安全性

D. 一致性

4. 在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活。

A. 范围越小

B. 约束越细致

C. 范围越大

D. 约束范围大

三、简答题

1. 什么是数据库的安全性?

答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

2. 数据库安全性和计算机系统的安全性有什么关系?

答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。

系统安全保护措施是否有效是数据库系统的主要指标之一。

数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,

3.试述实现数据库安全性控制的常用方法和技术。

答:实现数据库安全性控制的常用方法和技术有:

1)用(户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC);

3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

5)数据加密:对存储和传输的数据进行加密处理,从而使得

不知道解密算法的人无法获知数据的内容。

4.什么是数据库中的自主存取控制方法和强制存取控制方法?

答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。

强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

*解析:自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主”地授予别人。即用户具有一定的“自主”权。

5.SQL语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。

答:

SQL中的自主存取控制是通过GRANT 语句和 REVOKE 语句来实现的。如:

GRANT SELECT, INSERT ON Student TO 王平 WITH GRANT OPTION;

就将Student表的SELECT和INSERT权限授予了用户王平,后面的“WITH GRANT OPTION”子句表示用户王平同时也获得了

“授权”的权限,即可以把得到的权限继续授予其他用户。

REVOKE INSERT ON Student FROM 王平 CASCADE;

就将Student表的INSERT权限从用户王平处收回,选项CASCADE 表示,如果用户王平将 Student 的 INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回。

6.今有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号)

部门(部门号,名称,经理名,地址,电话号)

请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

(a) 用户王明对两个表有SELECT权力;

GRANT SELECT ON 职工,部门

TO 王明;

(b) 用户李勇对两个表有INSERT和DELETE权力;

GRANT INSERT,DELETE ON 职工,部门 TO 李勇;

(c) *每个职工只对自己的记录有SELECT权力;

GRANT SELECT ON 职工 WHEN USER()= NAME TO ALL;

这里假定系统的GRANT语句支持WHEN子句和USER()的使用。用户将自己的名字作为ID。注意,不同的系统这些扩展语句可能是不同的。读者应该了解你使用的DBMS产品的扩展语句。

(d) 用户刘星对职工表有SELECT权力,对工资字段具有更

新权力;

GRANT SELECT,UPDATE(工资) ON 职工

TO 刘星;

(e) 用户张新具有修改这两个表的结构的权力;

GRANT ALTER TABLE ON 职工,部门

TO 张新;

(f) 用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力;

GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT OPTION;

(g) 用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。

答:

首先建立一个视图。然后对这个视图定义杨兰的存取权限。

CREATE VIEW 部门工资 AS

SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门

WHERE 职工.部门号 = 部门. 部门号

GROUP BY 职工.部门号;

GRANT SELECT ON 部门工资 TO 杨兰;

7.把习题8中(a)~(g) 的每一种情况,撤销各用户所授予的权力。

答:

(a)

REVOKE SELECT ON 职工,部门

FROM 王明;

(b)

REVOKE INSERT,DELETE ON 职工,部门

FROM 李勇;

(c)

REOVKE SELECT ON 职工

WHEN USER()= NAME

FROM ALL;

这里假定用户将自己的名字作为ID,且系统的REOVKE语句支持WHEN子句,系统也支持USER()的使用。

(d)

REVOKE SELECT,UPDATE ON 职工

FROM 刘星;

(e)

REVOKE ALTER TABLE ON 职工,部门

FROM 张新;

(f)

REVOKE ALL PRIVILIGES ON 职工,部门

FROM 周平;

(g)

REVOKE SELECT ON 部门工资

FROM 杨兰;

DROP VIEW 部门工资;

8.为什么强制存取控制提供了更高级别的数据库安全性?

答:

强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。

9.理解并解释MAC机制中主体、客体、敏感度标记的含义。

答:

主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。

客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。

对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级(Classification Level)。

10.什么是数据库的审计功能,为什么要提供审计功能?

答:

审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。

因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

11.统计数据库中存在何种特殊的安全性问题?

答:

统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。

数据库练习题答案

第四章练习题 一、选择题 1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句 SELECT A,B FROM R WHERE B NOT IN(SELECT B FROM S WHERE C='C56'); 等价的关系代数表达式是 [ C] A.πA,B(σC≠'C56'(R?S))B.πA,B(R ? S) C≠'C56' C.R-πA,B(σC= 'C56'(R?S))D.R-πA,B(σC≠'C56'(R?S)) 2、嵌入式SQL的预处理方式,是指[ B] A.识别出SQL语句,加上前缀标识和结束标志 B.把嵌入的SQL语句处理成函数调用形式 C.对源程序进行格式化处理 D.把嵌入的SQL语句编译成目标程序 3、SQL中,“DELETE FROM 表名”表示 [ A] A.从基本表中删除所有元组B.从基本表中删除所有属性 C.从数据库中撤消这个基本表D.从基本表中删除重复元组 4、SQL中,聚合函数COUNT(列名)用于[ C] A.计算元组个数B.计算属性的个数 C.对一列中的非空值计算个数D.对一列中的非空值和空值计算个数 5、在传统SQL技术中,使用“ORDER BY”子句的SELECT语句查询的结果,实际上为 [ B] A.数组 B.列表 C.包 D.集合 6、在数据库中,能提高查询速度的是(C ) A. 数据依赖 B. 视图 C. 索引 D. 数据压缩 7、语句 delete from sc 表明( A ) A. 删除sc中的全部记录 B. 删除基本表sc C. 删除基本表sc中的列数据 D. 删除基本表sc中的部分行 8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现。 A. 指针 B. 游标 C. 数组 D. 栈 9、在下列基本表的定义中,数值5表示( C ) CREATE TABLE student (Sno char(5) not null unique,Sname char(2)); A. 表中有5条记录 B. 表中有5列 C. 表中字符串Sno 的长度 D. 表格的大小 10、在视图上不能完成的操作是( C )

数据库习题与答案

一.选择题: 1、数据库分析与设计中,其设计对象称客观世界的( ) A、逻辑对象 B、目标对象 C、实体对象 D、需求对象 答案:B (150) 2、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作就是 ( ) A、建立库结构 B、扩充功能 C、加载数据 D、系统调试 答案:B (150) 3、通常用以下的顺序来完成数据库的设计工作( ) A、概念设计、物理设计、逻辑设计 B、逻辑设计、概念设计、物理设计 C、概念设计、逻辑设计、物理设计 D、物理设计、逻辑设计、概念设计 答案:C (150) 4、在数据库设计中,在概念设计阶段可用E-R方法,其设计出的图称为( ) A、实物示意图 B、实用概念图 C、实体表示图 D、实体联系图 答案:D (153) 5、 E-R图就是数据库设计的工具之一,它适用于建立数据库的( ) A、概念模型 B、逻辑模型 C、结构模型 D、物理模型 答案:A (155) 6、在关系数据库设计中,完成设计关系模式的任务就是属于( ) A、需求分析阶段 B、概念设计阶段 C、逻辑设计阶段 D、物理设计阶段 答案:C (157) 7、数据库逻辑设计的主要任务就是( ) A、建立E-R图与说明书 B、创建数据库说明 C、建立数据流图 D、把数据送入数据库 答案:B (158) 二.填空题 1、数据库概念设计就是在数据需求分析基础上进行的,其目的就是分析数据间的内在语义 关联,在此基础上建立一个数据的______________。 答案:抽象模型(152) 2、数据库的逻辑设计的基本方法就是将E-R图转换成指定RDBMS中的______________, 此外还包括关系的规范化以及性能调整,最后就是约束条件设置。 答案:关系模式(156) 3、数据库的逻辑设计的基本方法就是将E-R图转换成指定RDBMS中的关系模式,此外还 包括______________以及性能调整,最后就是约束条件设置。 答案:关系的规范化(156) 4、数据库的逻辑设计的基本方法就是将E-R图转换成指定RDBMS中的关系模式,此外还

数据库安全性习题解答和解析

第九章数据库安全性习题解答和解析 1. 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2. 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。(详细介绍参见《概论》9.1.2)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Database Interpretation 简称TDI, 又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。这些指标的具体内容,参见《概论》9.1.2。 4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。 C1级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主

数据库综合练习(一)习题及答案

1.现有如下关系模式: R(A#,B#,C,D,E) 其中:A#B#组合为码, R上存在的函数依赖有A#B#→E,B#→C,C→D 1)该关系模式满足2NF吗为什么 2)如果将关系模式R分解为: R1(A#,B#,E) R2(B#,C,D) 指出关系模式R1和R2的码,并说明该关系模式最高满足第几范式(在1NF~BCNF之内)。 3)将关系模式R分解到BCNF。 解: 1)不是2范式,因为C部分依赖于码A#B# 2)R1的码为A#B#,R2的码为B# R1最高位BCNF,R2最高为2NF。 3)R1(A#,B#,E) R21(B#,C) R22(C,D) 2.设有一个关系模式R(S#, C#, G, TN, D), 其属性S#为学号,C#课程,G成绩,TN任课教师,D教师所在系。其中学号和课程号分别与其代表的学生和课程一一对应;学生选修的课程都有成绩;每门课程只有一个任课教师,每个教师可以有多门课程,教师没有重名,一个教师只属于一个系。 (1) 试根据上述语义确定函数依赖集。 (2) 关系R属于第几范式 (3)试将关系R规范为第3范式,并说明理由。 解:R(S#,C#,G,TN,D) 由题意可得关系模式R的函数依赖集: (1)F={S#C#->G, S#C#->TN, S#->D, C#->TN, TN->D} (2)函数依赖集存在部分函数依赖,关系模式R属于1NF。 (3)R分解为如下关系模式: R1(S#,C#,G) 不存在部分函数依赖及传递函数依赖,满足3NF。 R2(S#,D) 不存在部分函数依赖及传递函数依赖,满足3NF。 R3(C#,TN) 不存在部分函数依赖及传递函数依赖,满足3NF。 R4(TN,D) 不存在部分函数依赖集传递函数依赖,满足3NF。 3.某企业有多个下属单位,每个单位有多个员工。一个员工仅属于一个单位,且一个员工仅在一个工程中工作;一个工程中有多个员工。有多个供应商为各个工程供应设备。单位属性有单位名,电话。员工属性有:员工号、姓名、性别。设备属性有:设备号、产地。供应商属性有姓名、电话。工程属性有:工程名,地点。 要求完成:1. 根据上段对企业的描述建立企业E-R模型。 2. 把E-R模型转换为相应的关系模式。 3. 试分析各关系模式满足第几范式

数据库习题与答案

一.选择题: 1. 数据库管理系统(DBMS)是( ) A.数学软件 B.应用软件 C.计算机辅助设计 D.系统软件 答案:D (43) 2. 数据库系统的核心是() A.数据库 B.数据库管理系统 C.数据模型 D.软件工具 答案:B (43) 3. 数据库管理系统(DBMS)的主要功能是() A.修改数据库 B.定义数据库 C.应用数据库 D.保护数据库 答案:B (44) 4. 下列选项中,SQL语言所具有的功能是() A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 答案:B (44) 5. 数据库管理系统的工作不包括() A.定义数据库 B.为定义的数据库提供操作系统 C.对已定义的数据库进行管理 D.数据通信 答案:B (44) 6. 数据库管理系统中用于定义和描述数据库逻辑结构的语言称为() A.数据库模式描述语言 B.数据库子语言 C.数据操纵语言 D.数据结构语言 答案:A (44) 7. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称 为() A.数据定义功能 B.数据管理功能 C.数据操纵功能 D.数据控制功能 答案:C (45) 8. 每个事务是一个完整的逻辑工作单位( ) A.原子性 B.隔离性 C.一致性 D.持久性 答案:A (50) 9. 用来记录对数据库中数据进行的每一次更新操作是() A.后援副本 B.数据库 C.日志文件 D.缓冲区 答案:C (51) 10. 数据字典中的数据一般在RDBMS作相关操作时自动生成,其内容不包括的数据为() A.数据结构数据 B.数据管理数据 C.数据控制数据 D.数据交换数据 答案:B (59) 二.填空题

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析 (borrow 表) (reader表)1) 找出姓李的读者姓名(NAME)和所在单位(COMPANY)。2) 列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。3) 查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排 序。4) 查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。5) 查找书名以”计算机”开头的所有图书和作者(WRITER)。6) 检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。9)* 无重复地查询xx年10月以后借书的读者借书证号(READER_ID)、姓名和单位。##10)* 找出借阅了一书的借书证号。11) 找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。12) 查询xx年7月以后没有借书的读者借书证号、姓名及单位。#13) 求”科学出版社”图书的最高单价、最低单价、平均单价。##14)* 求”信息系”当前借阅图书的读者人次数。#15) 求出各个出版社图

书的最高价格、最低价格和总册数。#16) 分别找出各单位当前借阅图书的读者人数及所在单位。17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。18) 分别找出借书人次数多于1人次的单位及人次数。19) 找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。20) 查询经济系是否还清所有图书。如果已经还清,显示该系所有读者的姓名、所在单位和职称。附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK ( BOOK_ID int, SORT VARCHAR(10), BOOK_NAME VARCHAR(50), WRITER VARCHAR(10), OUTPUT VARCHAR(50), PRICE int); 创建READER:(读者表)CREATE TABLE READER (READER_ID int,COMPANY VARCHAR(10),NAME VARCHAR(10),SEX VARCHAR(2),GRADE VARCHAR(10),ADDR VARCHAR(50)); 创建BORROW:(借阅表)CREATE TABLE BORROW ( READER_ID int, BOOK_ID int, BORROW_DATE datetime)插入数据:BOOK表:insert into BOOK values(445501,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445502,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445503,'TP3/12','数据库导论','王强','科学出版社',

数据库的安全性管理

第10章数据库的安全性管理 教学目标: 掌握SQL Sever 的安全机制,了解登录和用户的概念,掌握权限管理和掌握角色管理。通过本章的学习,要求读者深入理解SQL Server 的安全机制,以及掌握常用的管理操作,培养良好的数据库安全意识以及制定合理的数据库安全策略。建立C/S结构的网络数据库概念,锻炼实际数据库管理能力,为今后从事数据库管理员(DBA)的工作奠定基础。 10.1SQL Server 的安全性机制 在介绍安全管理之前,首先看一下SQL Server 是如何保证数据库安全性的,即了解SQL Server 安全机制。 10.1.1 权限层次机制 SQL Server 2005的安全性管理可分为3个等级:1、操作系统级;2、SQL Server 级3、数据库级。 10.1.2 操作系统级的安全性 在用户使用客户计算机通过网络实现SQL Server 服务器的访问时,用户首先要获得计算机操作系统的使用权。 一般说来,在能够实现网络互联的前提下,用户没有必要向运行SQL Server 服务器的主机进行登录,除非SQL Server 服务器就运行在本地计算机上。SQL Server 可以直接访问网络端口,所以可以实现对Windows NT 安全体系以外的服务器及其数据库的访问,操作系统安全性是操作系统管理员或者网络管理员的任务。由于SQL Server 采用了集成Windows NT网络安全性机制,所以使得操作系统安全性的地位得到提高,但同时也加大了管理数据库系统安全性的灵活性和难度。 10.1.3 SQL Server 级的安全性 SQL Server 的服务器级安全性建立在控制服务器登录帐号和口令的基础上。SQL Server 采用了标准SQL Server 登录和集成Windows NT登录两种方式。无论是使用哪种登录方式,用户在登录时提供的登录帐号和口令,决定了用户能否获得SQL Server的访问权,以及在获得访问权以后,用户在访问SQL Server时可以拥有的权利。

数据库设计综合练习题及答案

1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开设,一个学生可选修多门课程,每门课可供若干学生选修,一名教师只教一门课程,但一门课程可有几名教师讲授,每个系聘用多名教师,但一个教师只能被一个系所聘用,要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是哪个老师所教的。(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系模式进行规范化。 1、参考答案: 2、设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。 车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有“聘用开始时间”和“聘期”两个属性; 车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队; 司机与车辆之间存在着“使用”联系,司机使用车辆有“使用日期”和“公里数”两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。

(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系模式进行规范化。 2、参考答案: (1)E-R图设计如下: (2)转换成的关系模型应具有4个关系模式: 车队(车队号,车队名) 车辆(车牌照号,厂家,生产日期,车队号) 司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期) 使用(司机编号,车辆号,使用日期,公里数) 3、设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。

(完整版)数据库课后习题及答案

第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的

(仓库管理)数据库查询语句练习_习题_结果(单世民)仓库_习题

数据库结构如下: 仓库(仓库号, 城市, 面积) 订购单(职工号, 供应商号, 订购单号, 订购日期)供应商(供应商号, 供应商名, 地址) 职工(仓库号, 职工号, 工资) 具体数据如下: 仓库表: 职工表:

使用SQL语句完成: DDL 1.写出创建上述表的语句 命令: create table仓库(仓库号varchar(8)primary key,城市varchar(8),面积int); create table订购单(订购单号varchar(8)primary key,职工号varchar(8),供应商号varchar(8),订购日期nchar(8)) create table供应商(供应商号varchar(8)primary key,供应商名varchar(18),地址varchar(8)) create table职工(职工号varchar(8)primary key,仓库号varchar(8),工资int)DML 2.给出插入上述数据的insert语句 命令: insert into仓库values('WH1','北京',370) insert into仓库values('WH2','上海',500) insert into仓库values('WH3','广州',200) insert into仓库values('WH4','武汉',400) insert into订购单values('OR67','E3','S7','06/23/01') insert into订购单values('OR73','E1','S4','07/28/01') insert into订购单values('OR76','E5','S4','05/25/01') insert into订购单values('OR77','E6','S6','05/26/01') insert into订购单values('OR79','E3','S4','06/13/01') insert into订购单values('OR80','E1','S2','08/29/01') insert into订购单values('OR90','E3','S3','09/01/01') insert into订购单values('OR91','E3','S7','07/13/01') insert into供应商values('S2','名硕电子公司','苏州') insert into供应商values('S3','振华电子厂','西安') insert into供应商values('S4','华通电子公司','北京') insert into供应商values('S6','607厂','郑州') insert into供应商values('S7','爱华电子厂','北京') insert into职工values('E1','WH2',1220) insert into职工values('E3','WH1',1210) insert into职工values('E4','WH2',1250) insert into职工values('E5','WH3',1230) insert into职工values('E6','WH1',1250) 单表查询 3.检索职工关系中的所有信息 命令:select*from职工 结果:

数据库习题答案

第1章认识数据库 10.为体育部门建立的数据库中要存储运动队、运动员、运动项目以及运动员参加运动队和运动项目比赛情况,其中运动队、运动员、运动项目应包含如下信息:(1)运动队:队名、主教练,其中队名唯一标识运动队。 (2)运动员:运动员编号、姓名、性别、年龄,其中运动员编号唯一标识一名运动员。 (3)运动项目:项目编号、项目名、所属类别,其中项目编号唯一标识一个项目。 这里规定,每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加多个项目,每个项目可以有多个运动员参加。系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。 根据以上叙述,为体育部门建立E-R模型,要求标注联系类型。 参考答案:E-R模型如下: 11.设某图书管理系统需要存储有关出版社、作者、图书以及作者的著书情况。出版社、作者和图书应包含的信息如下: (1)出版社:出版社编号、出版社名称、地址、电话 (2)图书:图书编号、书名、定价、字数 (3)作者:作者编号、姓名、单位、职称、电话 再给出如下语义和要求:每个出版社出版多种图书,每种图书有唯一的图书编号,且每种图书只能由一个出版社出版,每个出版社出版一种图书应记录其出版时间;一种图书有多名作者,每一个作者可能编著多种图书,每个作者编著一种图书应记录作者排序(即该书中作者的次序,如第一作者、第二作者等)。 试根据上述表述为该系统设计ER模型,要求标注联系的类型。 参考答案:E-R模型如下: 第2章关系数据库 9.给定如图2-6所示的关系R1、R2和R3,完成以下问题:

R 1? R 3 A 6(R 1? R 3))的结果。 参考答案: 10.某数据库包括职工关系EMP 、工程关系PRJ 和报酬关系SAL ,这三个关系模式为: EMP (ENO ,ENAME ,SEX ,BIRTH );--记录职工信息 PRJ (PNO ,PNAME ,BUDGET );--记录工程信息 SAL (ENO ,PNO ,SALARY )。--记录职工参加工程和参加每个工程的工资情况 各属性含义为:ENO (职工号)、ENAME (姓名)、SEX (性别)、BIRTH (出生年月)、PNO (工程编号)、PNAME (工程名称)、BUDGET (预算)、SALARY (工资)。用关系代数完成以下查询: (1)查询所有女职工的职工号和姓名。 (2)查询参加工程编号为‘P1’的工程的职工姓名。 (3)查询没有参加过预算超过500000的工程的职工号。 (4)查询参加过所有预算超过500000的工程的职工姓名。 参考答案: (1)πENO, ENAME (σSEX=’女’(EMP)) (2)πENAME (σPNO=’P1’(SAL)?EMP) A B C 3 4 3 5 2 5 8 4 6 9 8 6 9 8 12 R 1∪R 2: A B C 5 2 5 9 8 6 R 1∩R 2: (1) R 1-R 2: A B C 3 4 3 9 8 12 (2) πA ,B (R 1)×πC ,E (R 3): A B C E 3 4 5 2 3 4 6 6 3 4 6 8 5 2 5 2 5 2 6 6 5 2 6 8 9 8 5 2 9 8 6 6 9 8 6 8 R 1? R 3: A 6(R 1? R 3)): A E 9 6 9 8

数据库习题与答案

数据库习题与答案

一.选择题: 1.数据库分析与设计中,其设计对象称客观世界的() A.逻辑对象 B.目标对象 C.实体对象 D.需求对象 答案:B (150) 2. 数据库物理设计完成后,进入数据库实施阶 段,下列各项中不属于实施阶段的工作是() A.建立库结构 B.扩充功能 C.加载数据 D.系统调试 答案:B (150) 3. 通常用以下的顺序来完成数据库的设计工作() A.概念设计、物理设计、逻辑设计 B.逻辑设计、概念设计、物理设计 C.概念设计、逻辑设计、物理设计 D.物理设计、逻辑设计、概念设计 答案:C (150) 4. 在数据库设计中,在概念设计阶段可用E-R 方法,其设计出的图称为() A.实物示意图 B.实用概念图 C.

实体表示图 D.实体联系图 答案:D (153) 5. E-R图是数据库设计的工具之一,它适用于建立数据库的() A.概念模型 B.逻辑模型 C.结构模型 D.物理模型 答案:A (155) 6.在关系数据库设计中,完成设计关系模式的任务是属于() A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 答案:C (157) 7. 数据库逻辑设计的主要任务是() A.建立E-R图和说明书 B.创建数据库说明 C.建立数据流图 D.把数据送入数据库 答案:B (158) 二.填空题

1.数据库概念设计是在数据需求分析基础上进 行的,其目的是分析数据间的内在语义关联,在此基础上建立一个数据的______________。 答案:抽象模型(152) 2.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的______________,此外还包括关系的规范化以及性能调整,最后是约束条件设置。 答案:关系模式(156) 3.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的关系模式,此外还包括______________以及性能调整,最后是约束条件设置。 答案:关系的规范化(156) 4.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的关系模式,此外还包括关系的规范化以及______________,最后是约束条件设置。 答案:性能调整(156) 5.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的关系模式,此外还包

数据库中SQL查询语句习题含的答案

.word 版本可编辑. 查询问题:设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME ) (1)检索计算机系的全体学生的学号,姓名和性别; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS ”的学生学号与姓名; (4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2和C4的学生学号; (6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名; (8)查询所学课程包含学生S3所学课程的学生学号。 (1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno ,Sname ,Sex FROM S WHERE Sdept =’CS ’; (2)检索学习课程号为C2的学生学号与姓名; (1)首先在C 表中找出“DS ”课程的课程号Cno ; (2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ; (3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。 SELECT Sno ,Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM C WHERE Cname=‘DS ’)); (4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SC WHERE Cno=‘C2’ OR Cno=‘C4’; (5)检索至少选修课程号为C2和C4的学生学号; SELECT Sno FROM SC X ,SC Y WHERE X.Sno=Y.Sno AND https://www.360docs.net/doc/7e11659311.html,o=‘C2’ AND https://www.360docs.net/doc/7e11659311.html,o=‘C4’ ; (6)检索不学C2课的学生姓名和年龄; 有学。 SELECT Sname FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.Sno=S.Sno AND https://www.360docs.net/doc/7e11659311.html,o=https://www.360docs.net/doc/7e11659311.html,o )); (8)查询所学课程包含学生S3所学课程的学生学号。 分析:不存在这样的课程Y ,学生S3选了Y ,而其他学生没有选。 SELECT DISTINCT Sno FROM SC AS X WHERE NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.Sno=‘S3’ AND NOT EXISTS (SELECT * FROM SC AS Z WHERE Z.Sno=X.Sno AND https://www.360docs.net/doc/7e11659311.html,o=https://www.360docs.net/doc/7e11659311.html,o )); 设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT ); 学习关系SC (SNO ,CNO ,GRADE ); 课程关系C (CNO ,CNAME ,CDEPT ,TNAME ) 查询问题: 1:查所有年龄在20岁以下的学生姓名及年龄。 2:查考试成绩有不及格的学生的学号 3:查所年龄在20至23岁之间的学生姓名、系别及年龄。 4:查计算机系、数学系、信息系的学生姓名、性别。 5:查既不是计算机系、数学系、又不是信息系的学生姓名、性别 6:查所有姓“刘”的学生的姓名、学号和性别。 7:查姓“上官”且全名为3个汉字的学生姓名。 8:查所有不姓“张”的学生的姓名。 9:查DB_Design 课程的课程号。 10:查缺考的学生的学号和课程号。 11:查年龄为空值的学生的学号和姓名。 12:查计算机系20岁以下的学生的学号和姓名。 13:查计算机系、数学系、信息系的学生姓名、性别。 14:查询选修了C3课程的学生的学号和成绩,其结果按分数的降序排列。 15:查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。 16:查询学生总人数。 17:查询选修了课程的学生人数。 18:计算选修了C1课程的学生平均成绩。

(安全生产)数据库的安全性与完整性

数据库的安全性和完整性 一、实验目的和要求 1、理解数据库安全性和完整性的概念。 2、掌握SQL Server2000中有关用户、角色及操作权限管理等安全性技术。 3、掌握SQL Server2000中有关约束、规则、默认值的使用等完整性技术。 二、实验内容和步骤 ㈠数据库的安全性 1、SQL Server的安全模式 认证是指来确定登陆SQL SERVER的用户的登陆账号和密码是否正确,以此来验证其是否具有连接SQL SERVER的权限,但是通过认证阶段并不代表能够访问数据,用户只有在获取访问数据库的权限之后才能对服务器上的数据库进行权限许可下的各种操作。 ⑴设置SQL Server的安全认证模式:使用企业管理器来设置,步骤如下: Step1: 展开服务器组,右击需要设置的SQL服务器,在弹出菜单中选择“属性”。 Step2: 在弹出的SQL服务器属性对话框中,选择“安全性”选项卡。 Step3: 选择仅Windows选项(NT/2000验证模式) 或SQL Server和Windows选项(混合模式)。 注:设置改变后,用户必须停止并重新启动SQL Server服务,设置才生效。 如果设置成NT认证模式,则用户在登录时输入一个具体的登陆名时,SQL SERVER将忽略该登录名。 ⑵添加SQL Server账号:若用户没有Windows NT/2000账号,则只能为他建立SQL Server账号。 ①利用企业管理器 Step1: 展开服务器,选择安全性/登录。 Step2: 右击登录文件夹,出现弹出式菜单。 Step3: 在弹出式菜单中选择“新建登录”选项后,就会出现一个登录属性对话框。 step4: 在名称框中输入一个不带反斜杠的用户名,选中SQL Server身份验证单选按钮,并在密码框中输入口令(如下图所示)。

数据库习题答案

碧霞谷就像早饭,周一到周五总会吃;炼宝就像午饭,每顿都得吃;跑马就像晚饭,哪顿不吃慎得慌;打架就像社交,出门在外总会遇到那么一两回;逆世万劫就像晨跑,勤劳的人总是有收获的;九幽就像下午茶,有时候高兴就去做一下;打眼睛就像摸彩票,偶尔抽一次说不定有意外惊喜;3v3就像相亲,总会遇到几个傻逼;灭妖挂箱子就像洗澡,洗完总会神清气爽;百环就像嘿咻,一周一次幸福快乐;打刑天就像逛街,一个月也就那么几次;抢红包就像炒菜,时间把握的好就能做好;遗民密谋就像上课,打着打着就要犯困;玄海就像考试,团队合作尤其重要;喇叭冒泡就像上厕所,每天都有那么几回;挂女娲就像睡觉,一觉醒来总会有点精力旺盛。 习题一 一、选择题 1.B 2.A 3.C 二、填空题 1.人工管理方式、文件管理方式、数据库系统管理方式 2.Window身份验证模式、SQL Server身份验证模式 3..sql 4.Reporting Services配置、Notification Services命令提示、SQL Server Configuration Manager、SQL Server错误和使用情况报告、SQL Server外围应用配置器。 习题二 一、选择题 1.A 2.B 3.A 4.A 二、填空题 1.二维表格、数据文件、日志文件、数据库管理系统 2.比较真实地模拟现实世界、容量被人所理解、便于计算机上实现 3.实体完整性规则、参照完整性规则、用户定义的完整性规则 习题三 一、选择题 1.C 2.D 3.A 4.A 5.A 6.C 7.A 8.B 习题四 一、选择题

2.B 3.B 4.A 5.A 二、填空题 1.UNIQUE 2.NONCLUSTERED 三、简答题 1.p88页, 1)在聚集索引中,表中各记录的物理顺序与索引的逻辑顺序相同,只有在表中建立了一个聚集索引后,数据才会按照索引键值的顺序存储到表中。由于一个表中的数据只能按照一种顺序存储,所以在表中只能建立一个聚集索引。通常在主键上创建聚集索引。 2)非聚集索引是完全独立于数据行的结构,表中的数据行不按非聚集索引的顺序排序和存储。在非聚集索引内,从索引行指向数据行的指针称为行定位器。在检索数据时,SQL Server先在非聚集索引上搜索,找到相关信息后,再利用行定位器,找到数据表中的数据行。一个表上可以建立多个非聚集索引。 如果在一个表中既要创建聚集索引,又要创建非聚集索引,应先创建聚集索引,然后创建非聚集索引。因为创建聚集索引时将改变数据行的物理存放顺序。聚集索引的键值是唯一的,非聚集索引的键值可以重复,当然也可以指定唯一选项,这样任何两行记录的索引键值就不会相同。 2.建立主键时 3.CREATE NONCLUSTERED INDEX ID_XM ON S(姓名) 习题五 一、选择题 1.C 2.B 3.A 4.A 5.D 6.A 二、简答题 1.∏[型号,内存容量,硬盘容量]((σ价格<8000(PRODUCT )) 2.∏[生产厂家,型号,是否彩色,价格] (σ 是否彩色=T(PRODUCT PRINTER ) 3.∏[生产厂家](PRODUCT PRINTER) 习题六 一、选择题 1.C 2.A 3.D 4.C 5.D

数据库中SQL查询语句习题含的答案

查询问题:设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME ) (1)检索计算机系的全体学生的学号,姓名和性别; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS ”的学生学号与姓名; (4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2和C4的学生学号; (6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名; (8)查询所学课程包含学生S3所学课程的学生学号。 (1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno ,Sname ,Sex FROM S WHERE Sdept =’CS ’; (2)检索学习课程号为C2的学生学号与姓名; (1)首先在C 表中找出“DS ”课程的课程号Cno ; (2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ; (3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。 SELECT Sno ,Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM C WHERE Cname=‘DS ’)); (4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SC WHERE Cno=‘C2’ OR Cno=‘C4’; (5)检索至少选修课程号为C2和C4的学生学号; SELECT Sno FROM SC X ,SC Y WHERE X.Sno=Y.Sno AND https://www.360docs.net/doc/7e11659311.html,o=‘C2’ AND https://www.360docs.net/doc/7e11659311.html,o=‘C4’ ; (6)检索不学C2课的学生姓名和年龄; 在表S 中找学生,要求这个学生学了全部课程。换言之,在S 表中找学生,在C 中不存在一门课程,这个学生没有学。 SELECT Sname FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.Sno=S.Sno AND https://www.360docs.net/doc/7e11659311.html,o=https://www.360docs.net/doc/7e11659311.html,o )); (8)查询所学课程包含学生S3所学课程的学生学号。 分析:不存在这样的课程Y ,学生S3选了Y ,而其他学生没有选。 SELECT DISTINCT Sno FROM SC AS X WHERE NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.Sno=‘S3’ AND NOT EXISTS (SELECT * FROM SC AS Z WHERE Z.Sno=X.Sno AND https://www.360docs.net/doc/7e11659311.html,o=https://www.360docs.net/doc/7e11659311.html,o )); 设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT ); 学习关系SC (SNO ,CNO ,GRADE ); 课程关系C (CNO ,CNAME ,CDEPT ,TNAME ) 查询问题: 1:查所有年龄在20岁以下的学生姓名及年龄。 2:查考试成绩有不及格的学生的学号 3:查所年龄在20至23岁之间的学生姓名、系别及年龄。 4:查计算机系、数学系、信息系的学生姓名、性别。 5:查既不是计算机系、数学系、又不是信息系的学生姓名、性别 6:查所有姓“刘”的学生的姓名、学号和性别。 7:查姓“上官”且全名为3个汉字的学生姓名。 8:查所有不姓“张”的学生的姓名。 9:查DB_Design 课程的课程号。 10:查缺考的学生的学号和课程号。 11:查年龄为空值的学生的学号和姓名。 12:查计算机系20岁以下的学生的学号和姓名。 13:查计算机系、数学系、信息系的学生姓名、性别。 14:查询选修了C3课程的学生的学号和成绩,其结果按分数的降序排列。 15:查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。 16:查询学生总人数。

相关文档
最新文档