• Keine Ergebnisse gefunden

Tabelle „Prüfungsleistungen“ ist Detailtabelle (MatrNr ist Sekundärschlüssel)

N/A
N/A
Protected

Academic year: 2022

Aktie "Tabelle „Prüfungsleistungen“ ist Detailtabelle (MatrNr ist Sekundärschlüssel)"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

LEFT JOIN und RIGHT JOIN Left und Right Joins helfen, in Tabellen, für die

1. keine referentielle Integrität definiert werden kann, die widersprüchlichen Datensätze (in den „Detailtabellen“) zu finden (= für einen

Sekundärschlüsselattributwert in der Detailtabelle findet sich kein Primärschlüsselwert in der Mastertabelle)

Beispiel:

Tabelle „Studentenstammdaten“ ist Mastertabelle mit Feld „MatrNr“ als Primärschlüssel.

Tabelle „Prüfungsleistungen“ ist Detailtabelle (MatrNr ist Sekundärschlüssel).

In der Tabelle „Prüfungsleistungen“ findet sich eine MatrNr, für die in der Tabelle „Studentenstammdaten“ kein Eintrag existiert. D.h., ein Student, der nicht immatrikuliert ist, hat eine Prüfungsleistung erbracht – oder der Student wurde fälschlicherweise aus der Liste der immatrikulierten Studenten

gestrichen usw.

Left bzw. Right Joins helfen somit, Dateninkonsistenzen (Fehler in der Datenbank) aufzudecken

und

2. in korrespondierenden Mastertabellen solche Datensätze zu finden, deren Primärschlüsselwerte in der Detailtabelle nicht als Sekundärschlüsselwerte

„auftauchen“.

Im o.g. Zusammenhang handelt es sich um Studenten, die zwar immatrikuliert sind, aber noch keine (oder nie?) eine Prüfung abgelegt haben. Oder es handelt sich um einen Erfassungsfehler, dass für den betr. Studenten bzw. die Studentin noch keine Prüfungsleistung vorliegt. Auch hier ist das Ziel, Fehler aufzudecken.

Gegeben seien folgende Tabellen:

Studentenstammdaten

MatrikelNr Nachname Vorname Namenszusatz Geburtsdatum PLZ Strasse Hausnummer

1 Maier Xaver 01.05.1982 85354 Unter der alten

Isarbrücke

99 2 Großkotz Waldemar 02.02.1980 80808 Menterschwaige 88 5 Neureich-

Müller Elfriede 01.02.1978 80809 Grünwald 1

7 Bond James 02.02.1971 85354 Am Wörth 1b

9 Rammelmaier Rambo 07.07.1982 81234 Am Schlagring 55 666666 Topman Ute Freifrau von

und zu 07.07.1983 99999 Am Schlachthof 1

(2)

Fächerstammdaten

FachID Bezeichnung 1000 Mathematik 1 1001 Statistik 1 1128 BWL 4435 VWL 4711 Physik 5540 Chemie 5640 Botanik 9978 Informatik 9999 Zoologie

Prüfungsleistungen

LfdNr Matrikelnummer Datum Fach_ID Note

1 7 09.06.2005 4711 1

2 7 09.06.2005 1128 4,3

3 7 09.06.2005 9978 2

4 7 09.06.2005 4435 2,3

5 7 09.06.2005 5540 1

6 9 09.06.2005 4711 2

7 9 09.06.2005 1128 3

8 9 09.06.2005 9978 1

9 9 09.06.2005 4535 2

10 9 09.06.2005 5640 1

11 5 09.06.2005 9978 2

12 5 09.06.2005 4435 1

13 1 09.06.2005 9978 3

14 1 09.06.2005 4435 2

15 2 09.06.2005 5540 4

Die „Probleme“ in den o.g. Tabellen sind:

1. Im Datensatz 9 der Prüfungsleistungen wurde eine Fach_ID erfasst, die in den Fächerstammdaten nicht existiert

2. Matrikelnummer 666666 (die Studentin Ute Topman) hat bisher noch keine Prüfungsleistung erbracht.

(3)

Das Problem Nr. 1 (Prüfungsleistung vorhanden, obwohl das Fach „gar nicht existiert“) kann mittels RIGHT JOIN wie folgt entdeckt werden:

SELECT Prüfungsleistungen.LfdNr, Prüfungsleistungen.Matrikelnummer, Prüfungsleistungen.Fach_ID, Fächerstammdaten.FachID

FROM Fächerstammdaten RIGHT JOIN Prüfungsleistungen ON Fächerstammdaten.FachID = Prüfungsleistungen.Fach_ID

WHERE (((Fächerstammdaten.FachID) Is Null));

(4)

Das Problem Nr. 1 (Prüfungsleistung vorhanden, obwohl das Fach „gar nicht existiert“) kann mittels LEFT JOIN wie folgt entdeckt werden:

SELECT Prüfungsleistungen.LfdNr, Prüfungsleistungen.Matrikelnummer, Prüfungsleistungen.Fach_ID, Fächerstammdaten.FachID

FROM Prüfungsleistungen LEFT JOIN Fächerstammdaten ON Prüfungsleistungen.Fach_ID = Fächerstammdaten.FachID WHERE (((Fächerstammdaten.FachID) Is Null));

(5)

Das Problem Nr. 2 (keine Prüfungsleistung vorhanden, obwohl Student immatrikuliert ist) kann mittels LEFT JOIN wie folgt entdeckt werden:

SELECT Prüfungsleistungen.LfdNr, Prüfungsleistungen.Matrikelnummer,

Studentenstammdaten.MatrikelNr, Studentenstammdaten.Nachname, Studentenstammdaten.Vorname

FROM Studentenstammdaten LEFT JOIN Prüfungsleistungen ON Studentenstammdaten.MatrikelNr =

Prüfungsleistungen.Matrikelnummer

WHERE (((Prüfungsleistungen.Matrikelnummer) Is Null));

(6)

Das Problem Nr. 2 (keine Prüfungsleistung vorhanden, obwohl Student immatrikuliert ist) kann jedoch auch mittels Right JOIN wie folgt entdeckt werden:

SELECT Prüfungsleistungen.LfdNr, Prüfungsleistungen.Matrikelnummer,

Studentenstammdaten.MatrikelNr, Studentenstammdaten.Nachname, Studentenstammdaten.Vorname

FROM Prüfungsleistungen RIGHT JOIN Studentenstammdaten ON Prüfungsleistungen.Matrikelnummer =

Studentenstammdaten.MatrikelNr

WHERE (((Prüfungsleistungen.Matrikelnummer) Is Null));

Referenzen

ÄHNLICHE DOKUMENTE

Eine Anrechnung von Studien- und Prüfungsleistungen erfordert immer einen Antrag der Studierenden; es erfolgt keine Anerkennung von Amts wegen. In der Regel stellen die

– oder in demselben Umfang an SWS, in dem solche Leistungsnachweise für den Magisterstudiengang anerkannt werden, Nachweise über diejenigen Modulbe- standteile aus dem

 Semesterbegleitende Prüfungsleistungen können in der Regel nicht im Folgesemester wiederholt werden, da sie nur einmal pro Studienjahr angeboten werden.  Eine Wiederholung

Für die Gesamtnotenberechnung zur Erstellung des Abschlusszeugnisses wählen Sie aus unten aufgeführten Wahlpflicht- und Wahlmodulen insgesamt 47 Credits.. Achtung: Aus den

• Sozialstruktur und Soziologie alternder Gesellschaften (Prof. Martina Brandt).. • Soziologie mit dem Schwerpunkt soziale Ungleichheiten (Prof.

Für die Archivierung der Prüfungen, die zum selben Prüfungsdurchgang gehören, müssen die korrigierten Prüfungsarbeiten für alle Online-Klausurformate als auch für

(2) Anrechenbar  sind  in  der  Regel  nur  Kenntnisse  und  Fähigkeiten,  die  durch  eine  Prüfung  vor  einer  Bildungseinrichtung  im  Sinn  des  §  70 

(Landeshochschulgesetz – LHG) zuletzt geändert durch Artikel 1 des Gesetzes vom 1. 85) hat der Senat der Hochschule der Medien am 31.01.2020 zur Ergänzung der Studien-