数据库原理与应用练习题(含答案)
- 格式:doc
- 大小:85.50 KB
- 文档页数:6
1 / 6 装订线 《数据库原理与应用》复习题
一、 判断题
1. 在关系数据库管理系统中,创建的视图在数据库三层结构中属于模式。错
2. 若在一个关系中,某一个属性或属性组的值能唯一地标识该关系的元组,而其真子集不行,则称该属性或属性组为候选码。对
3. 每个Oracle数据库中只有一个重做日志文件。错
4. DBMS提供数据定义语言(DDL)实现对数据库的检索、插入、修改、删除等基本操作。错
5. 静态列级约束是对一个列的取值域的说明。对
6. 数据库的安全性是为了保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。对
7. 若事务T对数据对象A加上共享锁后,则只允许事务T读取A。错
8. INSTEAD OF触发器是基于视图的触发器,只适用于视图。对
二、 单项选择题
1. 关系模式规范化的最起码的要求是达到第一范式,即满足( D )。
A. 每个非码属性都完全依赖于主码
B. 主码属性唯一标识关系中的的元组
C. 关系中的元组不可重复
D. 每个属性都是不可分解的
2. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( C )。
A. 多对多 B.一对一 C.多对一 D.一对多
3. 在数据库系统的三级模式结构中,用来描述数据的全局逻辑结构的是(C )。
A.子模式 B.用户模式 C.模式 D.存储模式
4. 在数据库中可以创建和删除表、视图、索引,可以修改表。这是因为数据库管理系统提供了(A )。 2 / 6 A.数据定义功能 B.数据操纵功能
C.数据维护功能 D.数据控制功能
5. SQL语言称为( C )。
A. 结构化定义语言 B. 结构化控制语言
C. 结构化查询语言 D. 结构人操纵语言
6. 设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME
LIKE B 。
A.„_ _ W _ %‟ B.„_ % W _ _‟
C.„_ W _ _‟ D.„_ W _ %‟
7. SQL语言级数据定义功能、数据操纵功能和数据控制功能于一体。如下所列语句种,哪个语句是属于数据控制功能的语句(A )。
A. GRANT B. CREATE
C. INSERT D. SELECT
8. 将“年龄”限制在18—30岁之间,属于DBMS的哪种功能( B )。
A. 安全性控制 B. 完整性控制 C. 并发控制 D. 数据恢复
9. 关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现的是哪种类型的整性?( B)
A.实体完整性 B.参照完整性
C.用户定义的完整性
D.实体完整性、参照完整性和用户定义的完整性
10. 为了防止一个用户的工作不适当地影响另一个用户,应该采取( C )。
A 完整性控制 B 安全性控制
C 并发控制 D 访问控制
11. 一个正在执行的事务不能向其他事务透露自己的执行结果,这是事务的(C )。
A. 一致性 B. 原子性 C. 隔离性 D. 持久性
12. 下列哪个语句用来清除自最近的事务语句以来的所有修改?(B )
A. COMMIT TRANSACTION B. ROLLBACK TRANSACTION
3 / 6
装订线 C. BEGIN TRANSACTION D. SAVE TRASACTION
13. 下述描述不属于存储过程的优点是(D )。
A. 减少网络流量 B. 增强代码的重用性和共享性
C. 加强安全性 D. 保证数据的一致性
14. E-R图是一种直观表示何种模型的工具( C )。
A. 结构数据模型 B. 关系数据模型
C. 概念数据模型 D. 层次和网状模型
三、填空题
1. 常见的三种数据模型分别是层次数据模型、 网状数据模型 、 关系数据模型 。
2. 数据处理中的数据描述实际上经历了 现实世界 、 信息世界 、 数据世界 等三个世界的演变过程。
3. 关系模式分解的基本原则包括“一事一地”原则、 无损连接性原则 、保持函数依赖原则。
四、简答题
1. 请简述数据库阶段的数据管理的特点。
参考答案:
(1)数据共享。
(2)减少数据冗余
(3)具有较高的数据独立性
(4)增强了数据安全性和完整性保护。
2. 什么叫数据的逻辑独立性?请从数据库体系结构的角度来解释为什么数据库系统具有较高的逻辑独立性。
数据的逻辑存储结构发生改变是,应用程序不需要改变,称为数据的逻辑独立性。
数据库体系结构包括3个模式,2级映射。用户应用程序是根据外模式进行数据操作,通过外模式-模式映射,定义和建立某个外模式与模式间的对于1.5CM 4 / 6 关系,当模式发生改变时,只要改变其映射,就可以是外模式保持不变,应用程序也可以保持不变。
五、改错题
SQL> DECLARE
2 CURSOR cursorBook IS
3 SELECT bookid,bookname FROM book WHERE price>20;
4 v_bookid book.bookid%TYPE;
5 v_bookname book.bookname%TYPE;
6 BEGIN
7 FETCH cursorBook INTO v_bookid,v_bookname;
8 WHILE cursorBook%FOUND LOOP
9 INSERT INTO newbook VALUES(v_bookid,v_bookname);
10 FETCH cursorBook INTO v_bookid,v_bookname;
11 END LOOP;
12 CLOSE cursorBook;
13 END;
14 /
第7行前缺少游标打开语句,应加上
OPEN cursorBook;
六、程序设计题
1. 在System模式下,将BookSys用户创建的borrow表的SELECT权限授予用户SCOTT,并允许用户SCOTT将该角色授予他人。
GRANT SELECT ON BookSys.book TO SCOTT WITH GRANT OPTION;
2. 创建职工表employee,表字段包括cardid(职工号)、name(姓名)、age(年龄)、dept(部门),字段类型及取值范围自拟,要求(1)职工号为主键;(2)姓名不能为空;(3)职工年龄不允许超过60岁。请写出创建职工表的SQL语句。
CREATE TABLE employee(
cardid VARCHAR2(10) PRIMARY KEY,
5 / 6 装订线 name VARCHAR2(10) NOT NULL,
age NUMBER(2) CHECK(age<=60),
dept VARCHAR2(10) );
3. 计算读者(reader)表中读者类别(class)为1的读者人数。
SELECT count(cardid) FROM hwl.reader Where class=1;
计算不同类别读者人数。
SELECT class,count(cardid) FROM reader GROUP BY class;
4. 查询图书(book)表中价格(price)在20~30元之间的所有图书的书名(bookname)及出版社名(publish)。
SELECT bookname,publish FROM book WHERE price BETWEEN 20 AND 30;
5. 查询正借阅书名为“数据库系统”的读者姓名。
SELECT name FROM reader,borrow,book
WHERE borrow.bookid=book.bookid AND borrow.cardid=reader.cardid
AND bookname=‟数据库系统‟ AND sdate is NULL;
6. 建立读者的借阅视图。
CREATE VIEW stu_borrow
AS
SELECT name,bookname,bdate FROM reader,book,borrow
WHERE borrow.bookid=book.bookid AND borrow.cardid=reader.cardid
AND reader.class=1
七、综合题
1. 有供应商、商品、顾客三个实体,相互之间的联系如下:一个供应商可以供应多种商品,一种类型的商品只由1个供应商供应;同种类型的商品可以由不同的顾客购买,一个顾客一次可购买多种类型的商品。供应商、商品、顾客的属性分别如下:
供应商:供应商号,供应商名,电话
商品:商品号,商品名,规格
顾客:顾客号,姓名,电话
供应商与商品之间的联系的属性为“供应量”、“供应日期”。 6 / 6 顾客与商品之间的联系的属性为“购买量”、“购买日期”。
请按照上述语义描述完成:
(1)画出E-R图;(6分)
(2)将E-R图转换为相应的关系模式,并指出每个关系的候选码。(5分)
参考答案:
(1)E-R图
(2)供应商(供应商号,供应商名,电话)
商品(商品号,商品名,规格)
顾客(顾客号,姓名,电话)
供应(商品号,供应日期,供应商号,供应量)
注:(商品号,供应日期)才能唯一决定一种商品某一次的供求情况。
购买(顾客号,商品号,购买日期,购买量)
注:(顾客号,商品号,购买日期)才能唯一决定某一次购买情况
2. p n 供应商 供应 商品 顾客 购买
供应量 供应商名 供应商号 商品号 规格 顾客号 姓名 电话
电话 商品名