数据库系统概论期末复习资料 下载本文

职工 ┐ 仓库号 WH1 职工号 工资 <1220

(6).检索和北京的所有供应商都有业务联系的职工的工资。 解:

关系代数表示:

R=∏供应商号(σ地址=“北京“(供应商)) **北京的供应商号 ∏工资(职工??( ∏职工号,供应商号(订购单)÷R)) ALPHA表示:

RANGE 订购单 D , 供应商 S , 职工 Z GET W(Z.工资):(?S)(?D)(Z.职工号=D. 职工号∧D.供应商号=S. 供应商号∧S.地址=”北京”) QBE表示:

职工 职工号 仓库号 工资

供应商 ALL

订购单 职工号 E1 供应商号 WH4 订购单号 订购日期 供应商号 WH4 供应商名称 地址 北京 E1 P.1220 (7).检索至少和职工E1、E4、E7都有联系的供应商名称。 解:

关系代数表示:

设临时关系R = 职工号 E1

E4

E7

∏供应商名称((∏供应商号,职工号(订购单)÷R)?? 供应商) ALPHA表示:

RANGE 供应商 S , 订购单 D1 , 订购单 D2 ,订购单 D3 GET W(S.供应商名称) : (?D1) (D1.供应商号=S.供应商号∧D1.职工号=”E1”)

(?D2) (D2.供应商号=S.供应商号∧D2.职工号=”E4”) (?D3) (D3.供应商号=S.供应商号∧D3.职工号=”E7”)

QBE表示:

供应商 供应商号 供应商名称 地址 WH1 WH1 WH1 职工号 E1 P.607厂P.607厂P.607厂

订购单 供应商号 WH1 订购单号 订购日期 E4 E6 WH1 WH1

13.用关系代数完成下面各项操作(各个关系模式及关系如后所示)。

供应商(SNO,SNAME,CITY)

零件(PNO,PNAME,COLOR,WEIGHT) 工程(JNO,JNAME,CITY) 供应(SNO,PNO,JNO,QTY) (1).求供应工程J1零件的单位号码SNO (2).求供应工程J1零件P1的单位号码SNO (3).求供应工程J1零件为红色的单位号码SNO

(4).求没有使用天津供应商的红色零件的工程号JNO (5).求至少用了单位S1所供应的全部零件的工程号JNO. 解:

(1). ∏SNO(σJNO=‘J1’(SPJ))

(2). ∏SNO(σJNO=‘J1’∧ PNO=‘P1’(SPJ)) (3). ∏PNO(σCOLOR=‘红’(P)) ①

∏SNO(σJNO=‘J1’(SPJ) ?? ①)

∏SNO(σJNO=‘J1’(SPJ) ?? ∏PNO(σCOLOR=‘红’(P))) (4).

? ? ? ?

1) ∏SNO(σCITY=‘天津’(S)) : ①天津供应商号 2) ∏PNO(σCOLOR=‘红’(P)) : ②红色零件号

3) ∏JNO(① ?? SPJ? ? ② ) : ③使用了天津供应商红色零件的工程号 4) ∏JNO(J)- ③ : 未使用天津供应商的红色零件的工程号 ∏JNO,PNO (SPJ)÷ ∏PNO (σSNO=‘S1’(SPJ)) :至少用了单位S1所供应的全部零件的工程号JNO

(5). ∏PNO(σSNO=‘S1’(SPJ)) :S1供应的全部零件号

第三部分 关系数据库标准语言SQL

一、单项选择题

1.SQL语言是 的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 答案:B

2.SQL语言是 语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 答案:C

3.SQL语言具有 的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 答案:B

4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是 。

A.SELECT B.INSERT C.UPDATE D.DELETE 答案:A

5.SQL语言具有两种使用方式,分别称为交互式SQL和 。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C

6.SQL语言中,实现数据检索的语句是 。 A.SELECT B.INSERT C.UPDATE D.DELETE 答案:A

7.下列SQL语句中,修改表结构的是 。 A.ALTER B.CREATE C.UPDATE D.INSERT 答案:A

第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT) C(C#,CN)

SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。

8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是 。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S

WHERE SN=“王华”

C.SELECT SN,AGE,SEX FROM S

WHERE AGE>(SELECT AGE

WHERE SN=“王华”)

D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 答案:A 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是 。 A.SELECT S# FORM SC WHERE C#=“C2” AND GRAD>= (SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC

WHERE C#=“C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC

WHERE C#=“C2” AND GRADE NOT IN

(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC

WHERE C#=“C2” AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=“C2”) 答案:D

10.检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是 。 A.SELECT S.SN,SC.C#,SC.GRADE FROM S

WHERE S.S#=SC.S#

B.SELECT S.SN,SC.C#,SC.GRADE FROM SC

WHERE S.S#=SC.GRADE

C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC

WHERE S.S#=SC.S#

D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC 答案:C 11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是 。

A.SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC

HAVING COUNT(*)>=4 WHERE C#=“C2” AND GRADE>= (SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC

WHERE C#=“C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC

WHERE C#=“C2” AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC

WHERE C#=“C2” AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=“C2”) 答案:D

12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 。 A.S B.SC,C C.S,SC D.S,C,SC 答案:D

13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作 不能执行。 A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)