Relationenmodell

Werbung
Kapitel 3: Das Relationenmodell
Einführung
 Erstellung eines logischen Datenmodells
 Betrachtung von objektorientierten oder relationalen
Datenmodellen
 Zurzeit am weitesten verbreitete Datenmodell: Relationenmodell
 Zurzeit am weitesten verbreitete Datenbanksysteme sind relationale
Datenbanksysteme, z.B. Access  Verwaltung in Tabellen, die in
Beziehung zueinander stehen
Vokabeln
 Relationen: Tabellen mit Attributen in den Spaltenköpfen und Tupeln
in den Tabellenzeilen, und Verknüpfung von Tabellen
 Master- und Detailtabellen: Bei einer 1:m Beziehung wird die 1-Seite
„Mastertabelle“ und die m-Seite „Detailtabelle“ genannt
 Fremdschlüssel: Der in der Mastertabelle definierte Primärschlüssel
ist in der Detailtabelle der Fremdschlüssel
 Kartesische Kreuzprodukt: Eine Relation R ist eine Teilmenge eines
kartesischen Kreuzproduktes von Domänen
Kartesische Kreuzprodukt
 Betrachten wir zunächst eine Entität „Kunde“ mit den
Attributen Kundennummer D1={9711, 9713} und
Kundenname D2={Meier, Blau}
 Das kartesische Kreuzprodukt ist D1xD2 die Menge
mit allen möglichen Kombinationen: {(9711,Meier),
(9711,Blau), (9713,Meier), 9713,Blau)}
 Sinnvoll betrachtet man nur eine Teilmenge, z.B.
R1={(9711,Meier),(9713,Blau)} oder R2={(9711,Blau),
(9713,Meier)}
Darstellung einer 1:m-Beziehung in
einem Relationenmodell
Fremdschlüssel
Primärschlüssel
Mastertabelle
Detailtabelle
Warum können noch keine Relationen unter den Tabellen hergestellt werden?
Darstellung einer 1:m-Beziehung in
einem Relationenmodell
Fremdschlüssel
Primärschlüssel
Mastertabelle
Detailtabelle
Die Prädikatsschreibweise
 Die Prädikatsschreibweise lautet:
tblKunde(KNr, KName)
tblRechnungen(RNr, RDat, KNr)
 Bei der Prädikatsschreibweise wird der Primärschlüssel unterstrichen
und der Fremdschlüssel gestrichelt unterstrichen.
Darstellung einer m:m-Beziehung in
einem Relationenmodell
Problem: Man kann nicht den Primärschlüssel einer Tabelle als Fremdschlüssel
in eine andere Tabelle integrieren, da sonst immer mehrere Werte in einer Zelle
stehen!
Transformation der netzförmigen Beziehung in
zwei hierarchische Beziehungen
Eine m:m-Beziehung wird in zwei 1:m-Beziehungen transformiert, indem eine
neue Tabelle eingeführt wird. In diese Tabelle werden die Primärschlüssel der
beiden beteiligten Tabellen jeweils als Fremdschlüssel aufgenommen.
Zusammen ergeben sie den Primärschlüssel der neuen Tabelle
Relationale Operationen
ergeben wieder Relationen
 Selektion: Auswahl von Zeilen, die eine vorgegebene Bedingung
erfüllen
 Projektion: Auswahl vorgegebener Attribute
 Verbund (Join): Verknüpfung von Tabellen
Selektion in SQL
 SELECT *
 FROM Ausgangstabelle
 WHERE Bezeichnung LIKE „*rosa“
die Ergebnistabelle zeigt uns alle Bezeichnungen, die ... „rosa“
enthalten
Projektion in SQL
 SELECT Attribut1, Attribut2
 FROM Ausgangstabelle
die Ergebnistabelle zeigt uns die Spalten mit den Attributen
Verbund (Join) in SQL
 SELECT DETAILTABELLE.Spalte1, MASTERTABELLE.Spalte2
 FROM MASTERTABELLE
 INNER JOIN DETAILTABELLE
ON MASTERTABELLE.Primärschlüssel
= DETAILTABELLE.Fremdschlüssel ;
MASTERTABELLE und DETAILTABELLE werden miteinander
verbunden
Bsp.
Fremdschlüssel
Primärschlüssel
Mastertabelle
Detailtabelle
SELECT tblRechnungen.Rdat, tblKunde.Kname
FROM tblKunde
INNER JOIN tblRechnungen ON tblKunde.KNr = tblRechnungen.KNr ;
Herunterladen