早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读下列说明,回答问题1和问题2,将解答写在答卷的对应栏内。【说明】 供应商—零件—工程项目数据库由

题目

阅读下列说明,回答问题1和问题2,将解答写在答卷的对应栏内。

【说明】

供应商—零件—工程项目数据库由以下4个关系模式构成:

S(SNO,SNAME,STATUS,CITY)

P(PNO,PNAME,COLOR,WEIGHT,CITY)

J(JNO,TNAME,CITY)

SPJ(SNO,PNO,JNO,QTY)

其中,供应商S,零件P和工程项目J分别由供应商号(SNO),零件号(PNO)和工程项目号(JNO)唯一标识。供货SPJ是指由某个供应商向某个工程项目供应某些数量的某种零件。

【问题1】

请用SQL语言完成如下的操作。

①找出给北京的工程项目提供不同的零件号:

②将没有供货的所有工程项目从J中删除;

③查询这样的工程项目号:供给该工程项目的零件P1的平均供应量大于供给工程项目n的任何一种零件的最大供应量。

【问题2】

定义一个视图,它由所有这样的工程项目(工程项目号与所在城市名称)组成:它们由供应商S1供货且使用零件P1。

参考答案
正确答案:[问题1] ①SELECTDISTlNCT SPJ.PNO FROM SPJJ WHERE SPJ.JNO=J.JNO AND J.CITY='北京' ②DELETE FROM J WHERE JNO NOT IN ( SELECT JNO FROM SPJ); ③SELECT DISTINCT JNO FROM SPJ WHERE
[问题1] ①SELECTDISTlNCT SPJ.PNO FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.CITY='北京' ②DELETE FROM J WHERE JNO NOT IN ( SELECT JNO FROM SPJ); ③SELECT DISTINCT JNO FROM SPJ WHERE 解析:“找出给北京的工程项目提供不同的零件号”需要两个表(工程项目J和供货SPJ)的联合查找,要使用DISTINCT来消除重复项。
“将没有供货的所有工程项目从J中删除”,首先要在于查向内从供货(SPJ)表内将所有供货的工程项目号(JNO)查山,然后使用NOTIN在工程项目表(J)内将不含有这些 JNO的记录删除。
问题1中②这个查询需要使用条件语句having,还需要使用数学函数AVG、MAX。
考生还要熟悉视图、索引的语句,请参考有关教材,这里不做说明。
看了阅读下列说明,回答问题1和问题...的网友还看了以下: