Stefanie

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Erstellen einer Datenbank


Hier kannst du mitverfolgen, wie eine Datenbank ensteht. Mein Thema: Blutspenderkartei
Zur Blustspende gehen jählich rund 4 Millionen Menschen. Diese werden in die Blutspenderkartei aufgenommen. Diese Kartei ist - wie man sich schon denken kann - eine Datenbank. Und wie man eine solche erstellt, werde ich jetzt zeigen.

Zuerst erstellen wir ein ER-Modell(Entity-Relationship-Modell). Dazu über überlegen wir zunächst, welche Daten für die Bluspenderdatei wichtig sein könnten.

Das ER-Modell könnte in etwa so aussehen:

Corona Blutspenderkartei ER.jpeg















Nachdem wir das nun haben, formen wir aus dem ER-Modell Tabellen. Jede Entität wird zur Tabelle, oder auch Relation, jedes Attribut wird zu einer Spalte.

Tabelle Spender:

Name Geburtsjahr Adresse Blut
Hans Meier 1956 Blumenweg 7, 05678 Auendorf AB Positiv
Ilse Meier 1960 Blumenweg 7, 05678 Auendorf A Positiv
Maria Schulze 1973 Mozartstraße 19, 05496 Himmelreich 0 Negativ
Andreas Liebsch 1988 Am Bach 21, 05673 Hemmingen A Negativ
Michael Goldmann 1979 Blumenweg 15, 05678 Auendorf B Positiv


Tabelle Krankenhaus:

Name Adresse
Stankt Marienstern Krankenhaus Liebknechtstraße 22, 05678 Auendorf
Alexander Fleming Krankenhaus Kirchhofstraße 9, 05496 Himmelreich
Uniklinikum Hemmingen Köhlerweg 5, 05673 Hemmingen



In diesen Tabellen sind jetzt einige Angaben, die man so nicht lassen kann, weil sie nicht atomar sind. Zum Beispiel Adresse: Angenommen, man will wissen, welche Spender in Auendorf wohnen, ist das nicht möglich, da der Computer das nicht erkennen kann.
Teilt man aber das Attribut Adresse in Straße und Ort auf, ist die Suche möglich. Wenn man alle Daten einzeln stellt, nennt man das die erste Normalisierung oder erste Normalform.

Vorname Name Geburtsjahr Straße PLZ Ort Blutgruppe Rhesusfaktor
Hans Meier 1956 Blumenweg 7 05678 Auendorf AB Positiv
Ilse Meier 1960 Blumenweg 7 05678 Auendorf A Positiv
Maria Schulze 1973 Mozartstraße 19 05496 Himmelreich 0 Negativ
Andreas Liebsch 1988 Am Bach 21 05673 Hemmingen A Negativ
Michael Goldmann 1979 Blumenweg 15 05678 Auendorf B Positiv


Name Straße PLZ Ort
Stankt Marienstern Krankenhaus Liebknechtstraße 22 05678 Auendorf
Alexander Fleming Krankenhaus Kirchhofstraße 9 05496 Himmelreich
Uniklinikum Hemmingen Köhlerweg 5 05673 Hemmingen



In der zweiten Normalform ist eine Tabelle dann, wenn alle Eingaben atomar sind (also einzeln stehen -> erste Normalform) und wenn alle Attribute vom Primärschlüssel abhängig sind. Dieser Primärschlüssel muss für jeden Spender und jedes Krankenhaus festgelegt werden. Hier nehmen wir die Spender- und die Krankenhaus-ID.

Corona Blutspenderkartei ER.jpeg

Von diesen Primärschlüsseln sind alle Attribute bereits abhängig, es müssen also keine weiteren Veränderungen gemacht werden.
Doch, wie man mit einem Blick auf das ER-Modell feststellen kann, fehlen noch ein paar Daten. Also muss noch eine weitere Tabelle Spendet erstellt werden.

Spender-ID Vorname Name Geburtsjahr Straße PLZ Ort Blutgruppe Rhesusfaktor
001 Hans Meier 1956 Blumenweg 7 05678 Auendorf AB Positiv
002 Ilse Meier 1960 Blumenweg 7 05678 Auendorf A Positiv
003 Maria Schulze 1973 Mozartstraße 19 05496 Himmelreich 0 Negativ
004 Andreas Liebsch 1988 Am Bach 21 05673 Hemmingen A Negativ
005 Michael Goldmann 1979 Blumenweg 15 05678 Auendorf B Positiv


Krankenhaus-ID Name Straße PLZ Ort
583 Stankt Marienstern Krankenhaus Liebknechtstraße 22 05678 Auendorf
561 Alexander Fleming Krankenhaus Kirchhofstraße 9 05496 Himmelreich
549 Uniklinikum Hemmingen Köhlerweg 5 05673 Hemmingen


Tabelle Spendet:

Krankenhaus-ID Spender-ID Datum
583 001 23. 7. 2011
583 002 23. 7. 2011
583 005 8. 8. 2011
561 003 30. 9. 2011
549 004 2. 5. 2012



Damit eine Tabelle in der dritten Normalform ist, muss sie die Bedingungen der zweiten Normalform aufweisen und alle Attribute müssen von einem Schlüsselattribut abhängen. Auch das ist bei uns schon gegeben. (Besser zu sehen hier.)

Jetzt muss nur noch die Datenbank erstellt werden.




Angezeigt werden soll der Name und die Adresse aller Krankenhäuser in Auendorf.



Angezeigt werden sollen die Namen und die Geburtsjahre aller, die heute(in 2013) über 23 Jahre alt sind.



Anzeige von allen Einträgen aus den Tabellen spender und spendet.



Ausgabe der Namen und der Informationen über das Blut aller Spender mit Blutgruppe A oder Rhesusfaktor positiv.

Persönliche Werkzeuge