————————————————————————————————
版權聲明:本文為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)————此類題目用除法運算