设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:

题目
问答题
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
参考答案和解析
正确答案: 1)求供应工程J1零件的供应商号码SNO:
πSno(σSno=‘J1’(SPJ))
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

第53和54题基于如下描述:

设有一个数据库,包括S、P、J、SJP四个关系模式如下:

供应商关系模式S(SNO,SNAME,CITY)

零件关系模式P(PNO,PNAME,COLOR,WEIGHT)

工程项目关系模式J(JNO,INAME,CITY)

供应情况关系模式SJP(JNO,PNO,JNO,QTY)

假定它们都已经有若干数据。

“找出使用供应商编号为’0909’的供应商所供应的零件的工程名”的SELECT语句中将使用的关系有( )。 A.J和SJP B.P和SJP C.P、J和SJP D.J、S和SJP


正确答案:A
供应商标号涉及到关系SJP,零件名涉及到P,工程名涉及到关系J.所以答案为C。

第2题:

设有一个工程供应数据库系统,包括如下四个关系模式:

.S(SNQ,SNAME,STATUS,CITY);

.P(PNQ,PNAME,COLOR,WEIGHT);

.J(INQ,JNAME,CITY);

.SPJ(SNO,PNQ,JNO,QTY);

供应商表S由供应商号、供应商名、状态、城市组成;

零件表P由零件号、零件名、颜色、重量组成;

工程项目表J由项目号、项目名、城市组成;

供应情况表SPJ由供应商号、零件号、项目号、供应数量组成;

(1)用关系代数查询没有使用天津供应商生产的红色零件的工程号;

(2)用关系代数查询至少使用了供应商S1所供应的全部零件的工程号JNO;

(3)用SQL查询供应工程J1零件为红色的工程号JNO;

(4)用SQL查询没有使用天津供应商生产的零件的工程号;

(5)用SQL语句将全部红色零件改为蓝色;

(6)用SQL语句将(S2,P4,J6,400)插入供应情况关系。


参考答案:

(1)

(2)

(3)

(4)

(5)

(6)

第3题:

●假设供应商S和供应情况SPJ的关系模式分别为S(Sno,Sname,Status,City)和SPJ(Sno,Pno,Jno,Qty)。SQL语句 (19) 不能正确地查询出"零件号Pno等于'P3'的供应商名Sname",而 (20) 能正确查询的关系代数表达式。

(19) A.SELECT DISTINCT Sname

FROMS

WHERE EXISTS

(SELECT*

FROM SPJ

WHERE S.Sno=SPJ.SnO

AND SPJ.Pno=′P3′

B.SELECT DISTmCT Sname

FROMS

WHERE 0<

(SEIECT COUNT(*)

FROM SPJ

WHERE S.Sno=SPJ.Sno

AND SPJ.Pno=′P3′)

C.SELECT Sname

FROMS

WHERE EXISTS

(SELECT*

FROM SPJ

WHERE S.Sno=SPJ.Sno

AND SPJ.Pno=′P3′)

D.SELECT Sname

FROMS,SPJ

WHERES.Sno=SPJ.Sno

AND SPJ.Pno=′P3′)

GROUP BYSname

(20) A.Πsname(S)Dσ 0 Pno=′P3′(SPJ)

B.Πsname(SD∞σ Pno=′P3′(SPJ))

