分章节测试题一、二、三章
第一部分 数据库基础篇
第一章(绪论)
第二章(数据建模)
第三章 关系数据库
一、填空题:(每空5分,共35分)
1.DBMS是指 数据库管理系统 ,它是位于 用户 和 操作系统 之间的一层管理软件。
2.构成数据模型的三大要素是___数据结构 、数据操作和数据完整性约束。
- 参照完整性规则是指:如果关系R的外部键.是另一关系S的主键.则R关系中外部键的取值.
要么等于 关系S中某一记录的主键 的值,要么等于空值。
- 传统的集合“并、交、差”运算施加于两个关系时,这两个关系的 属性个数 必须相等, 相对应的属性值
必须取自同一个域。
二、选择题:(每题5分,共40分)
1.下述说法中没有体现数据库系统特点的是( A )。
A.数据面向应用程序 B.数据结构化 C.数据冗余小 D.数据共享性高
2.数据库系统的核心是( B )。
A.数据库 B.数据库管理系统
C.数据模型 D.软件工具
-
设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为( A )。
A.r+s B.r-s C.r×s D.max(r,s)
4.层次模型不能直接表示( C )。
A. 1 :1关系 B.1 :m关系
C. m :n关系 D.1 :1和1 :m关系
5.数据库系统的数据独立性是指( B )。
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
6.一个关系数据库文件中的各条记录( B ) 。
A.前后顺序不能任意颠倒,一定要按照输入的顺序排列
B.前后顺序可以任意颠倒,不影响库中的数据关系
C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同
D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列
-
在通常情况下,下面的关系中不可以作为关系数据库的关系是( D )。
A.R1(学生号,学生名,性别)
B.R2(学生号,学生名,班级号)
C.R3(学生号,学生名,宿舍号)
D.R4(学生号,学生名,简历)
8.对职工表的性别、字段,要求职工的性别必须为‘男’或者‘女’,这种约束条件属于( C )。
A.参照完整性 B.实体完整性
C.用户定义的完整性 D.数据一致性
三、操作题(每题5分,共10分)
已知如下关系模式
客户个人信息 (身份证号,姓名,性别)
客户入住信息(身份证号,客房号,入住时间,退房时间)
客房 (客房号,客房类型号)
试用关系代数完成如下操作
1、查询“张桦”客户的身份证号和年龄
2、查询“李明”先生所订的客房的号码和入住时间
四、简答 (15分)
你如何看待数据库系统的三级模式以及三级模式对保持数据的逻辑独立性和物理独立性的作用?
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。
三级模式间的两层映像保证了数据库系统中的数据具有较高的数据独立性。
分章节测试题四、五、六章
第四章 规范化理论
第五章 数据库设计
第六章 关系数据库标准语言SQL
一、操作题
把数据库library附加至你的个人SQL Server数据库服务器,
观察所给关系数据库表结构(重点观察BOOK、READER、BORROW、BLERK表),
在SQL Server中完成以下问题和SQL操作:
问题:
BOOK表和BORROW表的主键如何设置,分析其设置原因
BOOK表设置的约束有哪些,设置规则是什么,分析设置原因
查询:
- 查询馆藏图书中各出版社图书的数量;
- 查询未登记作者姓名的图书编号和书名;
- 查询2001至2002年出版的图书的全部信息;
- 查询图书价格小于平均图书价格的书的编号和书名;
- 查询借书但未归还的读者的编号、姓名及所借图书编号、书名;
- 查询那个图书借阅次数最多的出版社名称;
- 删除已还图书的借阅记录,并思考真实环境中,已还图书是否为直接删除,更合理的做法应该是什么?
新建查询,执行SQL语句导入mdf、ldf文件:
EXEC sp_attach_db @dbname = 'library',
@filename1 = 'd:\data\library.mdf', --mdf文件路径
@filename2 = 'd:\data\library_log.ldf' --ldf文件路径
如果导入不成功,则需要修改mdf,ldf文件的权限。
找到你的mdf,ldf文件,右键-属性-安全-编辑,完全控制选择允许。
- 查询馆藏图书中各出版社图书的数量
select count(*)图书数量,PRESS
from BOOK
group by PRESS;
- 查询未登记作者姓名的图书编号和书名
select BOOK_ID,BOOK_NAME
from BOOK
where AUTHOR is null;
- 查询2001至2002年出版的图书的全部信息
select *
from BOOK
where year(PRESS_DATE)='2001' or year(PRESS_DATE)='2002';
- 查询图书价格小于平均图书价格的书的编号和书名
先计算一下平均图书价格:
select avg(PRICE)平均图书价格 from BOOK;
将其作为子句:
select BOOK_ID,BOOK_NAME
from BOOK
where PRICE<(select avg(PRICE) from BOOK);
- 查询借书但未归还的读者的编号、姓名及所借图书编号、书名
select BORROW.READER_ID,NAME,BORROW.BOOK_ID,BOOK_NAME
from BOOK,READER,BORROW
where READER.READER_ID=BORROW.READER_ID
and BOOK.BOOK_ID=BORROW.BOOK_ID
and FLAG_RETURN='N';
- 查询哪个图书借阅次数最多的出版社名称
先查询哪个图书借阅次数最多:
select top 1 BOOK_ID,count(*)借阅次数
from BORROW
group by BOOK_ID;
试着查看这个图书是哪个出版社的:
select PRESS
from BOOK
where BOOK_ID=10300649;
整合在一起:
select top 1 BORROW.BOOK_ID,count(*)借阅次数,PRESS
from BORROW,BOOK
where BOOK.BOOK_ID=BORROW.BOOK_ID
group by BORROW.BOOK_ID,BOOK.PRESS;
二、设计题(每题30分,共60分)
- 已知某酒店的业务描述:
(1)每一个客户有惟一的身份证号,客户需记录身份证号、姓名、性别、电话等信息;
(2)每个客房有唯一的客房编号,客房有客房类型、收费标准等信息;
(3)一个客房同一时间只能有一个客户入住,要记录客户的入住时间和退房时间;
根据上述业务描述和订单格式得到关系模式R:
R(客户身份证号,姓名,性别,客户电话,客房编号,客房类型,收费标准,入住时间,退房 时间)
解题要求:
(1)写出R的基本函数依赖集。
(2)找出R的候选键。
(3)判断R最高可达到第几范式,为什么?
(4)将R分解为一组满足3NF的模式。
[同类题型]已知新华书店销售订单的屏幕输出格式如题41图所示。
书店的业务描述:
(1)每一个订单有惟一的订单编号;
(2)一个订单可以订购多种图书,且每一种图书可以在多个订单中出现;
(3)一个订单对应一个客户,且一个客户可以有多个订单;
(4)每一个客户有惟一的客户编号;
(5)每一种图书有惟一的图书编号。
根据上述业务描述和订单格式得到关系模式R:
R(订单编号,日期,客户编号,客户名称,客户电话,地址,图书编号,书名,定价,数量)
问:(1)写出R的基本函数依赖集。
(2)找出R的候选键。
(3)判断R最高可达到第几范式,为什么?
(4)将R分解为一组满足3NF的模式。
[同类题型]
[同类题型] 假设某旅馆业务规定,每个账单对应一个顾客,账单的发票号是唯一的,账单中包含一个顾 客姓名、到达日期和顾客每日的消费明细,账单的格式如题 41图所示。
如果根据上述业务规则, 设计一个关系模式: R(发票号, 到达日期,顾客姓名,消费日期,项目,金额)。
试回答下列问题:
(1)找出 R的候选键
(2)判断 R最高可达到第几范式,为什么?
(3)给出 R的一个可能的 3NF分解
2. 某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
解题要求:
(1)根据上述语义画出E-R图,在E-R图中需注明实体的属性、联系的类型及实体的码。(8分)
(2)将E-R模型转换成关系模型,并指出每个关系模式的主键和外键。(6分)
解:
(1)
(2)
关系模型为:
工厂(工厂编号,厂名,地址)
主键是工厂编号
产品(产品编号,产品名,规格)
主键是产品编号
生产(工厂编号,产品编号,计划数量)
主键是(工厂编号,产品编号)
外键是(工厂编号,产品编号)
职工(职工号,姓名,聘期,工资,工厂编号)
主键是职工号
外键是工程编号