PMG2224 1/DB Beleg/Gregor

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
== Ziel der Datenbank ==
Die Datenbank dient vordergründig der Speicherung von Informationen über ein Juweliergeschäft, welches Einkäufe tätigt und seine Produkte an Kunden weiterverkauft. Durch die strukturierte Organisation können Daten über den Juwelier, die Kunden und seine Ein- und Verkäufe effizient abgerufen und verwaltet werden. Außerdem erleichtert es die Analyse und Buchhaltung für den Geschäftsinhaber, aufgrund der vereinfachten Kontrolle von Beständen und Zahlungen. Durch eine Auswertung dieser Daten könnten gezielt Kundenpräferenzen erstellt werden. Dies hilft dem Juwelier wiederum bei der Geschäftsplanung und -optimierung.

== Modellierung in einem ERM== 
[[Bild:Gregor_ERM_3.0.jpg]]

== Transformation in das Relationenmodell== 
== Erstellen der DB==
<code id="65bc9e747341c">
CREATE TABLE Edelsteine (
    E_ID INT PRIMARY KEY,
    Bezeichnung VARCHAR(25),
    Preis_in_Euro DECIMAL(10,2),
    V_ID INT
    FOREIGN KEY (V_ID) REFERENCES Juwelier(V_ID));

CREATE TABLE Juwelier (
    V_ID INT PRIMARY KEY,
    Name VARCHAR(25),
    Adresse VARCHAR(50)
);

CREATE TABLE Ware (
    W_ID INT PRIMARY KEY,
    Bezeichnung VARCHAR(25),
    Material VARCHAR(25),
    Preis_in_Euro DECIMAL(10,2),
    V_ID INT
    FOREIGN KEY (V_ID) REFERENCES Juwelier(V_ID));
);

CREATE TABLE Kunde (
    K_ID INT PRIMARY KEY,
    Name VARCHAR(25),
    Email VARCHAR(25),
    Adresse VARCHAR(50)
);

CREATE TABLE Bestellung (
    K_ID INT,
    W_ID INT,
    PRIMARY KEY (K_ID, W_ID),
    FOREIGN KEY (K_ID) REFERENCES Kunde(K_ID),
    FOREIGN KEY (W_ID) REFERENCES Ware(W_ID)
);

CREATE TABLE Bezahlung (
    K_ID INT,
    V_ID INT,
    PRIMARY KEY (K_ID, V_ID),
    FOREIGN KEY (K_ID) REFERENCES Kunde(K_ID),
    FOREIGN KEY (V_ID) REFERENCES Juwelier(V_ID)
);

ALTER TABLE Edelsteine
ADD FOREIGN KEY (V_ID) REFERENCES Juwelier(V_ID);

ALTER TABLE Ware
ADD FOREIGN KEY (V_ID) REFERENCES Juwelier(V_ID);
</code>

<code id="65e9a22fd1e7c">
INSERT INTO Edelsteine VALUES (1, '');
INSERT INTO Edelsteine VALUES (2, '');
INSERT INTO Edelsteine VALUES (3, '');
INSERT INTO Edelsteine VALUES (4, '');
INSERT INTO Edelsteine VALUES (5, '');

INSERT INTO Juwelier VALUES (1, 'Woltärs Glitzerpalast','Besserverdienerstraße 3');

INSERT INTO Ware VALUES (1, '');
INSERT INTO Ware VALUES (2, '');
INSERT INTO Ware VALUES (3, '');
INSERT INTO Ware VALUES (4, '');
INSERT INTO Ware VALUES (5, '');

INSERT INTO Kunde VALUES (1, 'Franka  Freud', 'lustigeLustigkeit@roland.com', 'Spaßstraße 50, 53111 Bonn');
INSERT INTO Kunde VALUES (2, 'Annegret Knopf', 'Annegretchen@gmx.de', 'Mettigelstraße 24, 68165 Mannheim');
INSERT INTO Kunde VALUES (3, 'Knochen Trocken', 'Schwerverbrecher123@gmail.com', 'Am Hochsicherheitstrakt 3, 68165 Mannheim');
INSERT INTO Kunde VALUES (4, 'Wiltrud  Schuchard', 'KrasivatschDance@pmg-bautzen.lernsax.de', 'Prager Straße 13, 10400 Prag');
INSERT INTO Kunde VALUES (5, 'Ruprecht Hintzen', 'NikolausKommtRaus@gmx.de', 'Weihnachtsstraße 2, 99705 Nordpol');
</code>

== Erstellen von verschiedenen Abfragen==  
<run id="65bc9e747346d">

</run>  
== kritische Reflexion==  
== verwendete Quellen, Tools, etc.==