C.Πsname(S)-Πsname(σ Pno≠′P3′(Sσσ(SPJ)

D.Πsname(S)-Πsname((S∞σ Pno≠′P3′(SPJ)


正确答案:C,B
【解析】SQL语言是一种典型的关系型数据库语言,它包含数据描述语言DDL和数据操纵语言DML。其中,DDL包括数据定义和数据控制,DML包括数据查询和数据修改。SQL的核心是数据库查询语句,语句的一般格式是:
SELECT目标列
FROM基本表(或视图)
[WHERE条件表达式]
[GROUP BY列名1[HAVING内部函数表达式]]
[ORDER BY列名2[ASC或DESC]]
整个语句的含义是:根据WHERE子句中的条件表达式,从基本表(或视图)中找出满足条件的元组,按SELECT子句的目标列,选出元组中的分量形成结果表。如果有ORDER子句,则结果表要根据指定的列名2升序(ASC)或降序(DESC)排序。GROUP子句将结果按列名1分组,每个组产生结果表中的一个元组,通常在每组中作用库函数。分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才予输出。COUNT函数用来统计元组个数。DISTINCT用来去掉查询结果中重复的行。

第4题:

假设供应商S和供应情况SPJ的关系模式分别为S(Sno,Sname,Status,City)和SPJ(Sno,Pno,Jno,Qty)。SQL语句(25)不能正确地查询出“零件号Pno等于'P3'的供应商名Sname",而(26)能正确查询的关系代数表达式。

A.SELECT DISTINCT Sname FROM S WHERERE 0 <(SELECT COUNT( *)FROM SPJ WHERE S. Sno = SPJ. Sno AND SPJ. Pno = 'P3')

B.SELECT DISTINCT Sname FROM S WHERE EXISTS(SELECT * FROM SPJ WHERE S. Sno=SPJ. Sno AND SPJ. Pno= 'P3')

C.SELECT Sname FROM S WHERE EXISTS( SELECT * FROM SPJ WHERE S. Sno = SPJ. Sno AND SPJ. Pno = 'P3')

D.SELECT Sname FROM S, SPJ WHERE S. Sno = SPJ. Sno AND SPJ. Pno = 'P3' GROUP BY Sname


正确答案:C
解析:(25)题中C选项没有使用关键字DISTINCT,因而是不正确的。(26)题中A项对S进行了投影操作,无法完成自然连接;C、D项是等价的关系代数表达式,它们在供应商同时供应“P3”零件和其他零件的情况下,无法得到正确的结果。

第5题:

假设供应商S和供应情况SPJ的关系模式分别为:S(Sno, Sname, Status, City)和SPJ(Sno, Pno, Jno, Qty)。SQL语句______不能正确地查询出“零件号Pno等于'P3'的供应商名Sname”。

A.SELECT DISTINCT Sname FROM S WHERE EXISTS (SELECT* FROM SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pno='P3')

B.SELECT DISTINCT Sname FROM S WHERERE 0< (SELECT COUNT (*) FROM SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pno='P3')

C.SELECT Sname FROM S WHERE EXISTS (SELECT* FROM SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pno='P3')

D.SELECT Sname FROM S, SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pno='P3') GROUP BY Sname


正确答案:A
解析:选项C的含义是:首先从表SPJ中查找零件号Pno为P3的所有记录,然后,通过关联,从S中查找与SPJ中所找出记录的Sno相等的记录。最后,取出该记录中供应商名Sname。这样会出现许多相同的供应商名Sname。所以是错误的。为了解决这个问题,应当加上DISTINCT。第1空的正确答案为选项A。

第6题:

已知关系SPJ(S,P,J,QTY),把对关系SPJ的属性QTY的修改权授予用户张三的T-SQL语句是( )

A.GRANT QTY ON SPJ TO 张三

B.GRANT UPDATE ON SPJ TO张三

C.GRANT UPDATE (QTY) ON SPJ TO张三

D.GRANT UPDATE ON SPJ (QTY) TO张三


参考答案C

第7题:

下列问题基于如下描述:设有一个数据库,包括S、J、P、SJP四个关系模式如下: 供应商关系模式S(SNO,SNAME,CITY)零件关系模式P(PNO,PNAME,COLOR,WEIGHT)工程项目关系模式J(JNO,JNAME,CITY)供应情况关系模式SJP(SNO,PNO,JNO,QTY)假定它们都已经有若干数据。

“找出使用供应商名为虹星,的供应商所供应的零件的工程名”的SELECT语句中将使用的关系有______。

A.S、J和SJP

B.S、P和SJP

C.P、J和SJP

D.S、J、P和SJP


正确答案:A

第8题:

阅读以下说明,回答问题1至问题3,将解答写在对应栏内。

【说明】

有如下关系数据库:

S(SNO,SN,STATUS,CITY)

P(PNO,PN,COLORS,WEIGHT)

J(JNO,JN,CITY)

SPJ(SNO,PNO,JNO,QTY)

其中,S为供应单位,P为零件,J为工程项目,SPJ为工程订购零件的订单,其语义为:某供应单位供应某种零件给某个工程,请用SQL完成下列操作。

求为工程J1提供红色零件的供应商代号。


正确答案:SELECT DISTICT SPJ.SNO FROM SPJP WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J1'AND P.COLOR='红'
SELECT DISTICT SPJ.SNO FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J1'AND P.COLOR='红'

第9题:

现在有两个关系模式:供应商S(Sno,Sname,Status,City)和供应情况SPJ(Sno,Pno,Jno, Qty)。对于查询“查询零件号Pno等于‘P3’的供应商名Sname”SQL语句(221)是错误的,而关系代数表达式(222)是正确的。

A.SELECTSname FROM S WHERE EXIST5(SELECT * FROM SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pno='P3')

B.SELECT Sname FROM S,SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pno='P3') CROUP BY Sname

C.SELECT DISTINCT Sname FROM S WHERE EXISTS(SELECT * FROM SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pno='P3')

D.SELECT DISTINCT Sname FROM S WHERERE 0<(SELECTCOUNT(,) FROM SPJ WHERE S.Sno=SPJ.Sno AND SPJ.Pnn='P3')


正确答案:A

第10题:

假设供应商S和供应情况SPJ的关系模式分别为:S(Sno,Sname,Status,City)和SPJ(Sno,Pno,Jno,Qty)。SQL语句(22)不能正确地查询出“零件号Pno等于‘P3’的供应商名Sname",而(23).能正确查询的关系代数表达式。

A.SELECT DISTINCT Sname

B.SELECT DISTmCT Sname FROMS FROMS WHERE EXISTS WHERE 0<(SELECT *(SEIECT COUNT(*)FROM SPJ FROM SPJ WHERE S.Sno=SPJ.SnO WHERE

C.SELECT Sname

D.SELECT Sname FROMS FROMS, SPJ WHERE EXISTS WHERES.Sno=SPJ.Sno(SELECT * AND SPJ.Pno= 'P3')FROM SPJ GROUP BYSname W


正确答案:C
解析:SQL语言是一种典型的关系型数据库语言,它包含数据描述语言DDL和数据操纵语言DML。其中,DDL包括数据定义和数据控制,DML包括数据查询和数据修改。SQL的核心是数据库查询语句,语句的一般格式是:SELECT目标列FROM基本表(或视图)[WHERE条件表达式)[GROUPBY列名1[HAVING内部函数表达式]][ORDERBY列名2[ASC或DESC]]整个语句的含义是:根据WHERE子句中的条件表达式,从基本表(或视图)中找出满足条件的元组,按SELECT子句的目标列,选出元组中的分量形成结果表。如果有ORDER子句,则结果表要根据指定的列名2升序(ASC)或降序(DESC)排序。GROUP子句将结果按列名1分组,每个组产生结果表中的一个元组,通常在每组中作用库函数。分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才予输出。COUNT函数用来统计元组个数。DISTINCT用来去掉查洵结果中重复的行。

更多相关问题