2016-03-22 4 views
0

Ich muss eine SQL-Abfrage in relationaler Algebra auf eine bestimmte Weise übersetzen, aber ich bin nicht sicher, ob meine Antwort richtig ist.SQL-Abfrage in Relationale Algebra übersetzen

Datenbank

Students: (studentID, firstname, familyname, address, borough) 
Entries: (studentID, examID< result) 
Exams: (examID, examName, qualification, board, date) 

SQL-Abfrage

SELECT studentID 
FROM Students s, Entries e, Exams x 
WHERE s.studentID = e.studentID AND e.examID = x.examID AND 
s.borough='Haringey' AND e.result = 'pass' AND x.examName='Latin' 

Ich habe diese Abfrage in der relationalen Algebra wieder ausdrücken, wo die auf den Tischen ausgeführt schließt sich, nachdem die Tabellen durch die Auswahl reduziert wurden Bediener

meine Antwort

PROJECT StudentID (SELECT s.borough = 'Haringey' (Students)) Equijoin s.studentID = e.studentID (( e.result SELECT = 'pass' (Einträge)) Equijoin e.examID = x.examID (SELECT x.examName = 'Latin' (Prüfungen)))

Antwort

0

Ihre Anfrage korrekt ist. Sie haben alle Auswahloperationen korrekt "gedrückt". Beachten Sie, dass Sie das Ergebnis jeder Auswahl auch auf die minimale Anzahl von Attributen projizieren können, die von den folgenden Operatoren benötigt werden.