PMG/Kurs 11/D Beleg/Maximilian

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
'''Anforderungen an das Datenbank-Projekt'''


Bearbeiten Sie ein Datenbank-Projekt zu einem Thema Ihrer Wahl.

Dazu gehören:

* Ziel der Datenbank ("Begründung" der Themenwahl)
* Modellierung in einem ERM
* Transformation in das Relationenmodell
* Erstellen der DB (Struktur/notwendige Datensätze)
* Erstellen von verschiedenen Abfragen (unterschiedlicher „Schwierigkeit“)



'''Das Projekt ist komplett im PWiki zu bearbeiten.''' <br>
Dabei arbeitet jeder auf einer eigenen Seite (siehe Links unten). <br>

Wichtige Merkmale der Modelle (Kardinalität, Normalform, ...) sind zu erläutern.<br>
Das ERM ist als Bild (erzeugt mit dem Tool "Dia") einzufügen.

Bearbeitung des Projekts während der Unterrichtsstunden.



== Datenbank ==
=== Thema ===
'''Softwarebestellungen bei einem Vertriebsladen für Software'''<br>
Das Ziel dieser Datenbank ist es, ein System zu simulieren, welches z.B von einer Firma verwendet werden könnte, die Software an verschiedene Kunden vertreibt.
=== ERM ===
<popup label="ERM-Modell">
[[Bild:Max 232_Software-Datenbank.png]]
</popup>
=== Relationenmodell ===
Kunden (<u>Kundennr</u>, Name, Vorname, Straße, Ort, Telefonnr)<br>
Bestellungen (<u>Bestellungsnr</u>, Bestellungsanzahl, Lieferadresse, Lieferstadt, <span style="border-bottom:1px dashed#000000;">Kundennr, Artikelnr</span>)<br>
Lagerbestand (Artikelname, Artikelanzahl, Artikelpreis, <span style="border-bottom:1px dashed#000000;">Artikelnr, Herstellernr</span>)<br>
Softwarehersteller (<u>Herstellernr</u>, Herstellername, Herstelleradresse, Herstellerstadt, Herstellertelefonnr)<br>
Artikel (<u>Artikelnr</u>, Artikelname, Einkaufspreis, Artikelanzahl, <span style="border-bottom:1px dashed#000000;">Herstellername</span>)<br>
=== Datenbank ===
<popup label="Datenbank">
<code id="512cf7b996042">
Drop Table if exists Kunden;
Create Table Kunden (
Kundennr varchar (7),
Name varchar (30), 
Vorname varchar (30),
Straße varchar (30),
Ort varchar (20),
Telefonnr varchar (16),
PRIMARY KEY (Kundennr));

Drop Table if exists Bestellungen;
Create Table Bestellungen (
Bestellungnr varchar (7),
Bestellungsanzahl varchar (30), 
Lieferadresse varchar (30),
Lieferstadt varchar (30),
Kundennr varchar (20),
Artikelnr varchar (16),
PRIMARY KEY (Bestellungsnr));

Drop Table if exists Lagerbestand;
Create Table Lagerbestand (
Artikelname varchar (30),
Artikelanzahl varchar (30), 
Artikelpreis varchar (30),
Artikelnr varchar (30),
Herstellernr varchar (20));

Drop Table if exists Softwarehersteller;
Create Table Softwarehersteller (
Herstellernr varchar (7),
Herstellername varchar (30),
Herstelleradresse varchar (30), 
Herstellerstadt varchar (30),
Herstellertelefonnr varchar (30),
PRIMARY KEY (Herstellernr));

Drop Table if exists Artikel;
Create Table Artikel (
Artikelnr varchar (7),
Artikelname varchar (30),
Einkaufspsreis varchar (30), 
Artikelanzahl varchar (30),
Herstellername varchar (30),
PRIMARY KEY (Artikelnr));


INSERT INTO Kunden Values ('001', 'Schmidt', 'Hans', 'Alphastraße 1', 'Bautzen', '03591111111');
INSERT INTO Kunden Values ('002', 'Müller', 'Karl', 'Betastraße 2', 'Bautzen', '03591111112');
INSERT INTO Kunden Values ('047', 'Meier', 'Gretel', 'Gammastraße 4', 'Bautzen', '03591111113');
INSERT INTO Kunden Values ('009', 'Neumann', 'Fritz', 'Deltastraße 61', 'Bautzen', '03591111114');

INSERT INTO Bestellungen Values ('2343', '2', 'Talallee 4', 'Droben', '001', '01111');
INSERT INTO Bestellungen Values ('2344', '5', 'Betastraße 2', 'Bautzen', '002', '01112');
INSERT INTO Bestellungen Values ('2345', '200', 'Hafengasse 1', 'München', '009', '01115');
INSERT INTO Bestellungen Values ('2346', '21', 'Talallee 4', 'Droben', '001', '01114');
INSERT INTO Bestellungen Values ('2347', '1', 'Bautzner Straße 5', 'Kamenz', '047', '01111');

INSERT INTO Lagerbestand Values ('Fluch der Karibik 5', '100', '15,00', '01111', 'ab34');
INSERT INTO Lagerbestand Values ('Ghostbusters 6', '99', '25,00', '01112', 'ab34');
INSERT INTO Lagerbestand Values ('Imprisoned', '100', '16,00', '01113', 'ab32');
INSERT INTO Lagerbestand Values ('Death Race', '200', '15,00', '01114', 'ab34');
INSERT INTO Lagerbestand Values ('Eternity', '364', '14,99', '01115', 'ab35');
</code>
</popup>