SQL
- Insert INTO demo (id, name, hint) VALUES (27, 'IT', 'Bochum' );
Vom Modell zur Tabelle – Grundregeln!
› Objekte (Entitäten) werden in Tabellen gespeichert
› Jede Tabelle repräsentiert dabei einen Entitätstyp
› Jede Zeile in der Tabelle entspricht einer Entität!
› Die Spalten repräsentieren die Attribute der Entitäten
› Der Wertebereich der Spalten wird als Domain bezeichnet
[Link]: Abbilden von 1:1-Beziehungen
›Aus jedem Entitätstyp im Modell wird eine eigene Tabelle
› Für jedes Attribut des Entitätstyps bekommt die Tabelle eine eigene
Spalte
› Für jede Spalte bestimmen wir den geeigneten Datentyp
› Für jede Spalte bestimmen wir, ob ein Wert in der Spalte stehen
muss oder
nicht (sind NULL-Werte erlaubt oder nicht)
› Wir markieren die Primärschlüsselspalte(n)
2. Regel
› Man überträgt den Primärschlüssel der einen Tabelle in eine neue
Spalte der anderen Tabelle (Fremdschlüssel)
› Welche Tabelle den Schlüssel der anderen Tabelle als
Fremdschlüssel aufnimmt spielt dabei prinzipiell keine Rolle
› Die Anzahl der möglichen Entitäten könnte einen Hinweis auf die
Platzierung des
Fremdschlüssels geben
› In der Fremdschlüsselspalte müssen jedoch alle Werte eindeutig
sein. Kein Wert darf mehr als genau ein Mal auftreten
› Gab es an der Relation weitere Attribute, dann gehen diese auch
als Spalten in die Tabelle, die den Fremdschlüssel aufnimmt!
3. Regel : (Abbilden von 1:n-Beziehungen)
› Bei 1:n-Beziehung nimmt immer die Tabelle mit der n-Seite der
Relation den
Primärschlüssel der Tabelle auf der 1-Seite der Relation als Fremdschlüssel
auf!
› In der Fremdschlüsselspalte, anders als bei der 1:1-Beziehung,
dürfen sich die
Werte nun beliebig oft wiederholen!
› In dem Beispiel wird also die VID (PK des Verlags) aus der Verlags-
Tabelle zum
Fremdschlüssel in der Buch-Tabelle!
› Gab es an der Relation weitere Attribute, dann gehen diese auch
als Spalten in
die Tabelle, die den Fremdschlüssel aufnimmt!
4. Regel : ( Abbilden von m:n-Beziehungen)
› M:N-Beziehungen erfordern immer eine Zwischentabelle!
› Die beiden beteiligten Tabellen stellen ihre Primärschlüssel und
diese gehen als
Fremdschlüssel in die Zwischentabelle!
› Gab es an der Relation weitere Attribute, dann gehen diese auch
als Spalten in
die Zwischentabelle ein.