\documentclass{bschlangaul-aufgabe} \bLadePakete{relationale-algebra} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 4}, Thematik = {Harry Potter}, Referenz = 46116-2019-H.T2-A4, RelativerPfad = Examen/46116/2019/09/Thema-2/Aufgabe-4.tex, ZitatSchluessel = examen:46116:2019:09, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Relationale Algebra, Tupelkalkül}, EinzelpruefungsNr = 46116, Jahr = 2019, Monat = 09, ThemaNr = 2, AufgabeNr = 4, } Gegeben ist das Datenbankenschema aus Aufgabe 3. \index{Relationale Algebra} \footcite{examen:46116:2019:09} \bigskip \noindent Übertragen Sie die folgenden Ausdrücke in die relationale Algebra. Beschreiben Sie diese Ausdrücke umgangssprachlich, bevor Sie die Ausdrücke umformen. \begin{enumerate} %% % a) %% \item $\{ s | s \in \text{Schüler} \land \neg \exists t \in \text{teil\_von} (t.\text{Id} = s.\text{Id}) \}$ \index{Tupelkalkül} \begin{bAntwort} $\text{Schüler} - (\text{Schüler} \bowtie (\pi_{Id}(\text{teil\_von})))$ \end{bAntwort} %% % b) %% \item $\{ s | s \in \text{Schüler} \land \exists t \in \text{teil\_von} (r.\text{Id} = s.\text{Id}) \land \exists h \in \text{Haus} (f.\text{Name} = h.\text{Name}) \land \exists q \in \text{Quidditch} (h.\text{Name} = q.\text{Haus} \land q.\text{Captain} = \text{'Harry Potter'}) \}$ \begin{bAntwort} \begin{multline*} \sigma_{\text{Id}, \text{SName}, \text{Patronus}, \text{Haarfarbe}, \text{Aktiv}, \text{Gesamtnote}} \biggl(\\ \Bigl( \rho_{\text{Sname} \leftarrow \text{Name}}(\text{Schüler}) \bowtie \text{teil\_von} \Bigr)\\ \bowtie\\ \Bigl( \text{Haus} \bowtie_{\text{Haus.Name} = \text{Quidditch.Haus}} \bigl( \sigma_{\text{Captain} = \text{'Harry Potter'}} (\text{Quidditch}) \bigr) \Bigr)\\ \biggr) \end{multline*} \end{bAntwort} \end{enumerate} \end{document}