update
BIN
Writerside/images/image_669.png
Normal file
After Width: | Height: | Size: 8.6 KiB |
BIN
Writerside/images/image_670.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
Writerside/images/image_671.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
Writerside/images/image_672.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Writerside/images/image_673.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
Writerside/images/image_674.png
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
Writerside/images/image_675.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Writerside/images/image_676.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
Writerside/images/image_677.png
Normal file
After Width: | Height: | Size: 12 KiB |
@ -154,3 +154,65 @@
|
|||||||

|

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

|
||||||
|

|
||||||
|
|
||||||
|
```sql
|
||||||
|
ABTEILUNGSNR INT4 not null,
|
||||||
|
constraint FK_MA_ZUGEH_ABT foreign key (ABTEILUNGSNR)
|
||||||
|
references ABTEILUNG (ABTEILUNGSNR)
|
||||||
|
ON delete restrict on update restrict
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Minimalkardinalität 0 → "Richtung 1"
|
||||||
|
- nahezu identisch zu [1...1](#minimalkardinalit-t-1-richtung-1)
|
||||||
|
- hier möglichkeit für `Abteilungsnr = null`
|
||||||
|
|
||||||
|
```sql
|
||||||
|
ABTEILUNGSNR INT4 null,
|
||||||
|
constraint FK_MA_ZUGEH_ABT foreign key (ABTEILUNGSNR)
|
||||||
|
references ABTEILUNG (ABTEILUNGSNR)
|
||||||
|
ON delete restrict on update restrict
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Minimalkardinalität 0 bzw. 1 → Vielfalt
|
||||||
|
- 1. NF erlaubt es nicht, da Collection-Datentypen nicht erlaubt sind
|
||||||
|
- vor allem für Fremdschlüsselspalten
|
||||||
|
- wenn 0/1..* → allein über constraints nicht implementierbar
|
||||||
|
- kann man dann über Trigger machen (Kapitel 6)
|
||||||
|
|
||||||
|
→ Umwandeln in [n:m Assoziation](#umwandlungsregel-n-m-assoziation)
|
||||||
|
|
||||||
|
#### Umwandlungsregel n:m Assoziation
|
||||||
|
##### 1..*:1..* Assoziation {id="1-1-assoziation_1"}
|
||||||
|

|
||||||
|
- Einfügen einer neuen Tabelle, welche aus den anderen beiden Tabellen jeweils einen Fremdschlüssel hat
|
||||||
|
- Primärschlüssel jeweils als `concatenated key` einfügen
|
||||||
|
- dann muss er immer mit drin sein
|
||||||
|
- dadurch kann jede Zeile aus beiden Tabellen auf mehrere aus der anderen verlinken
|
||||||
|
- _geht dann auch mit >2 Tabellen_
|
||||||
|
|
||||||
|
|
||||||
|
##### 0..*:0..* Assoziation
|
||||||
|
- Vier Alternativen
|
||||||
|
1. FK bei R1
|
||||||
|
2. FK bei R2
|
||||||
|
3. FK bei R1 und R2
|
||||||
|
4. m:n Relation einfügen wie [hier](#umwandlungsregel-n-m-assoziation)
|
||||||
|
- Hauptnavigationsrichtung der Anwendung entscheidet
|
||||||
|
|
||||||
|
##### Assoziation mit sich selbst (Stückliste)
|
||||||
|
> Selbstreferenzierende n:m Assoziation
|
||||||
|
|
||||||
|
###### Beispiel Stückliste Fahrrad
|
||||||
|

|
||||||
|

|
||||||
|
- man verfährt wie bei der n:m Beziehung durch Einfügen einer Assoziationsklasse
|
||||||
|
- 
|
||||||
|
- um Fahrradstückliste zu implementieren sind also 2 Tabellen notwendig:
|
||||||
|
- | Teileliste | Stückliste |
|
||||||
|
|---------------------------------|---------------------------------|
|
||||||
|
|  |  |
|
||||||
|
|
||||||
|
|
||||||
|
### Abbildung Vererbungshierarchien
|
||||||
|