PMG/Kurs 11/D Beleg/Felix

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
== Datenbank in der Feuerwehr ==

Ich habe mir vorgenommen, eine Datenbank zum Thema Feuerwehr zu erstellen, und zwar zu den Untersuchungen, ausgegebenen Sachen, Dienstgraden usw. In dieser Datenbank soll also nachvollziehbar sein, wer wann eine Untersuchung hat und was für eine, wer was und wieviel Sachen bekommen hat, wer zu welchem Dienstgrad befördert wurde usw. Ich habe dieses Thema gewählt, da ich mit diesem eng in Verbindung stehe und es eine Vielzahl von Daten zur Modellierung einer Datenbank bietet. 

===Modellierung in einem ERM:===

[[Bild:Felix112_DB_Beleg.jpeg]]

Zwischen Freiwillige Feuerwehr und Feuerwehrmann besteht die Kardinalität 1:n, weil jeder Person nur in einer Freiwilligen Feuerwehr gleichzeitig sein kann, aber eine Feuerwehr auch mehrere Angehörige haben kann. Zwischen Feuerwehrmann und Kleidung besteht die Kardinalität 1:n, weil jeder Feuerwehrmann mehrere Kleidungsstücke besitzt, aber nicht zwei Feuerwehrleute das selbe Kleidungsstück. Zwischen Feuerwehrmann und Untersuchung besteht die Kardinalität n:m, weil jeder Feuerwehrmann zu mehreren verschiedenen Untersuchungen muss, aber auch viele Feuerwehrleute zur Untersuchung gleicher Art.

===Transformation in das Relationenmodell:===

Feuerwehrmann (<u>FM_ID</u>, Name, Vorname, Straße, Ort, Dienstgrad, <span style="border-bottom:1px dashed#000000;">FW_ID</span>)<br>
Freiwillige Feuerwehr (FW) (FW_ID, Name, Straße, Ort)<br>
Kleidung (<u>K_ID</u>, Helmnr, Jackennr, Hosennr, Schuhnr, <span style="border-bottom:1px dashed#000000;">FM_ID</span>)<br>
Untersuchung (<u>U_ID</u>, Art, Einrichtung, Straße, Ort)<br>
FWUntersuchung (<u>FWU_ID</u>, Datum, <span style="border-bottom:1px dashed#000000;">FM_ID</span>, <span style="border-bottom:1px dashed#000000;">U_ID</span>)<br>

Es entsteht bei der Transformation in das Relationenmodell noch eine fünfte Tabelle namens FWUntersuchung, weil diese bedingt durch die Kardinalität n:m benötigt wird. In ihr wird also die Verknüpfung zwischen den Feuerwehrangehörigen und den Untersuchungen hergestellt.




Hilfe zum Erstellen von ERMs bietet Dia.
[Zur Downloadseite gehen!][http://dia-installer.de/index.html.de]
<code id="50ff92acd7e00">
Drop Table if exists Feuerwehr;
Create Table Feuerwehr (
FW_ID varchar (5),
Name varchar (20), 
Straße varchar (20),
Ort varchar (20),
PRIMARY KEY (FW_ID));

INSERT INTO Feuerwehr Values ('BZ', 'FW Bautzen-Mitte', 'Gesundbrunnenring 23', 'Bautzen');
</code>

<run id="50ff929112b94"></run>