2.9 KiB
2.9 KiB
Semantische Datenmodellierung und Relationenmodell
Lifecycle von Informationssystemen
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
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)
- Implementierung von Beziehungen
- 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
- Datenmodell
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
Relationenmodell
- Grundlage des von E. F. Codd vorgestellten RDB-Modells bildet der Relationenbegriff aus Mathe
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