zusammenfassungen/Writerside/topics/04/Datenbanken/01_semantischeDatenmodellierungUndRelationenmodell.md
David Schirrmeister 0cea260940 update
2025-04-11 08:25:02 +02:00

2.9 KiB

Semantische Datenmodellierung und Relationenmodell

Lifecycle von Informationssystemen

image_644.png

1. Planungsphase

  • Informationsbedarf der zu untersuchenden Organisation ermitteln
  • Informationsstrategie erarbeiten

Beispiel: CRUD-Matrix (Create - Read - Update - Delete)

  • Ergebnis: Informationsprojekte
    • Zusammenfassung von Funktionen, die gleiche Informationsobjekte verwenden
    • Funktionsbereiche sind definiert
      • strukturieren Organisationsbereich
  • image_645.png

2. Analysephase

  • Informationsprojekte aus Planung weiter detaillieren
    • Daten- und Prozesssicht
  • durchgehende Konsistenz zwischen Daten- und Prozessmodell!
  • Ergebnis: Datenmodell (UML) und Prozessmodell (Analysesicht)

3. Designphase

  • Berücksichtigung des Datenbankmodells, Implementierungsplattform (DBMS)
    • Implementierung von Beziehungen
      • Definition von Referenzen
    • Festlegung der Datentypen (DBMS-spezifisch)
  • CASE-Tools (computer aided software engineering)
    • generieren Datenmodelle für 3. aus Datenmodellen aus 2.
    • umgekehrt: Round-Trip-Engineering
  • Ergebnis:
    • Datenmodell
      • z.B. Relationenmodell, ergänzt um Datentypen des Ziel-DBMS beim Einsatz von RDBMS
    • Prozessmodell der Designsicht

4. Implementierungsphase

  • Güte von Analyse und Design zeigen sich in relativ problemloser Implementierung
  • RDBMS: Implementierung DB-Schema durch deklarative Sprachkomponente von SQL (SQL DDL)
  • CASE-Tools: SQL-Skript direkt aus Relationenmodell generieren

Beispiel Phasen des DB-Entwurfs

image_646.png

Relationenmodell

  • Grundlage des von E. F. Codd vorgestellten RDB-Modells bildet der Relationenbegriff aus Mathe
    • eine n-stellige (n-äre) Relation in einer Menge M ist eine Beziehung, die zwischen je n Elementen aus M besteht oder nicht
      • vorstellbar als Menge von Tupeln gleicher Länge n
        • auch n-Tupel genannt
    • image_647.png
      • Spalten - Attribute
      • einzelne Zeilen - Tupel / Datensätze

Definitionen Relationenmodell

  • Eine n-stellige Relation R ist definiert als Untermenge des kartesischen Produkts der Wertebereiche der zugehörigen Attribute A_1, A_2, ..., A_n
    • R(A_1, A_2, ..., A_n) ⊆ W(A_1) x ... x W(A_n)
    • Beispiel: Student (MatrNr, Name, Geb.) ⊆ integer x string x date
  • Ein Element der Menge R wird als Tupel bezeichnet → t ∈ R
    • Beispiel: t= (123456, 'Schmidt', 30.01.2014)
  • Ist der Wert eines Attributs in einem Tupel unbekannt/nicht vorhanden
    • NULL-Wert
    • kann für jedes Attribut festgelegt werden, ob erlaubt ist oder nicht
  • Schlüssel p minimale Menge von Attributen
    • Werte identifizieren Tupel eindeutig
    • Wert von p bestimmt die Attributwerte aller anderen Attribute des Tupels eindeutig
      • Man kann (im zusammengesetzten Fall) kein Attribut aus p entfernen, ohne dass das verletzt wird
  • image_648.png