update
This commit is contained in:
@ -0,0 +1,69 @@
|
||||
# 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)
|
||||
- _CASE-Tools_ (_computer aided software engineering_)
|
||||
- generieren Datenmodelle für 3. aus Datenmodellen aus 2.
|
||||
- umgekehrt: Round-Trip-Engineering
|
||||
- Ergebnis:
|
||||
- Datenmodell
|
||||
- z.B. **[Relationenmodell](#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
|
||||

|
||||
|
||||
|
||||
## 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
|
||||
- 
|
||||
- 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
|
||||
- 
|
||||
|
Reference in New Issue
Block a user