Top Up Home HTML2PDF ER-Modelle 2

Werteliste

  • Liste mit einer festgelegten Menge von Werten
  • Z.B. für Drop-Down-Menü

Implementierung durch Check-Constrains

Statische Domäne

CREATE TABLE Modul (
  MID INTEGER NOT NULL PRIMARY KEY,
  Bez VARCHAR(100) NOT NULL,
  CP INTEGER NOT NULL,
  Regelsemester INTEGER NOT NULL,
  Modulart VARCHAR(20) NOT NULL, 
  CHECK (Modulart IN ('Pflicht', 'Wahlpflicht', 'Wahl'))
); 
  • Änderung an Werteliste erfordert Änderung des Datenmodells
  • Änderung am Code, d.h. Entwicklungstätigkeit

Implementierung durch Tabelle

Dynamische Domäne


INSERT INTO Modulart
    VALUES (1, 'Pflicht');
INSERT INTO Modulart
    VALUES (2, 'Wahlpflicht');
INSERT INTO Modulart
    VALUES (3, 'Wahl');
  • Änderung an Werteliste erfordert neuen Eintrag in die Tabelle
  • Keine Änderung am Code, lediglich Dateningabe
  • Verbund erforderlich

Implementierung durch Tabelle - Erweiterung

  • Aktiv: Ausblenden von nicht mehr nutzbaren Werten
  • LfdNr: Sortierreihenfolge bei der Ausgabe

Identizierende Beziehungstypen 1



Konsistenzproblem

INSERT INTO Note 
  VALUES (1, 2.3, 1, 1);
INSERT INTO Note 
  VALUES (2, 3.7, 1, 1);

Identizierende Beziehungstypen 2



Kein Konsistenzproblem

INSERT INTO Note 
  VALUES (2.3, 1, 1);

Nicht möglich

INSERT INTO Note 
  VALUES (3.7, 1, 1);
  • Senkrechter Strich: Identizierender Beziehungstyp
  • Primärschlüsselbestandteil wird erzeugt
  • SID UND MID bilden einen zusammengestzte Primärschlüssel

Nichttransferierbarkeit 1



Konsistenzproblem

UPDATE Raum 
  set GID=99
WHERE RID=1;
  • Raum wird in ein anderes Gebäude transferiert
  • Das ist inhaltlich inkonsistent

Fremdschüssel auf Raum 1 bleiben gültig

Nichttransferierbarkeit 2



Identifizierender Beziehungstyp, zusammengesetzter Primärschlüssel

UPDATE Raum 
  set GID=99
WHERE RID=1;
  • Raum erhält neue Identität - ist somit ein neuer Raum
  • Update nur möglich, wenn kein Fremdschüssel auf Raum 1 zeigt

Fremdschüssel auf Raum 1 müssen vorher gelöscht werden

Existenzabhängigkeit

DELETE FROM Gebaeude 
WHERE GID=1;
  • Raum kann nicht verschoben werden (Nichttransferierbarkeit)
  • D.h., Raum muss gelöscht werden, damit Gebäude gelöscht werden kann
  • D.h., Räume hängen von der Existenz von Gebäuden ab

Problem zweistelliger Beziehungstypen 1

  • Personen können mehrere Adressen haben
  • Einer Adresse können mehrere Personen zugeordnet werden
  • Personen können mehrere Adressarten haben
  • Einer Adressart können mehrere Personen zugeordnet sein
  • Eine Adresse kann mehrere Adressarten haben
  • Einer Adressart können mehrere Adressen zugeordnet sein

Problem zweistelliger Beziehungstypen 2

Nicht möglich festzustellen, welche Adresse von Özdem privat oder geschäftlich ist

Assoziationstypen

  • Personenadresse hat Doppelnatur
  • Wird daher Assoziationstyp genannt
  • Ist Entitätstyp
  • Ist aber auch Beziehungstyp: verbindet Entitätstypen
  • Dreistelliger Beziehungstyp

Auflösung Problem

Nun möglich festzustellen, welche Adresse von Özdem privat oder geschäftlich ist

Zweistellige Beziehungstypen mit Attributen

  • Note verbindet Studierende mit Modulen
  • Ist Assoziationstyp
  • Als Beziehungstyp ist er zweistellig, hat aber ein Attribut, den Notenwert
  • Kann daher nicht als N-zu-M-Beziehungstyp modelliert werden

Note als dreistelliger Beziehungstyp

  • Notenwert ist dynamische Domäne
  • Note hat nur Beziehungstypen
  • Aus zweistellig ist dreistellig geworden

Beispiel Handelsunternehmen

Assoziationstypen in HVS