Mit der PROJECT operation können wir einige attribute auswählen die wir nöher betrachten wollen
π (R)
Nach dieser Operation haben wir dann nur noch die ausgewählten attribute in unserer liste, in der reihenfolge die wir definiert haben
Diese operation entfernt zudem auch noch allemöglichen duplikate, damit der kram irgendwie einigermaßen stabil läuft
Alle Attribute die wir Projecten wollen müssen auch schon in der ausgehenden Query / Tabelle vorliegen, damit wir das machen können. Also, muss die angegebene Attributsliste ein Subset der ausgehenden sein
Wir kennen aus Hömmi 1 und logik die vereinigung, den Schnitt, die Differenz und das Kreuzprodukt mit denen wir kram irgendwie zusammen verbinden können
Das geht auch in den tollen datenbanken, damit wir schön und toll und effizient suchen können
Zwei Relationen sind Kompatibel, wenn sie die gleiche anzahl an attributen haben
Die Domains müssen auch type-Kompatibel sein, dementsprechend müssen sie die beiden werte verwalten können
Wenn wir etwas vereinigen wollen können machen wir das einfach
Dann werden die einfach verbunden, und "aneinandergehängt"
Ebenso werden gedoppelte tupel eliminiert
Idealerweise wird das dann so gemanaged, dass die sachen vernünftig gejoined werden, wenn der kram aufeinander passt (sprich wenn die irgendwie verbunden sind mit keys, dass die keys dann auch gelinked werden)
Mit dem Kartesischen Produkt, oder auch X wird verwendet um zwei tupel miteinander zu kombinieren
Das machen wir dann mit einem Tupel, der die Relationen zwischen den beiden (oder mehreren) dingern repräsentiert.
Der wird dann erschaffen, damit wir die beziehungen klar definiert haben, und das dann einfach schön zusammen passt und der zusammenhang offensichtlich erkenntlich wird