PMG2224 4/DB Beleg/Larissa

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
== '''Datenbank Autohaus''' ==

'''Ziel der Datenbank'''

Die Datenbank dient dem Autohaus als ein strukturiertes System, um Fahrzeuge, Kunden, Mitarbeiter und andere wichtige Daten zu speichern und zu verwalten. Es ermöglicht dem Autohaus schnell und effizient auf wichtige Informationen zuzugreifen und ist dementsprechend essentiell in einem Unternehmen wie diesem. 

== Modellierung ERM ==
[[Bild:Lalie_Image.png]]

Im Datenbankmodell sind:
Fahrzeuge - KFZ (KFZ_ID, Modellname, Preis, Farbe, Kraftstoff, Marke, Jahr, Leistung)
Kunden - KUNDE (K_ID, Name, Vorname, Telefon, Wohnort)
Mitarbeiter - VERKÄUFER (V_ID, Name, Vorname)

== Transformation in Relationenmodell ==
[[Bild:Lalie_Image_(1).png]]

== Erstellen DB ==

<code id="65ba3455cad1d">
DROP TABLE IF EXISTS KFZ; -- Fals eine Tabelle bereits existiert -löschen
CREATE TABLE KFZ ( 
  Modellname varchar(30),     -- alle Datenfelder die wir brauchen - Attribute/Eigenschaften 
  Marke varchar(30) ,
  Preis varchar(10),
  Leistung varchar(10),
  Kraftstoff varchar (10),
  Farbe varchar(10),
  Jahr varchar(10),
  KFZ_ID varchar(10),
  PRIMARY KEY  (KFZ_ID)  -- primärschlüssel 
); 
INSERT INTO KFZ VALUES ('Golf 7', 'Volkswagen', '10.850€', '85', 'Benzin', 'weiß', '2014', '11234' );
INSERT INTO KFZ VALUES ('SLC 180 AMG', 'Mercedes-Benz', '34.790€', '155', 'Benzin', 'schwarz', '2019', '11278');
INSERT INTO KFZ VALUES ('Up!', 'Volkswagen', '10.690€', '60', 'Benzin', 'rot', '2018', '11233' );
INSERT INTO KFZ VALUES ('Golf 7', 'Volkswagen', '18.130€', '185', 'Diesel', 'weiß', '2017', '11265' );
INSERT INTO KFZ VALUES ('Q3', 'Audi', '20.540€', '150', 'Diesel', 'weiß', '2017', '11236' );   -- Trennung mit Komma und in '(...)'
INSERT INTO KFZ VALUES ('Vito Tourer', 'Mercedes-Benz', '29.230€', '163', 'Diesel', 'schwarz', '2016', '11298' );
INSERT INTO KFZ VALUES ('Civic', 'Honda', '19.090€', '126', 'Benzin', 'rot', '2020', '11261' );
INSERT INTO KFZ VALUES ('A1', 'Audi', '13.960€', '95', 'Benzin', 'rot', '2018', '11237' );

DROP TABLE IF EXISTS KUNDE;
CREATE TABLE KUNDE (
  Name varchar(30),
  Vorname varchar(30),
  Telefon varchar(30),
  Wohnort varchar(30),
  K_ID varchar(10),
  PRIMARY KEY (K_ID)


);
INSERT INTO KUNDE VALUES ('Hoffmann','Julia','089886019','München','1120');
INSERT INTO KUNDE VALUES ('Müller','Steffen','0911119057','Fürth','1121');
INSERT INTO KUNDE VALUES ('Decker','Peter','040337048','Hamburg','1122');
INSERT INTO KUNDE VALUES ('Bader','Lukas','0211328460','Düsseldorf','1123');
INSERT INTO KUNDE VALUES ('Bergmann','Kerstin','089408527','München','1124');
INSERT INTO KUNDE VALUES ('Wolf','Marina','0941334276','Regensburg','1125');

DROP TABLE IF EXISTS VERKÄUFER;
CREATE TABLE VERKÄUFER (
  Name varchar(30),
  Vorname varchar(30),
  V_ID varchar(30),
  PRIMARY KEY (V_ID)

);
INSERT INTO VERKÄUFER VALUES ('Ackermann','Laura','12');
INSERT INTO VERKÄUFER VALUES ('Ackermann','Maximilian','10');
INSERT INTO VERKÄUFER VALUES ('Schwarz','Jonas','13');
INSERT INTO VERKÄUFER VALUES ('Schmidt','Klaus','14');

</code>

'''Abfragen'''

Liste alle Fahrzeuge des Autohaus auf.
<run id="65ba3455cad63">SELECT * FROM KFZ;</run>

Nenne alle Fahrzeuge die mehr als 15.000€ kosten.
<run id="65ba3455cad63">SELECT * FROM KFZ WHERE Preis > '15.000€' </run>

Nenne alle Autos deren Kraftstoff Diesel ist.
<run id="65ba3455cad63">SELECT * FROM KFZ WHERE Kraftstoff = 'Diesel' </run>

Nenne alle Kunden die aus München und Hamburg kommen.
<run id="65ba3455cad63">SELECT * FROM KUNDE WHERE Wohnort = 'München' OR Wohnort = 'Hamburg' </run>




== kritische Reflexion zu Modellierung und Umsetzung ==

Die Modellierung der Datenbank eines Autohauses ist hier relativ einfach dargestellt, da nur die Fahrzeuge, Kunden und Verkäufer im Verhältnis dargestellt sind.
Ein Autohaus bezieht sich jedoch auf weitaus mehr Bereiche, wie zum Beispiel Reparaturen und Verkäufe. Dementsprechend wäre mein Datenbank noch ausbaufähig. 
Durch eine weitere Tabelle - Verkauf - könnte man zwischen Kunden und KFZ sowie  Verkäufer eine Verbindung ziehen und Attribute wie Datum, Preis und Vertrag hinzufügen.

== Quellen / Tools ==
https://erdplus.com/

Word