Ich versuche, die folgenden zwei relationale Algebra in Standard-Englisch zu konvertieren, aber ich habe Probleme zu verstehen, was genau die durchteuft tutSQL Query SCHNEIDET - Relationale Algebra
Ich weiß, dass INTERSECT die Werte findet, die in beiden select-Anweisungen auftreten
ich habe seine SQL-Abfrage, aber ich kann einfach nicht herausfinden, geschaffen zu finden, was es in einfachem Englisch fragt
jemand in der Lage wäre, zu helfen?
Relationale Algebra:
Πstudent_name(σcourse id=“CS1850“(student Natural Join enrolled)) ∩
Πstudent_name(σcourse id=“CS1840“(student Natural Join enrolled))
SQL:
SELECT student_name FROM student NATURAL JOIN enrolled WHERE
course_id='CS1850' INTERSECT SELECT student_name FROM student
NATURAL JOIN enrolled where student_name='CS1840'
Zweiter Ausdruck:
Πstudent_name(σe1.student
id=e2.student_id∧e1.course_id<>e2.course_id(student natural join
(ρe1(enrolled) × ρe2(enrolled))))
SELECT student_name FROM student NATURAL JOIN enrolled e1 NATURAL JOIN
e2 WHERE e1.student_id = e2.student_id
In menschlicher Sprache: "Finden Sie alle Schüler in 'CS1850', und finden Sie alle Schüler in 'CS1840 eingeschrieben, und geben Sie die Schnittmenge dieser beiden Ergebnismengen zurück" oder "Finden Sie alle Schüler in * beide *' CS1850 'und' CS1840 '. " – JimmyB
@JimmyB - Ich verstehe - irgendwelche Ideen über die zweite? – RandomMath
Das zweite SQL stimmt nicht mit dem algebraischen Ausdruck überein. Es fehlt die 'e1.course id <> e2.course'. – JimmyB