Datenbanken

Einführung | Relationen

Unsere heutige Zeit ist geprägt von Informationen, Informationen und nochmals Informationen. Diese Informationsvielfalt muss verwaltet und organisiert werden. Es ist unmöglich alle Informationen aus unserer Welt korrekt und zu 100% in eine Datenbank abzubilden. Viel mehr geht es darum einen Teil (Miniwelt) so gut wie möglich mit Hilfe einer Datenbank umzusetzen. Bei der Speicherung von Informationen dürft ihr nie den Sicherheitaspekt und Datenschutz vergessen um einen Missbrauch zu verhindern.

Soll eine Miniwelt abgebildet werden, muss als erstes geklärt werden, welche Informationen für wen zu welchem Zweck gespeichert werden sollen. Im Unterricht haben wir Informationen für uns über CDs gesammelt. Um es nicht zu kommpliziert zu machen, darf jede CD nur einen Interpreten haben und jeder Titel kommt nur einmal vor. Wie plant man nun eine solche Informationssammlung?

 

 

Das Entity-Relationship-Modell (ER-Modell)

Als Entity (Entität) wird ein real existierendes Objekt genommen, das eindeutig ist. Merkmale, die die Entity näher beschreiben bezeichnet man als Attribute.

cd1

Aus diesem Modell erstellen wir nun eine Tabelle, die später mit einem beliebigen Datebanksystem umgesetzt werden kann. Als Namen für die Tabelle wählt man den Namen der Entität. Die Spalten entsprechen den Attributen.

 

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.
     

Diese Tabelle kann Anfragen beantworten wie z.B.:

  • 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
  • u.s.w.

Diese Datenbank hat so ihre Schwächen. So sind über die Titel keinerlei Informationen verfügbar. Schauen wir uns mal an, was passiert, wenn wir unser Modell um ein Attribut liedtitel erweitern.

cd2a

Tabelle CD
albumtitel
interpret
dauer
liedanzahl
liedtitel
Piece By Piece
Katie Melua
50
12
Shy Boy
Piece By Piece
Katie Melua
50
12
Nine Million Bicycles
Piece By Piece
Katie Melua
50
12
Piece By Piece
Piece By Piece
Katie Melua
50
12
Halfway Up The Hindu Kush
Piece By Piece
Katie Melua
50
12
Blues In The Night
Piece By Piece
Katie Melua
50
12
Spider's Web
u.s.w.
       
         
Playing The Angel
Depeche Mode
48
12
A Pain That I'm Used To
Playing The Angel
Depeche Mode
48
12
John The Revelator
Playing The Angel
Depeche Mode
48
12
Suffer Well
Playing The Angel
Depeche Mode
48
12
The Sinner In Me
Playing The Angel
Depeche Mode
48
12
Precious
Playing The Angel
Depeche Mode
48
12
Macro
u.s.w.
       
         
Back to Bedlam
James Blunt
39
10
High
Back to Bedlam
James Blunt
39
10
Youre Beautiful
Back to Bedlam
James Blunt
39
10
Wisemen
Back to Bedlam
James Blunt
39
10
Goodbye My Lover
Back to Bedlam
James Blunt
39
10
Tears And Rain
Back to Bedlam
James Blunt
39
10
Out Of My Mind
u.s.w.
       
         

Wie ihr seht würde es bei dieser Konzeption erfordelich sein eine Unzahl von redundanten Informationen (wiederholend und unnötig) einzug eben. Um dies zu vermeiden müssen wir unser Modell ändern. Wir tun dies, indem wir die Informationen der Lieder von den Informationen der CDs trennen und über eine Relation (Beziehung) miteinander verbinden.

Ihr habt bestimmt schon gemerkt, dass es sich mit den Interpreten genauso verhält. Hat ein Interpret mehr als eine CD (was schon vorgekommen ist), muss auch hier sein Name wiederholt und unnötigerweise e(redundant) eingegebn werden. Aber eins nach dem anderen.

 

zurück

Home