第一章绪论
1.简述数据、数据库、数据库管理系统、数据库系统的含义及其联系?
2.信息模型与数据模型的有何区别,试述数据模型的三要素。
3.简述数据库SPARC模式结构的内容。
4.什么是数据独立性?数据独立性包含哪两种?
5.关系模型相对于层次和网状模型来说有哪些优缺点?
6.有一个记录球队、球员和球迷信息的数据库,包括:
1)球队:球队编号、名称、球员、队长(队员之一)、队服颜色;
2)球员:球员编号、姓名、年龄、籍贯、所属球队;
3)球迷:姓名、年龄、喜爱的球队、喜爱的球员、喜爱的颜色。
用E-R图画出该数据库的信息模型。
第二章关系数据库
1.比较以下概念的区别:
1)关系与关系模式
2)笛卡尔积与连接
3)等值连接与自然连接
4)自然连接与外连接
2.设有以下关系
R S T U V
X Y X Y Y Z X Y Z W Z W
a d d a
b b a b
c
d
e f
b a b a b e a b e f
c d
c c
d c c d c a c d
请写出下列运算的结果:
1)R∪S 2)R∩S 3)R×S 4)U÷V 5)R和T外部并
6)U与T的外连接、左外连接、右外连接
3.已知学生表S、课程表C和学生选课表SC的关系模式如下:
S(Sno,Sname,Sex,age),即(学号、姓名、性别、年龄)
C(Cno,Cname,Teacher),即(课程号、课程名,教师)
SC(Sno,Cno,Grade),即(学号、课程号、成绩)
试用关系代数表示下列查询:
1)查询“王欣”老师所授课程号和课程名;
2)查询选修了课程名为“数据库”或者“数据结构”的学生学号;
3)查询“李琳”同学所选修的课程号及课程名;
4)查询至少选修了两门课程的学生学号;
5)查询全部学生都选修的课程号和课程名;
6)查询至少选修了“王欣”老师所授全部课程的学生姓名。
4.利用关系代数式的等价规则,判断下面等式是否成立(指出使用了哪些规则):
1)δ
R.A=S.A∧R.B=S.B (R×S)) = R∞
R.A=S.A∧R.B=S.B
S
2)∏
sno,sname (δ
cname=‘db’
(∏
sno,sname,cname
(δ
S.sno=SC.sno∧https://www.wendangku.net/doc/468194804.html,o=https://www.wendangku.net/doc/468194804.html,o
(S×SC×C))))
= ∏
sno,sname
(S ∞ SC ∞δcname=‘db’(C))
第三章关系数据库标准查询语言SQL
1.简述SQL语言的特点。
2.简述视图的作用。
3.已知学生表student、课程表course和学生选课表s_c的关系模式如下:
student(sno,sname,sex,age,dept,place)
即(学号、姓名、性别、年龄,所属院系,籍贯),
course(cno,cname,credit,pcno)
即(课程号、课程名,学分,预修课程号),
s_c(sno,cno,grade)
即(学号、课程号、成绩),
1)查询考试成绩不及格的学生的学号及成绩;
2)查询年龄在19~25岁(包含)之间的学生的姓名、院系和年龄,并按年龄降序排列;
3)查询姓名中含有“浩”字的学生信息;
4)按院系查询学生总人数;
5)计算选修了008号课程的学生的平均成绩、最高分及最低分;
6)求平均成绩在85分以上(含)的各门课程及平均成绩。
4.已知学生表S、课程表C和学生选课表SC的关系模式如下:
S(Sno,Sname,Sex,age),即(学号、姓名、性别、年龄)
C(Cno,Cname,Teacher),即(课程号、课程名,教师)
SC(Sno,Cno,Grade),即(学号、课程号、成绩)
试用SQL语句实现下列查询:
1)查询“张琳”老师所授课程号和课程名;
2)查询选修课程名为“C语言”或者“数据库”的学生学号;
3)查询“陈浩”同学所选修课程的课程号及课程名;
4)查询至少选修课程号为C1和C2的学生姓名;
5)用EXISTS查询学习课程号为C5的学生姓名和年龄;
6)查询不选修C3课程的学生姓名和性别。
5.设有以下关系:
职工:E(职工号,姓名,性别,职务,家庭住址,部门号)
部门:D(部门号,部门名称,地址,电话)
保健:B(保健号,职工号,检查日期,健康状况)
用关系代数(1-4题),SQL语言完成全部功能:
1)查询所有女科长的姓名和家庭地址;
2)查询部门名称为‘办公室’的科长姓名和家庭地址;
3)查询部门名称为‘财务科’、健康状况为‘良好’的职工姓名和家庭住址;
4)删除职工关系中职工号为‘1006’的记录;
5)将职工号为1006的职工健康状况改为‘一般’;
6)建立健康状况为‘差’的职工情况的视图。
6.简述嵌入式SQL中,主语言和SQL语言之间有哪几种通信方式。
第四章关系数据库设计理论
1、设关系模式R(ABCD),F是R上成立的函数依赖集,F={A→C, C→B},相对于
F写出关系模式R的主关键字。
2、设关系模式R(ABC),F是R上成立的函数依赖,F={B→C,C→A},那么ρ={AB,
AC}相对于F是否保持无损分解和函数依赖?说明理由。
3、关系模式R(ABCD),F是R上成立的函数依赖,F={AB→CD,A→D}。
1)试说明R不是2NF模式的理由;
2)试把R分解成2NF模式集。
4、设关系模式R(ABC),F是R上成立的函数依赖,F={C→B,B→A}。
1)试说明R不是3NF模式集;
2)试把R分解为3NF模式集。
5、设有关系模式R(职工名,项目名,工资,部门号,部门经理),如果规定每
个职工可以参加多个项目,每个项目都可以各领一份工资;每个项目只属于一个部门管理;每个部门只有一个部门经理。要求:
1)写出关系模式R的函数依赖和主键;
2)R是2NF模式吗?若不是请说明理由,并把R分解到2NF模式集;
3)把R分解到3NF模式集。
6、现需要建立一个关于学生、班级、系和社团等信息的一个关系数据库系统,
一个系有若干专业,每个专业每年只招一个班,每个班有若干名学生,一个系的学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干名学生。需要考虑记录以下信息:
学生属性有:学号、姓名、出生年月、系名、班级号、宿舍区;
班级属性有:班级号、专业名、系名、人数、入学年份;
系的属性有:系名、系号、系办公地点、人数;
社团属性有:社团名、成立年份、地点、人数、学生参加社团的年份。
请写出你设计的关系模式,指出每个关系模式的候选健、外键,写出每个关系模式的函数依赖集。
第五章数据库的保护
1、简述数据库安全性控制有哪些措施?
2、简述数据库并发操作会带来哪些问题?
3、简述事务的特性。
4、简述数据库故障的几种类型及相应恢复方法。
5、已知两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,电话)
用SQL语言定义这两个关系模式,并实现以下完整性约束条件:
1)定义每个关系模式的主键;
2)定义关系中的参照完整性;
3)定义每个职工的年龄不能超过60岁。
6、已知学生表student、课程表course和学生选课表s_c的关系模式如下:
student(sno,sname,sex,age,dept,place)
即(学号、姓名、性别、年龄,所属院系,籍贯),
course(cno,cname,credit,pcno)
即(课程号、课程名,学分,预修课程号),
s_c(sno,cno,grade)
即(学号、课程号、成绩),
试定义以下完整性约束:
1)student中学生年龄在15~25之间;
2)在s_c中插入元组时其sno和cno必须在关系student和course中出现;
3)删除关系course中元组时,首先要把s_c中具有同样cno的元组删除;
4)修改student中某个sno时,同时修改s_c中sno的值。
第六章数据库的设计
1、简述数据库设计的基本步骤。
2、要建立一个公司数据库,公司有多个部门,每个部门有多个职员,一个职员
仅隶属于一个部门,且一个员工在一个工程中工作,一个工程有多个职员参与,有多个供应商为各个工程供应不同的设备。
部门属性:部门名,电话
职员属性:职员号、姓名、性别
工程属性:工程名、地点
设备属性:设备号、设备名、产地
供应商属性:姓名、电话
请完成以下处理:
1)手机满足上述要求的E-R图
2)将E-R图转换为关系模式,用下划线给出其主键。
3、有运动队和运动会两个方面的实体:
运动队方面有:
运动队:队名、教练员名、队员姓名
队员:队名、队员姓名、性别、项目名
其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队仅一个教练。
运动会方面有:
运动队:队编号、队名、教练姓名
项目:项目名、参加运动队的编号、队员姓名、性别、比赛场地。
其中,一个项目有多个运动队参加,一个运动员可以参加多个项目,一个项目一个比赛场地。
1)分别设计运动队和运动会两个局部E-R图;
2)将它们合并为一个全局E-R图(注意合并时的冲突)。