2015-12-22 39 views
0

我需要幫助將sql查詢轉換爲關係代數。將sql查詢轉換爲關係代數

因此,例如,讓我們說我有英語隨機的SQL查詢,由5個部分組成:

    1. 選擇奧爾巴尼
  • 所有學校
  • 到那裏總學校gpa(學生gpa/count學生)
    1. 平均校GPA < 3.5
  • 限制頂部10所學校
  • 由總校GPS
  • 秩他們

所以我創建了關係代數。

σ rownum() > 0 & rownum() ≤ 10 
    (π student gpa’s/count student -> total school gpa 
     (σ school = ‘albany’ & total school gpa < 3.5 (school Table))) 

我的問題:能有人仔細檢查我的解決方案,讓我知道,如果這是錯誤的。

回答

0

TL; DR您似乎正在從SQL進行翻譯,但您並沒有將自己限制爲給予您的任何RA(關係代數)的特徵。 如果不知道你的RA和你的基礎關係的列和含義,我們就不能回答你的問題。


如果你要覺得在SQL方面,你需要找出如何每個RA運營商將在SQL來表達。 RA中沒有NULL。關係中沒有行號。您的RA可能有也可能沒有訂購屬性和/或重複的屬性名稱和/或屬性,其中點綴了別名。你需要清楚一個「關係」是什麼和你的RA中「運營商」是什麼

RA中通常沒有功能,但比較(儘管如果你還沒有獲得學校平均分)沒有count()或rownum(),通常在投影中沒有重命名,一些RA的選擇/限制操作符不允許使用布爾連接,沒有排序,你依賴的是,但沒有要求你不清楚你的基礎關係名稱或屬性或含義

檢出執行RA的(n SQLish版本)的RelaX