关系代数题目小汇总——数据库

————————————————————————————————
版权声明:本文为CSDN博主「Flora_M」的原创文章,遵循 CC 4.0 BY-SA 版权协议
原文链接:https://blog.csdn.net/Flora_SM/article/details/84190119

1.查询选修了2号课程的学生的学号。

 

2.查询至少选修了一门其直接先行课为5号课程的学生姓名

因为是选修直接先行课,所以在Course表里,而学生姓名在Student表里,学生与课程相联系在SC表里,所以要将这三个表做自然连接

3.查询选修了全部课程的学生号码和姓名。

 

通过除运算求得选修了全部课程的学生号码,再与Student表中投影的Sno和Sname列做自然连接,即可得到学生号码和姓名。

4.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
 S( SNO,SNAME,STATUS,CITY);
 P(PNO,PNAME,COLOR,WEIGHT);
 J(JNO,JNAME,CITY);
 SPJ(SNO,PNO,JNO,QTY);
①供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;②零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;③工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;④供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数完成如下查询:
(1) 求供应工程J1零件的供应商号码SNO;
(2) 求供应工程J1零件P1的供应商号码SNO;
(3) 求供应工程J1零件为红色的供应商号码SNO;
(4) 求没有使用天津供应商生产的红色零件的工程号JNO;
(5) 求至少用了供应商S1所供应的全部零件的工程号JNO。
 

解:  (1)

         (2)  注意:当要满足两个条件时,用交运算

         (3)

         (4) πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)————此类题目用减法运算

                  或   

 

              在减法运算中被减的部分是使用了天津供应商生产的红色零件的所有工程号,πJNO(J)是全部工程的工程号,两者相减就是没有使用天津供应商生产的红色零件的工程号,包括没有使用任何零件的工程号。

         (5)————此类题目用除法运算

原文地址:https://www.cnblogs.com/fuao2000/p/12405079.html