A
B
C
d
d
b
f
4
3
7.设有关系如下所示:
学生关系XS(学号,姓名,年龄,性别,籍贯)
课程关系KC(课程号,课程名,任课教员,办公室)
学习关系XX(学号,课程号,分数)
试用文字说明元组演算表达式:
{x1[S_NO]x2[NAME]x3[AGE]x4[SEX]x5[PLACE]|XS(x1x2x3x4x5)^x4=‘F’}的计算结果。
所有女生(2分)的学号、(1分)姓名、年龄、(1分)性别和籍贯(1分)。
8.基于7题关系,试用文字说明元组演算表达式:
{x1[S_NO]x2[AGE]|y1y2y3y4y5(XS(y1y2y3y4y5)^x4=‘M’^y1=x1^y3=x2)}的结果
所有男生(2分)的学号(2分)和年龄。
(1分)
9.基于7题关系,试用文字说明元组演算表达式:
{x[S_NO]|y1y2y3y4y5(XS(y1y2y3y4y5)^z1z2z3[KC](¬KC(z1z2z3)Vv1v2v3(XX(v1v2v3)^v2=z1^v1=y1))^y1=x)}的结果
学习了所有课程(3分)的学生的学号。
(2分)
10.设有下图中的关系R、P、T:
R
P
T
A
B
C
d
ce
5
d
bd
2
d
ce
2
g
ef
7
B
C
E
ce
5
cc
eg
3
fa
ef
7
cf
ef
9
cg
A
C
d
5
d
2
题16图
计算∏1,2(σ3>5(R×P)的结果。
A
B
d
ce
g
ef
11.基于10题关系,计算∏A(R
(∏A,B(R)÷∏A(T))的结果。
A
d
12.基于10题关系,计算П1,2(P)-П2,3(R
P)的结果。
B
C
eg
3
ef
9
13.设有关系R、S如下图:
RS
1
2
3
4
a1
b1
c1
d1
a1
b1
c2
d2
a1
b1
c3
d3
a2
b2
c1
d1
a2
b2
c2
d2
a3
b3
c1
d1
1
2
c1
d1
c2
d2
3
4
c1
d1
c2
d2
c3
d3
题19图
计算П3,4(R)∪S的结果。
14.基于13题关系,计算П3,4(R)—S的结果。
3
4
C3
d3
15.基于13题关系,计算σR.1=а2(R)的结果。
1
2
3
4
a2
b2
c1
d1
a2
b2
c2
d2
16.设有下图中的关系R、S:
R
S
1
2
3
4
a1
b1
c1
d1
a1
b1
c2
d2
a1
b1
c3
d3
a2
b2
c1
d1
a2
b2
c2
d2
a3
b3
c1
d1
1
2
c1
c2
d1
d2
题22图
1
2
a1
b1
a2
b2
a3
b3
计算∏1,2(σ3=5(R×S)的结果。
17.基于16题关系,计算R
S。
其中c=(R.3=S.1)AND(R.4=S.2)的结果。
3
4
C3
d3
18.基于16题关系,计算R÷σ1=c1(S)的结果。
1
2
3
4
a1
b1
c1
d1
a1
b1
c2
d2
a2
b2
c1
d1
a2
b2
c2
d2
a3
b3
c1
d1
数据库原理复习题
SQL语句题
1.对于教学数据库的三个基本表
学生S(S#,SNAME,AGE,SEX)
学习SC(S#,C#,GRADE)
课程C(C#,CNAME,TEACHER)
说明:
S#:
学号SNAME:
姓名AGE:
年龄SEX:
性别
C#:
课程号GRADE:
成绩CNAME:
课程名称TEACHER:
教师
试用SQL语句完成:
在基本表S中检索课程号“01”课程成绩都大于等于80分的学生学号、姓名和性别。
SELECTS#,SNAME,SEX(1分)
FROMS
WHERES#IN(1分)
(SELECTS#
FROMSC
WHEREGRADE>=80ANDC#=“01”)(2分)
2.基于1题的数据表,用SQL完成以下操作:
检索选修课程包含LIU老师所授课的学生学号。
SELECTDISTINCTS#(1分)
FROMSC
WHEREC#IN(1分)
(SELECTC#FROMCWHERETEACHER=“LIU”)(2分)
3.基于1题的数据表,用SQL完成以下操作:
创建学生表。
CREATETABLES(1分)
(S#CHAR(8),
SNAMECHAR(10),(1分)
AGESMALLINT,
SEXCHAR
(2),(1分)
PRIMARYKEY(S#))(1分)
4.基于1题的数据表,用SQL完成以下操作:
用SQL语句将学生表中所有男生的学号前加上“01”。
UPDATES(1分)
SETS#=”01”+S#(2分)
WHERESEX=”男”(1分)
5.基于1题的数据表,用SQL完成以下操作:
统计各门课程的不及格人数。
SELECTC#,COUNT(*)AS不及格人数(2分)
FROMSC
WHEREGRADE<60(1分)
GROUPBYC#(或GROUPBY1)(1分)
6.学生信息表(姓名,学号,性别,年龄,所在系别,宿舍)
课程信息表(课程号,名称,学时数,任课老师,上课时间,地点)
成绩表(学号,课程号,成绩)
试用SQL语句完成:
为课程信息表增加字段“课程性质”,输入的值为“必修课”或“选修课”,不允许空值。
ALTERTABLE课程信息表(2分)
ADD课程性质(1分)CHAR(6)NOTNULL(1分)
7.基于6题的学生信息表、课程信息表和成绩表,试用SQL语句完成:
查找学生王帆选修的所有课程信息。
SELECT*
FROM课程信息表(1分)
WHERE学号IN(1分)
(SELCET学号
FROM学生信息表(1分)
WHERE姓名=“王帆”)(1分)
8.基于6题的学生信息表、课程信息表和成绩表,试用SQL语句完成:
将高等数学的成绩置为0。
UPDATE成绩表(1分)
SET成绩=0(1分)
WHERE课程号IN(1分)
(SELECT课程号
FROM课程表
WHERE课程名称=“高数”)(1分)
9.基于6题的学生信息表、课程信息表和成绩表,试用SQL语句完成:
统计每个学生的平均成绩,输出学号,姓名,平均成绩。
SELECT学生信息表.学号,学生信息表.姓名,AVG(成绩表.成绩)AS平均成绩(2分)
FROM学生信息表,成绩表(1分)
GROUPBY学生信息表.学号(或GROUPBY1)(1分)
10.基于6题的学生信息表、课程信息表和成绩表,试用SQL语句完成:
找出比201号宿舍所有学生平均年龄大的那些学生的姓名及年龄
SELECT姓名,年龄
FROM学生信息表(1分)
WHERE年龄>(1分)
(SELECT,AVG(年龄)(1分)
FROM学生信息表
WHERE宿舍=“201”)(1分)
11.设下列四个关系模式:
S(SNO,SNAME,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
其中供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况。
零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况。
工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况。
供应商情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。
用SQL语言完成操作:
求给工程名为“SOFT”提供零件的供应商号SNO。
SELECTSNO
FROMSPJ(1分)
WHEREJNOIN(1分)
(SELECTJNO
FROMJ(1分)
WHEREJNAME=“SOFT”)(1分)
12.在11题的数据模型的基础上,用SQL语言完成操作:
求供应工程号为“J1”零件“P1”的供应商号SNO。
SELELTSNO(1分)
FROMSPJ(1分)
WHEREJNO=“J1”(1分)ANDPNO=“P1”(1分)
13.在11题的数据模型的基础上,用SQL语言完成操作:
求供应工程为“J1”红色零件的供应商号SNO。
SELECTSPJ.SNO(1分)
FROMSPJ,P(1分)
WHEREP.PNO=SPJ.PNO(1分)ANDP.COLOR=“红色”(1分)
14.在11题的数据模型的基础上,用SQL语言完成操作:
创建工程项目表(J)。
CREATETABLEJ(JNOCHAR(4),(1分)
JNAMEVARCHAR(50),(1分)
CITYVARCHAR(50),(1分)
PRIMARYKEY(JNO))(1分)
说明:
字段宽度不严格限制,适度即可。
15.在11题的数据模型的基础上,用SQL语言完成操作:
将在江苏常州的供应商的供应商号前加上“JSCZ”。
UPDATES(1分)
SETCITY=“JSCZ”+CITY(1分)
WHERESNOIN(1分)
(SELECTSNO
FROMS
WHERECITY=”CHANGZHOU”)(1分)
16.设销售数据模型如下:
厂家S(SNO,SNAME,CITY)
产品P(PNO,PNAME,COLOR,WEIGHT)
工程J(NO,JNAME,CITY)
销售SPJ(NO,PNO,JNO,QTY)
其中供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况。
零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况。
工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况。
供应商情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。
用SQL完成查询:
至少使用P1,P2两种产品的工程号
SELECTX.PNO
FROMSPJASX,SPJASY(1分)
WHEREX.NO=Y.NO(1分)
ANDX.PNO=“P1”(1分)
ANDY.PNO=“P2”(1分)
17.在16题的数据模型的基础上,用SQL完成:
将厂家S模型中属性“CITY”设为变长字符串类型,长度为100。
ALTERTABLES(2分)
ALTERCITYVARCHAR(100)(2分)
18.在16题的数据模型的基础上,用SQL完成查询:
与厂家“长风”在同一城市的厂家名。
SELECTSNAME
FROMS(1分)
WHERECITY=(1分)
(SELECTCITY
FROMS(1分)
WHERESNAME=”长风”)(1分)
19.在16题的数据模型的基础上,用SQL完成:
在工程模型中插入NO为“001”,JNAME为“项目开发”的记录。
INSERTINTO(1分)
J(NO,JNAME)(1分)
VALUES(”001”,”项目开发”)(2分)
20.设有职工基本表:
EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。
为每个工资低于1000元的女职工加薪200元,试写出这个操作的SQL语句。
UPDATEEMP(1分)
SETSALARY=SALARY+200(1分)
WHERESALARY<1000(1分)ANDSEX=”女”(1分)
21.设某工厂数据库中有两个基本表:
车间基本表:
DEPT(DNO,DNAME,MGR_NO),其属性分别表示车间编号、车间名和车间主任的职工号。
职工基本表:
EMP(ENO,ENAME,SALARY,DNO),其属性分别表示职工号、姓名、工资和所在车间的编号。
试用SQL语句完成操作:
检索“金工车间”的男职工的职工号和姓名。
SELECTENO,ENAME(1分)
FROMEMP,DEPT(1分)
WHEREEMP.DNO=DEPT.DNO(1分)ANDDEPT.DNAME=”金工车间”(1分)
22.在21题的数据模型的基础上,用SQL语言完成操作:
给职工基本表增加两列:
AGE(年龄),性别(SEX)。
ALTERTABLEEMP(1分)ADD(1分)
AGESMALLINT,(1分)
SEXCHAR
(2)(1分)
数据库原理复习题
画图题
1.设有学生、班级、教师、教研室、课程等实体,每个实体有多种属性,实体之间可有若干联系,学生通过听课获得成绩。
试用E—R图进行描述,要求注明实体、属性及实体间的联系,各实体属性请自行设计两个。
画图评分标准:
实体完整(3分);
属性完整(3分);
联系完整(4分)。
2.假设教学管理规定:
①一个学生可选修多门课,一门课有若干学生选修;
②一个教师可讲授多门课,一门课只有一个教师讲授;
③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:
根据上述语义画出E—R图,要求在图中画出实体的属性并注明联系的类型。
3.学生与教师教学模型
(1)有若干班级,每个班级包括:
班级号、班级名、专业、人数、教室
(2)每个班级有若干学生,学生只能属于一个班,学生包括:
学号、姓名、性别、年龄
(3)有若干教师,教师包括:
编号、姓名、性别、年龄、职称
(4)开设若干课程,课程包括:
课程号、课程名、课时、学分
(5)一门课程可由多名教师任教,一名教师可任多门课程。
(6)一门课程有多名学生选修,每名学生可选多门课,但选同一门课时,只能选其中一名教师。
请根据题意画出每个实体及其属性关系、实体间实体联系的E—R图。
4.设某百货公司下设若干连锁店,每家连锁店有若干员工,每个员工只能服务于一家连锁店,每家连锁店经营若干商品,各连锁店经营的商品不完全相同。
根据上述语义画出E—R图,要求在图中画出实体、属性并注明实体联系的类型,各实体属性结合实际自行设计,一般在两个以上。
5.有一个应用,包括三个实体集。
实体类型“商店”的属性有:
商店编号,店名,店址。
实体类型“会员”的属性有:
会员编号,会员名,地址。
实体类型“职工”的属性有:
职工编号,职工名,性别,工资。
每家商店有若干职工,但每个职工只能服务于一家商店。
每家商店有若干会员,每个会员可以属于多家商店。
在联系中应反映出职工参加某商店工作的开始时间,会员的加入时间。
试画出反映商店、职工、会员实体类型及联系类型的E—R图;