P Pno P1 P2 P3 P4 P5 P6 Pname Color 螺 母 红 螺 栓 绿 螺丝刀 蓝 螺丝刀 红 凸 轮 蓝 齿 轮 红 Jno J1 J2 J3 J4 J5 Jname 20 12 18 18 16 23 City Weight S1 S1 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S4 S4 S4 S5 S5 S5 S5 P1 P1 P1 P2 P3 P3 P3 P3 P5 P5 P1 P3 P5 P6 P6 P2 P3 P6 P6 J1 J3 J4 J2 J1 J1 J3 J4 J2 J1 J1 J3 J4 J1 J3 J4 J1 J3 J4 200 100 700 100 400 200 500 400 400 100 200 200 100 300 200 100 200 200 500 语言完 J 三 建 天 津 一 汽 长 春 造船厂 北 京 机车厂 南 京 弹簧厂 上 海 图2.4 试用关系代数、**ALPHA语言、**元组演算成如下查询:
⑴ 求供应工程J1零件的供应商的号码Sno; ⑵ 求供应工程J1零件P1的供应商的号码Sno; ⑶ 求供应工程J1零件为“红”的供应商的号码Sno; ⑷ 求没有使用天津供应商生产”红”色零件的工程号Jno; ⑸ 求至少使用了供应商S1所供应的全部零件的工程号Jno。 4、解:本题个小题的结果如图2.5所示. R1 A B a b c d b d d e c a a e A B a D b e c c R2
R3
R5
A
a
b
c
R4 R6 A B B C a d b c A B B C a d c c b c b b a d b d c c c c b e c c b e b d c c b d
5、解:本题个小题的结果如图2.6所示.
R2
R1 A B C A B C C D E c c c 7 2 3 3 4 5
R3
A B C C D E 7 2 3 7 2 3 4 4 3 3 4 5
2.6 计算结果
6、解:本题个小题的结果如图2.7所示.
R1 R2
Y T
A B C D E 3 6 7 2 3 4 5 7 2 3 7 2 3 4 5 4 4 3 4 5 d f e c e d P Q T Y 9 a e f 7 g e f
R3 R4
P Q T Y B 2 b c d m 2 b c d n 7 g c d m 7 g c d n
P Q Y B 2 d a 9 f b 2 f g 7 f g 7 d P Q 2 b 7 g R5
图2.7 计算结果 四、综合题
解:⑴ 关系代数:πSNO(πSNO=‘J1‘(SPJ))
ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=’J1’
元组演算表达式:{t|(?u)(SPJ(u) ?U[3]=’J1’ ?t[1]=u[1])} ⑵ 关系代数:πSNO(?SNO=‘J1
?Pno=’p1‘(SPJ))
ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=’J1’?SPJ.Pno=’P1’ 元组演算表达式:{t|(?u)(SPJ(u)?U[3]=’J1’?U[2]=’P1’
?t[1]=u[1])}
⑶ 关系代数:πSNO(?sno=’p1‘?ALPHA语言:RANGE P X
color=‘红’
(P)∞SPJ))
GET W (SPJ.Sno): ?X(X.Pno=SPJ.Sno?x、color=’红’ ?SPJ.Jno=’J1’ 元组演算表达式:{t|(?U)(?u)(SPJ(u) ?P(V)?U[2]=V[1] ?V[3]= ’
红’ ?U[3]=’J1’ ?t[1]=u[1])}
⑷ 关系代数
π(SPJ)-πJNO(?CITY=‘天津’?Color=‘红’(S∞SPJ∞P )) ALPHA语言:RANGE P X S SX P PX
GET W (SPJ.Sno): ?X ?SX?PX(X.Pno=SX.Sno?SX.CITY≠’天津’?
X.PNO=PX.Pno=PX.PNO?PX.COLOR≠’红’)
元组演算表达式:
{t|(?U)(?u)(?ww)(SPJ(u) ?P(V)?s(w) ?U[2]=V[1] ?u[1]= w[1] w[4] ≠ ’天津’ ?V[3] ≠’红’ ?T[1]=u[3])} ⑸关系代数:πJno.pno(SPJ) ?πPNO(? ALPHA语言: RANGE SPJ SPJY SPJ SPJY P PX
GET W (SPJ.Sno): ?PX (?SPJY(SPJY.Sno=‘S1’ ?SPJT.Pno=PX.PNO)
SNO=‘S1’
(SPJ))
?ЕSPJY(SPJY.JNO=SPJ.JNO?SPJY.PNO=PX.PNO ))
元组演算表达式:
{t|(?U)(?u)(?w)(PU) ?SPJ(v) ?SPJ(W)?V(1) =’S1’ ?U[1]=V[2]
? w[2] =U[1] ?w[3]= v[3])?t[1]=u[3]}
第三章 关系数据库标准语言SQL
Ⅰ、学习要点
1、掌握 SQL的功能特点和体系结构;
2、熟练掌握SQL定义、修改和删除表、建立视图、定义索引的方法; 3、熟练掌握利用SQL的SELECT语句表达数据查询要求的方法; 4、掌握如何利用SQL语句表达数据的修改、删除操作。
Ⅱ、习题
一、 选择题
1、SQL属于 A 数据库语言。
A.关系型 B.网状型 C.层次型 D.面向对象型
2、当两个子查询的结果 B 时,可以执行并,交,差操作. A.结构完全不一致 B.结构完全一致 C.结构部分一致 D.主键一致 3、SQL中创建基本表应使用 B 语句. A.CEARTE SCHEMA B.CEARTE TABLE C.CEARTE VIEW D.CEARTE DATEBASE 4、SQL中创建视图应使用(C )语句. A. CEARTE SCHEMA B.CEARTE TABLE
C. CEARTE VIEW D.CEARTE DATABASE *5、视图创建完毕后,数据字典中存放的是( C ). A. 查询语句 B.查询结果
C. 视图定义 D.所引用的基本表的定义 6、关系代数中的л运算符对应SELECT语句中的( A )子句. A.SELECT B.FROM C.WHERE D.GROUP BY
7、关系代数中的σ运算符对应SELECT语句中的( C )子句. A.SELECT B.FROM C.WHERE D.GROUP BY
8、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( B ). A. * B. % C. - D. ?
9、WHERE子句的条件表达式中,可以匹配单个字符的通配符是( C ). A. * B. % C. - D. ?
10、SELECT语句中与HAVING子句同时使用的是( C )子句. A.ORDER BY B.WHERE C.GROUP BY D.无需配合
11、与WHERE G BETWEEN 60 AND 100语句等价的子句是(D ). A. WHERE G>60 AND G<100 B. WHERE G>=60 AND G<100 C. WHERE G>60 AND G<=100 D. WHERE G>=60 AND G<=100 12、SELECT语句执行的结果是( C). A.数据项 B.元组 C.表 D.视图 13、SQL语言具有__B__的功能。 A.关系规范化,数据操纵,数据控制
B。数据定义,数据操纵,数据控制
C.数据定义,关系规范化,数据控制 D。数据定义,关系规范化,数据操纵 14、SQL语言中,实现数据检索的语句是__A__。 A、SELECT
B、INSERT
C、UPDATE
D、DELETE
15、下列SQL语句中,修改表结构的是__A__
A.ALTER B.CREATE C.UPDATE D.INSERT 二、填空题
1. 非关系数据模型的数据操纵语言是面向對象的,而关系数据库的标准语言SQL是面向
集合的语言.
2. SQL语言的功能包括数据查询,数据操纵,数据定义和数据控制. 3. SQL以同一种语法格式,提供自含式和自定义两种使用方式.
4. SELECT语句中, WHERE子句用于选择满足给定条件的元组,使用_ GROUP BY子句
可按指定列的值分组,同时使用HAVING子句可提取满足条件的组.
5. 在SQL中,如果希望将查询结果排序,应在SELECT语句中使用ORDER BY子句,其中
数据库系统原理综合试题



