CD und Lieder getrennt
Als ER-Modell:

Zwischen der Entität CD und der Entität LIED besteht eine 1:n Beziehung. Das bedeutet, dass jede CD mehrere (n) Lieder enthalten kann, aber jedes LIED nur auf einer (1) CD enthalten ist.
Nun wird für jede Entität eine Tabelle erstellt, die Attribute werden wieder als Spalten eingefügt.
| Tabelle CD |
albumtitel |
interpret |
dauer |
liedanzahl |
Piece By Piece |
Katie Melua |
50 |
12 |
Playing The Angel |
Depeche Mode |
48 |
12 |
Back to Bedlam |
James Blunt |
39 |
10 |
u.s.w. |
|
|
|
|
| |
| Tabelle LIED (es sind nur die ersten 6 Lieder eingefügt) |
liedtitel |
lieddauer |
| Shy Boy |
2:50 |
| Nine Million Bicycles |
3:45 |
| Piece By Piece |
4:01 |
| Halfway Up The Hindu Kush |
3:35 |
| Blues In The Night |
3:59 |
| Spider's Web |
4:16 |
| A Pain That I'm Used To |
2:55 |
| John The Revelator |
3:23 |
| Suffer Well |
4:11 |
| The Sinner In Me |
2:59 |
| Precious |
3:42 |
| Macro |
3:36 |
| High |
4:03 |
| Youre Beautiful |
2:36 |
| Wisemen |
4:07 |
| Goodbye My Lover |
3:22 |
| Tears And Rain |
3:50 |
| Out Of My Mind |
3:28 |
|
Soweit so gut, keine redundanten Informationen in den Tabellen. Allerdings ist die Information verlorengegangen, welcher Interpret welchem Lied zuzuordnen ist. Genau hier kommt die Relation ins Spiel, die wir noch in die Tabellen übertragen müssen, d.h. wir müssen die Tabellen miteinander in Beziehung setzen.
Primärschlüssel / Fremdschlüssel
Wir müssen entweder jedem Interpret seine Lieder zuordnen. Wir hätten dann wieder viele redundante Informationen in die CD Tabelle einzutragen. Oder jedem Lied muss beigefügt werden, von welchem Interpreten es ist. Dies geschieht über einen Primärschlüssel aus der CD Tabelle, der als Fremdschlüssel in die LIED Tabelle eingefügt wird.
Primärschlüssel:
Ein aus einem oder mehreren Attributen zusammengesetztes Merkmal, dass jede Instanz (jeden Eintrag) in eine Tabelle eindeutig kennzeichnet. Es kann ein Zähler in die Tabelle als Primärschlüssel als zusätzliches Attribut eingefügt werden. Primärschlüssel werden oft unterstrichen.
Fremdschlüssel:
Wird als Attribut in eine Tabelle eingefügt, um eine Relation zu erzeugen.
In unser Modell umgesetz, ergibt sich folgendes Schema.

| Tabelle CD |
cd-id |
albumtitel |
interpret |
dauer |
liedanzahl |
1 |
Piece By Piece |
Katie Melua |
50 |
12 |
2 |
Playing The Angel |
Depeche Mode |
48 |
12 |
3 |
Back to Bedlam |
James Blunt |
39 |
10 |
4 |
u.s.w. |
|
|
|
|
| |
| Tabelle LIED (es sind nur die ersten 6 Lieder eingefügt) |
liedtitel |
cd-id |
lieddauer |
| Shy Boy |
1 |
2:50 |
| Nine Million Bicycles |
1 |
3:45 |
| Piece By Piece |
1 |
4:01 |
| Halfway Up The Hindu Kush |
1 |
3:35 |
| Blues In The Night |
1 |
3:59 |
| Spider's Web |
1 |
4:16 |
| A Pain That I'm Used To |
2 |
2:55 |
| John The Revelator |
2 |
3:23 |
| Suffer Well |
2 |
4:11 |
| The Sinner In Me |
2 |
2:59 |
| Precious |
2 |
3:42 |
| Macro |
2 |
3:36 |
| High |
3 |
4:03 |
| Youre Beautiful |
3 |
2:36 |
| Wisemen |
3 |
4:07 |
| Goodbye My Lover |
3 |
3:22 |
| Tears And Rain |
3 |
3:50 |
| Out Of My Mind |
3 |
3:28 |
|
Nun können folgende Fragen beantwortet werden:
- Wie viel CD sind von James Blunt
- Welche CDs haben mehr als 11 Titel
- Welche CDs dauern länger als 49 Minuten und haben mehr als 10 Titel
- Von wem sind die CDs, die weniger als 11 Titel haben, oder kürzer sind als 40 minuten
- Welche Titel sind von James Blunt
- Welche Titel sind länger als 3:50 Minuten und von wem sind diese?
- Welche Titel beginnen mit W oder S und auf welcher CD sind sie?
- u.s.w.
Jetzt haben wir unter unseren Voraussetzungen nur noch ein Problem. Sollten mehrere CDs von einem Interpreten stammen, müssen redundante Informationen in die CD Tabelle eingetragen werden.
Aufgabe:
Löst das Problem. |