PMG2224 1/DB Beleg/Leonard

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>

== Ziel der Datenbank ==
Das Ziel dieser Datenbank soll die Planung einer Urlaubsreise darstellen. Heutzutage gibt es sehr viele Ideen und Möglichkeiten ein Urlaubsziel festzulegen. Doch meistens ist das große Problem dabei die Planungsphase. Dieser Datenbank Beleg stellt eine einfache Möglichkeit der Planung einer Urlaubsreise dar. Ich habe mich für dieses Thema entschieden, weil ich selber in Zukunft viele Urlaubsorte besuchen möchte und dafür eine Planung brauche. Deswegen ist diese Datenbank für jede Planung nützlich.

== Modellierung im ERM ==
[[Bild:Clasher_Leo_Image(2).png]]
== Transformation in das Relationenmodell ==
[[Bild:Clasher Leo_Relation.png]]

<language>SQL</language>
<language>SQL</language>
<language>SQL</language>
== Erstellen der DB ==
<code id="65eabc4d4a534">
CREATE TABLE Kunde(
  Kunden_Nr int(10),
  Nachname varchar(30),
  Vorname varchar(30),
  Kundenalter int(3),
  Reiseziel_ID int(10),
  PRIMARY KEY (Kunden_Nr)
  FOREIGN KEY (Reiseziel_ID) REFERENCES Reiseziel(Reiseziel_ID)
);

CREATE TABLE Reiseziel(
  Reiseziel_ID int(10),
  An_und_Abreise varchar(30),
  Ort varchar(30),
  Land varchar(30),
  Koordinaten varchar(30),
  PRIMARY KEY (Reiseziel_ID)
);

CREATE TABLE Hotelbuchung(
  Buchungs_Nr int(10),
  Sternegrad int(1),
  Ausstattung varchar(30),
  Verpflegung varchar(30),
  Reiseziel_ID int(10),
  PRIMARY KEY (Buchungs_Nr),
  FOREIGN KEY (Reiseziel_ID) REFERENCES Reiseziel(Reiseziel_ID)
);

INSERT INTO Kunde VALUES (1,'Reinhild','Wendelin',98,3); 
INSERT INTO Kunde VALUES (2,'Helge','Esther',73,2);
INSERT INTO Kunde VALUES (3,'Arno','Ralph', 21,1);
INSERT INTO Kunde VALUES (4,'Titus','Dorothea',46,3);
INSERT INTO Kunde VALUES (5,'Vinzen','Raimunde', 57,2);

</code>

== Erstellen von verschiedenen Abfragen ==
<run></run>

== kritische Reflexion zu Modellierung und Umsetzung ==

In Bezug auf das ERM Modell muss man natürlich die Kardinalitäten beschreiben. Dabei besucht ein Kunde ein Reiseziel, aber ein Reiseziel kann von mehreren Kunden besucht werden. Daraus lässt sich die Kardinalität 1:n schlussfolgern. Des weiteren beinhaltet ein Reiseziel mehrere Hotelbuchungen, aber eine Hotelbuchung beinhaltet 1 Reiseziel. Deswegen ist es die gleiche Kardinalität, nämlich 1:n. 

In meinem ERM Modell nehme ich an, dass ein Kunde nur ein Reiseziel besuchen kann. Sonst wäre es eine n zu m Beziehung.

Beim Erstellen der Datenbank ist die An- und Abreise ist nicht normalisiert aufgrund des An- und Abreise Attributs weil zwei Infos in einem Feld nicht funktionieren können.