update
BIN
Writerside/images/image_649.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
Writerside/images/image_650.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Writerside/images/image_651.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
Writerside/images/image_652.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
Writerside/images/image_653.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Writerside/images/image_654.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
Writerside/images/image_655.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Writerside/images/image_656.png
Normal file
After Width: | Height: | Size: 19 KiB |
@ -67,3 +67,90 @@
|
|||||||
- Man kann (im zusammengesetzten Fall) kein Attribut aus p entfernen, ohne dass das verletzt wird
|
- Man kann (im zusammengesetzten Fall) kein Attribut aus p entfernen, ohne dass das verletzt wird
|
||||||
- 
|
- 
|
||||||
|
|
||||||
|
### Schlüssel
|
||||||
|
#### Primärschlüssel (primary key)
|
||||||
|
- Wird aus Liste der Schlüsselkandidaten ausgewählt
|
||||||
|
- Graphische Notation: in Attributliste unterstreichen
|
||||||
|
|
||||||
|
#### Synthetische vs. semantische Schlüssel
|
||||||
|
| | Synthetisch | Semantisch |
|
||||||
|
|--------------------|------------------------------------------------------------|-----------------------------------------------------|
|
||||||
|
| Definition | einzelnes Schlüsselattribut, Wert hat ggf. keine Bedeutung | Menge von Attributen, deren Wert eine Bedeutung hat |
|
||||||
|
| Beispiel | autoincrement-Datentyp | ISBN-Nummer |
|
||||||
|
|
||||||
|
### Fremdschlüssel (foreign key)
|
||||||
|
- für jeden Wert vom FK in $R_1$ muss ein gleicher Wert des PK in einer anderen Relation $R_2$ oder eines Tupels in $R_1$
|
||||||
|
- können NULL sein (falls nicht Teil des PK)
|
||||||
|
|
||||||
|
|
||||||
|
### Grundregeln Relationenmodell
|
||||||
|
1. Jede Zeile (Tupel) ist eindeutig und beschreibt Objekt
|
||||||
|
2. Reihenfolge der Zeilen ist ohne Bedeutung
|
||||||
|
3. Reihenfolge der Spalten ist ohne Bedeutung
|
||||||
|
- Tragen eindeutigen Namen
|
||||||
|
4. Jeder Datenwert einer Relation ist ein atomares Datenelement (vgl. 1.NF)
|
||||||
|
5. Alle bedeutungsvollen Informationen sind ausschließlich durch Datenwerte ausgedrückt
|
||||||
|
6. Es existiert ein Primärschlüssel (und ggf. weitere Schlüsselkandidaten)
|
||||||
|
|
||||||
|
### Integritätsbedingungen
|
||||||
|
- Abhängigkeiten zwischen Attributen
|
||||||
|
- innerhalb und zwischen Relation(en)
|
||||||
|
- Abhängigkeit innerhalb nennt man **funktionale Abhängigkeit**
|
||||||
|
- Spezialfall: Primärschlüssel
|
||||||
|
- Abhängigkeit zwischen Relationen: [Fremdschlüssel](#fremdschl-ssel-foreign-key)
|
||||||
|
|
||||||
|
#### Referentielle Integrität
|
||||||
|
- Zu jedem Zeitpunkt Referenz eines PK durch Wert einer FK-Spalte gewährleistet ist
|
||||||
|
- Verletzung:
|
||||||
|
- 
|
||||||
|
|
||||||
|
|
||||||
|
## Transformation [UML Klassendiagramm](UMLKlassenDiagramme.md) → Relationenmodell
|
||||||
|
### Wiederholung UML Klassendiagramme
|
||||||
|

|
||||||
|
|
||||||
|
### Unterschiede zum Relationenmodell
|
||||||
|
- Datentypen des UML-Klassendiagramms werden auf den ähnlichsten Datentyp im RM abgebildet
|
||||||
|
- oft vom konkreten [DBMS](00_db_intro.md#datenbank-managementsystem-dbms) abhängig
|
||||||
|
- Richtung von Assoziationen bleibt unberücksichtigt
|
||||||
|
- Multiplizitäten werden nicht vollständig abgebildet
|
||||||
|
- Man spricht von Kardinalitäten
|
||||||
|
- Angabe wird vereinfacht
|
||||||
|
- `0..1 `, `1..1`, `1` → `1`
|
||||||
|
- `0..*`, `1..*` → `n` oder `m`
|
||||||
|
- `*` auf beiden Seiten → `n:m`
|
||||||
|
|
||||||
|
### Abbildung von Klassen und Attributen
|
||||||
|
- Klassen → Tabellen (Relationen)
|
||||||
|
- Attribute → Spalten
|
||||||
|
- system-spezifische Datentypen für Spalten werden ergänzt
|
||||||
|
- Beispiel:
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- Primärschlüssel
|
||||||
|
- sind im UML nicht vorhanden
|
||||||
|
- müssen definiert / hinzugefügt werden
|
||||||
|
- Fremdschlüssel
|
||||||
|
- referenzieren Tupel über Relationen hinweg
|
||||||
|
- UML zeigt direkt auf andere Objekte
|
||||||
|
- geht mit RM nicht :(
|
||||||
|
|
||||||
|
#### Aggregation
|
||||||
|

|
||||||
|
|
||||||
|
#### Komposition
|
||||||
|

|
||||||
|
|
||||||
|
#### 1:n-Assoziation
|
||||||
|

|
||||||
|
|
||||||
|
#### 1:1 Assoziation
|
||||||
|
1. FK bei R1
|
||||||
|
2. FK bei R2
|
||||||
|
3. FK bei R1, R2
|
||||||
|
4. Bildung von R3 mit FK auf R1, R2
|
||||||
|
- macht Sinn, wenn `0..1`:`1..0` wenn beide Relationen groß, aber dünn verbunden sind
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Minimalkardinalität 1 → "Richtung 1"
|