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)
資料庫關係代數
概述 傳統的集合運算 並,差,交,笛卡爾積 專門的關係運算 r和s 具有相同的目n 即兩個關係都有n個屬性 相應的屬性取自同乙個域 r s 仍為n目關係,由屬於r或屬於s的元組組成 r s r和s 具有相同的目n 相應的屬性取自同乙個域 r s 仍為n目關係,由屬於r而不屬於s的所有元組組成 r s...
資料庫 關係代數
目錄 有了資料庫,還要通過查詢來獲得資料。sql是常用的查詢語言,但我想用更抽象的查詢語言來表達,從思路上去理解而忽略實現細節。下面將介紹關係代數。在介紹查詢語言之前,先定義乙個資料庫例項 sailors sid integer,sname string,rating interger,age re...
資料庫 關係代數除法
定義如下 專門的關係運算 除給定關係r x,y 和s y,z 其中x,y,z為屬性組。r中的y與s中的y可以有不同的屬性名,但必須出自相同的域集。r與s的除運算得到乙個新的關係p x p是r中滿足下列條件的元組在x屬性列上的投影 元組在x上分量值x的象集yx包含s在y上投影的集合。r s yx x在...