Datenbanken Sommersemester 2026

Relationale Algebra

Den im Praktikum gezeigten Relationale-Algebra-Editor findet ihr unter https://dbis-uibk.github.io/RelaX/.

Hier finden sich die Daten und die Abfragen zum gemeinsamen Teil von Blatt 3.5. Beachtet, dass die Sonderzeichen je nach Editor eventuell nicht korrekt angezeigt werden.

Vorbereitung

Ihr solltet oben auf den Karteireiter "Multimengenalgebra" umschalten:
RelaX: Multimengenalgebra

Datensätze

Den Datensatz für die Drachen-Aufgabe (über den Karteireiter "Datensatz Editor" erfassen) findet ihr hier:
group: Drachenkunde 

Drachen = {
did:number,name:string,vater:number,mutter:number,gj:number,gs:string,art:number
20,Ines,10,26,1776,female,4
21,Anja,5,14,1949,female,3
22,Anna,14,8,1813,female,2
23,Dennis,4,7,1790,male,4
24,Steffen,18,24,1987,male,2
25,Kevin,14,29,1976,male,1
26,Steffen,26,14,1834,male,4
27,Markus,30,19,1847,male,3
28,Alexander,12,21,1921,male,1
29,Max,29,19,1990,male,1
30,Marco,11,30,1834,male,2
}

Drachenkunde = {
aid:number,art:string,beschreibung:string,hauptsuperkraft:string
2,'Roter Flugdrachen','friedlicher Drachen von mittelgroßer Größe. Schimmert im Sonnenschein in rot.', Fliegen
3,'Wilder Schwimmer','Kleiner Drachen mit großen Schwimmflossen.',Schwimmen
4,'Windkämpfer','mittelgroßer Drachen der Lüfte',Feuer
}

Farm = {
fid:number,name:string,besitzer:string,stadt:string,strasse:string,land:string
2,'Karls Drachenfarm','Karl Hauser',Berlin,'Königsstrasse 3',Deutschland
3,Dragon4Ever,'Yves Matheo',Portland,'2nd Ave',USA
4,RM-Drachen,'Ralf Master',Wiesbaden,'Under den Eichen',Deutschland
}

Aufenthalt = {
did:number,fid:number,ejahr:number
20,2,1776
20,3,1777
20,4,1778
}

Entwicklung = {
did:number,jahr:number,gewicht:number,laenge:number,farbe:string,geschlecht:string
20,1776,800,20,'weiß',female
20,1777,850,23,'weiß',female
20,1778,950,26,grau,female
}
Besonderheit: Umlaute und Texte mit Leerzeichen müssen in Anführungszeichen gesetzt werden, damit RelaX sie verarbeiten kann.

Besonderheiten

Stringvergleiche in Abfrage

Folgendes funktioniert nicht:
σ name = "Ines" Drachen

Es muss ein einzelnes Hochkomma sei:

σ name = 'Ines' Drachen

Aggreationsfunktionen

Laut Vorlesung ist folgendes möglich
count(name) Drachen

RelaX unterstützt dies nicht. Hier kann man sich mit einem Trick behelfen:

γ count(name)→anzahl Drachen

Oder sauberer (da die Aggregatfunktionen ja nach den Gruppierungsattributen kommen):

γ ;count(name)→anzahl Drachen

Gamma-Operator

Hier müssen die Gruppierungsspalten und die Aggregatfunktion-Ausdrücke mit einem Semikolon getrennt werden:
γ did; max(laenge)→maxLaenge Entwicklung 

Abfragen in Linearer Notation:

Es gibt diese Unterschiede:

Beispiel (Join von Drachen und Drachenkunde):

A = ρ art→aid, aid→art Drachenkunde
B = Drachen ⨝ A
π name, hauptsuperkraft B

Stand 15.05.2026
Historie:
10.05.2026: Erstellt
12.05.2026: mehr RelaX-Hinweise
15.05.2026: Lösung für den gemeinsamen Teil von Blatt 3.5