请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME=’三建’ 针对该视图VSP完成下列查询: 找出供应商S1的供应情况

题目

请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME=’三建’ 针对该视图VSP完成下列查询: 找出供应商S1的供应情况

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

●假设供应商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用来去掉查询结果中重复的行。

第2题:

● 建立一个供应商、零件数据库。其中“供应商”表 S(Sno,Sname,Zip,City)分别表示: 供应商代码、 供应商名、 供应商邮编、 供应商所在城市, 其函数依赖为: Sno→(Sname,Zip,City ) ,Zip→City。 “零件”表 P(Pno,Pname,Color,Weight,City) ,表示零件号、零件名、颜色、重量及产地。表 S与表 P 之间的关系 SP(Sno,Pno,Price,Qty)表示供应商代码、零件号、价格、数量。

a. “供应商”表 S属于 (36) 。

(36)

A. 1NF

B. 2NF

C. 3NF

D. BCNF

b. 若要求供应商名不能取重复值,关系的主码是 Sno。请将下面的 SQL 语句空缺部分补充完整。

CREATE TABLE S(Sno CHAR(5),

Sname CHAR(30) (37) ,

Zip CHAR(8),

City CHAR(20)

(37)

A. NOT NULL

B. UNIQUE

C. PRIMARY KEY(Sno)

D. PRIMARY KEY(Sname)

(38)

A. NOT NULL

B. NOT NULL UNIQUE

C. PRIMARY KEY(Sno)

D. PRIMARY KEY(Sname)

c. 查询供应“红”色零件,价格低于 500,且数量大于 200的供应商代码、供应商名、零件号、价格及数量的 SQL 语句如下:

SELECT Sno,Sname,Pno,Price,Qty FROM S,SP

WHERE Pno IN ( SELECT Pno FROM P WHERE (39) )

AND (40) ;

(39)

A. SP. Price < 500

B. SP. Qty > 200

C. SP. Price < 500 AND SP. Qty > 200

D. Color = '红'

(40)

A. SP. Price < 500

B. SP. Qty > 200

C. SP. Price < 500 AND SP. Qty > 200

D. Color = '红'


正确答案:B,B,C,D,C


第3题:

建立一个供应商、零件数据库。其中"供应商"表S(Sno,Sname,Zip,City)中的属性分别表示供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为Sno→(Sname,Zip,City),Zip→City。"零件"表P(Pno,Pname,Color,Weight,City),表示零件号、零件名、颜色、重量及产地。表S与表P之间的关系SP(Sno,Pno,Price,Qty)表示供应商代码、零件号、价格、数量。"供应商"表S属于()

A.1NF

B.2NF

C.3NF

D.BCNF


参考答案:B
显然,表S的主键是Sno,说明S至少是2NF。但因为存在Sno→Zip和Zip→City,也就是说,City是传递依赖于主键的,所以S不是3NF。

第4题:

某数据库中有供应商关系S和零件关系P,其中;供应商关系模式S(Sno,Sname,Szip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件关系模式P(Pno,Pname,Color,Weight,City)中的属性分别表示:零件号、零件名、颜色、重量、产地。要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。请将下面的SQL语句空缺部分补充完整。

Create Table SP(Sno Char(5),

Pno Char(6),

Status Char(8),

Qty NUMERIC(9),

(7) (Sno,Pno),

(8) (Sno),

(9) (Pno));

查询供应了“红”色零件的供应商号、零件号和数量(Qty)的元组演算表达式为:

A.Foreign Key

B.Primary Key

C.Foreign Key(Sno)References S

D.Foreign Key(Pno)PEFERENCES P


正确答案:B

第5题:

设供应商供应零件的关系模式为SP(Sno, Pno, Qty),其中Sno表示供应商号,Pno表示零件号,Qty表示零件数量。查询至少包含了供应商“168”所供应的全部零件的供应商号的SQL语句如下:

SELECT Sno

FROM SP SPX

WHERE (1)

(SELECT *

FROM SP SPY

WHERE (2) AND NOT EXISTS

(SELECT *

FROM SP SPZ

WHERE (3)));

A.EXISTS

B.NOT EXISTS

C.IN

D.NOT IN


正确答案:B
解析:问题要求的是至少包含了供应商“168”所供应的全部零件的供应商号。可以分解成 2个否定形式:不存在这样的供应商;168号选了的商品,该供应商没有选择。
  根据以上分解,显然,(1)空选择否定的表达,而IN/NOT IN的一般用法为:
  SELECT *
    FROM table_name1
    WHERE column1 IN/NOT IN
     (SELECT column1
       FROM table_name2
       WHERE conditions);
  也就是说,IN后面接的是一个集合,且前面有列名column1。
  EXISTS/NOTEXISTS指是否存在,一般用法为:
  SELECT *
    FROM table_name1
    WHERE EXISTS/NOT EXISTS
      (SELECT *
        FROM table_name2
        WHERE conditions);

第6题:

阅读以下说明,回答问题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='红'

第7题:

某数据库中有供应商关系S和零件关系P,其中,供应商关系模式s(Sno,Sname, SZip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件关系模式P(Pno,Pname,Color,Weight,City)中的属性分别表示:零件号、零件名、颜色、重量、产地。要求一个供应商可以供应多种零件,而一种零件可以由多个供应商供应。请将下面的SQL语句空缺部分补充完整。

CREATE TABLE SP (Sno CHAR(5),

Pno CHAR(6),

Status CHAR(8),

Qty NUMERIC(9),

(33)(Sno,Pno),

(34)(Sno),

(35)(Pno));

查询供应了“红”色零件的供应商号、零件号和数量(Qty)的元组演算表达式为: {t|((36)∧u[1]=v[1]∧v[2]=w[1]∧w[3]='红'∧(37))}

A.FOREIGN KEY

B.PRIMARY KEY

C.FOREIGN KEY(Sno)REFERENCES S

D.FOREIGN KEY(Pno)REFERENCES P


正确答案:B
解析:本题考查的是关系数据库SQL语言与元组演算语言的基础知识。
  SQL空缺部分主要是对关系模式SP的完整性定义。根据题意要求一个供应商可以供应多个零件,而一个零件可以由多个供应商供应,这样在供应商和零件之间存在多对多的联系,为此需要为该联系创建一个关系模式,该关系模式的主码为供应商代码Sno、和零件号Pno构成。因此,空(33)应填PRIMARY KEY。
  供应商代码Sno为供应商关系的主码,在SP关系中的供应商代码Sno必须参照供应商关系S,所以,空(34)应填FOREIGN KEY (Sno) REFERENCES S。
  零件号Pno为零件关系的主码,在SP关系中的零件号Pno必须参照零件关系P,所以,空(35)应填FOREIGN KEY (Pno) REFERENCES P。
  完整的SQL语句如下:
  CREATE TABLE SP (Sno CHAR(5),
          Pno CHAR(6),
          Status CHAR(8) ,
          Qty NUMERIC(9),
          PRIMARYKEY(Sno,Pno),
          FOREIGN KEY (Sno) REFERENCES S (Sno),
          FOREIGN KEY (Pno) REFERENCES P (Pno));
  对于空(36)的确定,我们应当先分析试题中已给出的元组演算表达式的条件部分: u[1]=v[1]∧v[2]=w[1]∧w[3]='红'。由于w[3]='红',这意味着元组变量w应该说明零件关系P;由于w[1]表示零件号,当v[2]=w[1],这意味着元组变量v应该说明供应商与零件关系之间的联系SP;由于v[1]表示零件号,当u[1];v[1)根据题干给出的已知条件,不难看出元组变量u应该说明供应商关系S。可见空(36)应填:S(u)∧SP(v)∧p(w)。
  对于空(37)的确定,实际上是结果集的确定。由于试题要求查询供应了“红”色零件的供应商号、零件号和数量(Qty)的元组演算表达式,结果集有供应商号、零件号和数量,分别对应关系S的第一个分量,关系SP的第二个分量和第四个分量,所以空 (37)应填t[1]=u[1]∧t[2]=v[2]∧t[3]=v[4]。
  完整的关系代数表达式如下:
  {t|(S(u)∧SP(V)∧P(w)∧u[1]=v[1]∧v[2]=w[1]∧w[3]
      ='红'∧t[1]+u[1]∧t[2]=V[2]∧t[3]=v[4])}

第8题:

供应商关系:S(SNO,SNAME,CITY),属性依次是供应商号、供应商名称和所在城市

零件关系:P(PNO,PNAME,COLOR),属性依次是产品号、品名和颜色

工程关系:J(JNO,JNAME,CITY),属性依次是工程号、工程名和所在城市

供应关系:SPJ(SNO,PNO,JNO,QTY),属性依次是供应商号、产品号、工程号和数量

试用关系代数完成下列操作:

(1)求供应J1工程零件的所有供应商号;

(2)求供应J1工程P1零件的供应商号;

(3)求供应工程J1红色零件的供应商号;

(4)求S1供应商供应零件的所有工程号。


答案:

(1)select distinct SNO from SPJ where JNO='J1'

(2)select SNO from SPJ where JNO='J1' and PNO='P1'

(3)select distinct SNO from SPJ where JNO='J1' and PNO in(select * from P where COLOR='红')

(4)select JNO from SPJ where SNO='S1'

第9题:

建立一个供应商、零件数据库。其中“供应商”表S(Sno,Sname,Zip,City)分别表示:供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为:Sno→ (Sname,Zip,City),Zip→City。“零件”表P(Pno,Pname,Color,Weight,City),表示零件号、零件名、颜色、重量及产地。表S与表P之间的关系SP(Sno,Pno,Price, Qty)表示供应商代码、零件号、价格、数量。 A.“供应商”表S属于(36)。 B.若要求供应商名不能取重复值,关系的主码是Sno。请将下面的SQL语句空缺部分补充完整。CREATE TABLE S(Sno CHAR(5), Sname CHAR (30) (37), Zip CHAR(8), City CHAR (20) (38); C.查询供应“红”色零件,价格低于500,且数量大于200的供应商代码、供应商名、零件号、价格及数量的SQL语句如下:SELECT Sno,Sname,Pno,Price,Qty FROM S,SP WHERE Pno IN (SELECT Pno FROM P WHERE (39)) AND (40);

A.1NF

B.2NF

C.3NF

D.BCNF


正确答案:B

第10题:

下列问题基于如下描述:设有一个数据库,包括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

更多相关问题