Database Reference
In-Depth Information
Bild 3.73a:
Verwendung
von UNION in
einer Abfrage
SELECT A.KNr, Kursbezeichnung, Datum, C.PNr, Name,
NULL AS Firma
FROM Kurse A, Kursbesuche B, Personen C, Interne_Kursleiter D
WHERE (B.KNr, B.Datum) IN ( SELECT KNr, Datum
FROM Kursbesuche
WHERE PNr=&1 )
AND B.KNr=A.KNr
AND B.KLNr=D.KLNr
AND C.PNr=D.PNr;
UNION
SELECT A.KNR, Kursbezeichnung, Datum, NULL, EName, Firma
FROM Kurse A, Kursbesuche B, Externe_Kursleiter C
WHERE PNr=&1
AND B.KNr=A.KNr
AND B.KLNr=C.KLNr;
Wenn man sowohl die internen- als auch externen Kursleiter in
einer einzigen Tabelle zusammenfassen würde, dann sähe die
Datenbasis wie in Bild 3.74 aus.
Bild 3.74:
Datenbasis
„Kursverwal-
tung“ in der op-
timalen Normal-
form
mc
Kurskontrolle
m
1
Kursthemen
Funktionen
Kursbesuche
mc
1
1
mc
mc
1
1
m
1
mc
Kurse
Personen
c
1
c
Kursleiter
Die Tabellen „Interne Kursleiter“ und „Externe Kursleiter“ wur-
den zu einer einzigen Tabelle „Kursleiter“ zusammengefasst,
wobei nun eine nicht-hierarchische c-c-Beziehung entstanden
ist. Diese c-c-Beziehung kommt zustande, weil es ja auch ex-
Search WWH ::




Custom Search