福师1103批次《数据库管理与应用》复习题1
一、选择题(每小题2分,共20分)
1. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是_____。
A.DBS包括DB和DBMS B.DBMS包括DB和DBS
C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS 答案:A
2. 按照传统的数据模型分类,数据库系统可以分为三种类型_____。
A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体 答案:C
3. 关系数据库管理系统应能实现的专门关系运算包括____。
A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 答案:B
4. 数据流程图(DFD)是用于描述结构化方法中____阶段的工具。
A可行性分析 B.详细设计 C.需求分析 D.程序编码 答案:C
5. 设有学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#,SN,SEX,AGE,DEPT),C(C#,CN),SC(S#,C#,GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程 号,CN为课程名,GRADE、为成绩。
检索选修课程“C3”的学生中成绩最高的学生的学号。正确的SELECT语句是____。 A.SELECT S# FORM SC WHERE C#=“C3” AND GRADE >=
(SELECT GRADE FORM SC WHERE C#=“C3”)
B.SELECT S# FORM SC WHERE C#=“C3” AND GRADE IN
(SELECT GRADE FORM SC WHERE C#=“C3”)
C.SELECT S# FORM SC WHERE C#=“C3” AND GRADE NOT IN
(SELECT GRADE FORM SC WHERE C#=“C3”)
D.SELECT S# FORM SC WHERE C#=“C3” AND GRADE=
(SELECT MAX(GRADE) FORM SC WHERE C#=“C3”)
答案:A
6. 在关系代数的传统集合运算中,假定有关系R和S,运算结果为W。如果W中的元组属
于R而不属于S,则W为_____运算的结果。
A.笛卡尔积 B.并 C.差 D.交 答案:C
7. 在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为_____。
A.选择 B.投影 C.连接 D.扫描 答案:B
8. 自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要
求R和S含有一个或多个共有的____。
A.元组 B.行 C.记录 D.属性 答案:D
9. 下面哪个不是数据库系统必须提供的数据控制功能_____。 A.建立 B.插入 C.删除 D.查询 答案:A
10. 事务的一致性是指_____。
A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 答案:D
请注意:本复习题中以下主观题的答案仅供参考
二、填空题(每小题3分,共30分)
1. 数据库技术主要研究如何___________________。 答案:存储、使用和管理数据
2. DBMS是指____________①,它是位于__________②和操作系统之间的一层管理软件。 答案:为数据库的建立、使用和维护而配置的系统软件;数据库
3. 一个数据模型的组成包括:数据结构、_____________①和___________②。 答案:数据操作;数据的完整性约束条件
4. 关系的三种类型是___________________。 答案:一对多 一对一 多对多
5. 己知科室(科室编号,名称,电话,地点)和职工(职工号,姓名,性别,调入日期,
科室编号)两个关系,科室关系的主关键字是科室编号,科室关系的外关键字是__________①,职工关系的主关键字是__________②,外关键字是__________③。 答案:无外关键字 职工号 科室编号
6. 数据库设计的几个步骤是_________________________、实施、运行和维护。 答案:需求分析;概念设计;逻辑设计 7. 设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS),主关键字是NO,其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。 写出实现下列功能的SQL语句: (1)插入一个记录(25,‘李明’,‘男’,21,‘95031’);______________________①。 (2)将学号为10的学生姓名改为‘王华’; ________________________②。 (3)删除学号为20的学生记录;_________________________③。 答案:INSERT INTO R VALUES (25, ‘李明’,’男’,21,’95031’ );
UPDATE R SET NAME=’王华’ WHERE NO=10; DELETE FROM R WHERE NO=20
8、数据库系统一般是由______________①、______________②、______________③、______________④、______________⑤组成。
答案:数据库;操作系统;数据库管理系统;应用程序;用户 9、指出下列缩写的含义:
(l)DML ______________① (2)DBMS ______________② (3)DDL ______________③
(4)DBS ______________④ (5)SQL ______________⑤ (6)DB ______________⑥ (7)DD ______________⑦ (8)DBA ______________⑧
答案:数据操纵语言;数据库管理系统;数据定义语言;数据库系统;结构化查询语言;数据库;数据字典;数据库管理员
10、在一个实体表示的信息中,称__________为关键字。 答案:可用于区别实体中不同个体的一个或几个属性的组合
三、简答题(4小题,共20分)
1. 试述DBMS的功能。(4分)
答案:DBMS的功能包括:数据定义语言、数据操纵功能、数据库运行管理功能、数据库建立和维护功能。
2. 把E-R模型转换为关系模型的转换规则有哪些?(4分)
答案:E-R图向关系模型的转换规则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式
合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2) 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3) 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的
属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。
(4) 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相
连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(5) 具有相同码的关系模式可合并。
3. 已知关系R,T如下图所示,求R*T即R与T的自然连接。(4分) R T
B C D D F A C E B D F M N N 答案:
R*T
A C C E B D D F B D D F C M N N 4. 一个图书管理系统中有如下信息:(8分)
描述读者的属性有:读者编号、姓名、性别、出生年月、单位 描述图书的属性有:书号、书名、作者、出版社
其中约定:每个读者可借看多本图书,每本图书可被多个读者借看,借出时要记录借出
时间,还回时要记录还回时间。
请用E-R模型描述图书和读者的联系,注明属性和联系类型;并将E-R模型转换成关系模型,同时标明各关系模式的主键和外键。 答案:E-R图:
关系模型:
读者(读者编号,姓名,性别,出生年月,单位) 图书(书号,书名,作者,出版社)
借阅(读者编号,书号,借阅时间,归还时间)
四、 编写程序题(每小题10分,共30分)
1、假设数据库std_dbs中有3个表,各表逻辑结构设计如下: ①学生表student其结构为:学号(定长字符串,12),姓名(变长字符串,20,非空),性别(定长字符串,2,默认值“男”),年龄(整数,非空)。主键:学号
②课程表course其结构为:课程号(定长字符串,3),课程名称(变长字符串,20)。主键:课程号
③成绩表grade其结构为:学号(定长字符串,12),课程号(定长字符串,3),成绩(整数,取值0~100)。主键:(学号,课程号)。外键:学号,其值取自表“学生”主键“学号”的值;课程号,其值取自表“课程”主键“课程号”的值。 请用SQL语句完成如下操作:(10分)
(1)按课程名称、学号二重排序输出:课程名称,学号,姓名,成绩。 (2)查询与“刘晨”年龄一样的学生。 答案:(1)SELECT course.课程名称, student.学号, student.姓名, grade.成绩
FROM grade,course,student
WHERE course.课程号=grade.课程号 AND student.学号=grade.学号 ORDER BY course.课程名称,student.学号
(2)SELECT * FROM student WHERE 年龄=
(SELECT 年龄 FROM student WHERE 姓名='刘晨')
2、假设数据库factory中有3个表,各表逻辑结构设计如下: ①部门表depart,其结构为:部门号(整数),部门名(定长字符串,10)。主键:部门号。
②职工表worker,其结构为:职工号(整数),姓名:(定长字符串,8),性别:(定长字符串,2,默认值“男”),出生日期(日期型),党员否(逻辑型),参加工作(日期型),部门号(整数)。主键:职工号;外键:部门号。 ③职工工资表salary,其结构为:职工号(整数),日期(日期型),工资(数字型,(6,1),取值<=15000)。主键:职工号+日期;外键:职工号。 请用SQL语句完成下列操作: (1) 显示所有职工的职工号、姓名和平均工资。 (2) 显示所有职工的职工号、姓名和部门类型,其中财务处和人事处属管理部门,市场部属市场部门。 答案:(1)Select worker.职工号,姓名,avg(工资)from worker, salary where worker.职工号=salary.职工号group by worker.职工号
(2)select worker.职工号, worker.姓名,case depart.部门名
when '财务处' then '管理部门' when '人事处'then'管理部门' when '市场部'then'市场部门' end as '部门类型' from worker, depart where worker.部门号= depart.部门号
3、编写一个存储过程能根据用户提供CHZH(储户账号)、CQKS(存取款数)进行存取款处理。CHYEB(CHZH CHAR(12),CHYE DECIMAL(12,2))是储户余额表;其中CHYE是储户剩余的金额。CQKMXB(CHZH CHAR(12), CQKS DECIMAL(12,2),CQBZ BIT, CQRQ DATETIME)是存取款明细表,其中CQBZ为存取标志(1为存款,0为取款),CQRQ为存取日期。 答案:
Create proc in_out
@ZHANGHAO char(12), @JINE decimal(12,2), @BIAOZHI bit, @RIQI datatime as
declare @YUE decimal(12,2)
insert CQKMXB(CHZH,CQKS,CQBZ,CQRQ)
Values(@ZHANGHAO,@JINE,@BIAOZHI,@RIQI) //注释:向明细表中添加存取款明细
select @YUE = CHYE from CHYEB where CHZH = @ZHANGHAO //注释:将账号的原有剩余金额保存到变量中 if @BIAOZHI = 1
@YUE = @YUE + @JINE
//如果是存款,则将账号余额增加 if @BIAOZHI = 0
@YUE = @YUE - @JINE
//如果是取款,则将账号余额减少
update CHYEB set CHZH = @ZHANGHAO, CHYE = @YUE //在数据库中更新该账号信息 Go
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库福师14秋《数据库管理与应用》在线作业一答案在线全文阅读。
相关推荐: