Inhaltsverzeichnis

Beschreibung

Die fiktive Firma Failution Consulting verwaltet ihre Kunden, Artikel und Bestellungen in einem relationalen Datenbanksystem.

Kundentabelle

KUNDEN
KND_NrKND_VornameKND_NachnameKND_FirmaKND_StrasseKND_HausNrKND_OrtKND_Notiz
1MaxMustermannMustermann ConsultingMusterstrasse11
2TheodorTesterTest-Solutions AGTestweg162Offene Rechnung Nr.3
3BernhardBeispielBeispielfirmaBeispielgasse93
4PaulPausePause development KGPausengasse652

Ort-Tabelle

ORTE
ORT_NrORT_PLZORT_Name
112345Musterstadt
255353Testort
376425Beispielkaff

Artikeltabelle

ARTIKEL
ART_NrART_BezeichnungART_DetailsART_AuslaufART_StckPreis
1Thin-Client BAER1.6 Ghz,Sound,VGA,USB 199.99
2Thin-Client NP1.0 Ghz,Sound,VGA+DVI,USB1179.99
3Thin-Client MOON1.2 Ghz,Sound,VGA+DVI+DP,USB 219.99
4Server CONTRALION3.4 Ghz,DC,SCSI,RAID11299.99
5Server POWERCORE3.6 Ghz,QC,SAS,RAID,HBA 1999.99
6Server STORAGE2.0 Ghz,SATA,RAID,BACKPLANE 2499.99
7Workstation CONTENANCE3.0 Ghz,SAS,Sound,DVI+DP,USB3 1399.99
8Workstation MORTIMER2.6 Ghz,SATA,Sound,VGA,USB1399.99

Bestellungstabelle

BESTELLUNGEN
BST_NrKND_NrBST_DatumBST_Bezahlt
1110.10.20101
2314.02.20111
3215.02.20110
4128.02.20111
5101.03.20111
6302.03.20111

Bestellungspositionen-Tabelle

BESTELL_POS
BPOS_NrBST_NrART_NrBPOS_AnzahlBPOS_Einzelpreis
11110199.99
21215229.99
3228189.99
4238219.99
5311199.99
64210225.99
74115195.99
85150199.99
96622499.99
106741399.99

Die Tabelle enthält eine Spalte BPOS_Einzelpreis, die den damaligen Einzelpreis definiert - würde sie nicht existieren würden Preisänderungen alte Rechnungsbeträge verfälschen.

SQL-Dump

CREATE DATABASE FAILUTION;
USE FAILUTION;

CREATE TABLE KUNDEN(
	KND_Nr int PRIMARY KEY AUTO_INCREMENT,
	KND_Vorname varchar(50) NOT NULL,
	KND_Nachname varchar(50) NOT NULL,
	KND_Firma varchar(50) NOT NULL,
	KND_Strasse varchar(50) NOT NULL,
	KND_HausNr varchar(5) NOT NULL,
	KND_Ort int NOT NULL,
	KND_Notiz varchar(50)
);

INSERT INTO KUNDEN(KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_HausNr, KND_Ort)
VALUES('Max', 'Mustermann', 'Mustermann Consulting', 'Musterstrasse', '1', 1);

INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_HausNr, KND_Ort, KND_Notiz)
VALUES ('Theodor', 'Tester', 'Test-Soultions AG', 'Testweg', '16', 2, 'Offene Rechnung Nr.3');

INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_HausNr, KND_Ort)
VALUES ('Bernhard', 'Beispiel', 'Beispielfirma', 'Beispielgasse', '9', 3);

INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_HausNr, KND_Ort)
VALUES ('Paul', 'Pause', 'Pause development KG', 'Pausengasse', '65', 2);



CREATE TABLE ORTE(
	ORT_Nr int PRIMARY KEY AUTO_INCREMENT,
	ORT_PLZ char(5) NOT NULL,
	ORT_Name varchar(50) NOT NULL
);

INSERT INTO ORTE(ORT_PLZ, ORT_Name) VALUES ("12345", "Musterstadt");

INSERT INTO ORTE(ORT_PLZ, ORT_Name) VALUES ("55353", "Testort");

INSERT INTO ORTE(ORT_PLZ, ORT_Name) VALUES ("76425", "Beispielkaff");



CREATE TABLE ARTIKEL(
	ART_Nr int PRIMARY KEY AUTO_INCREMENT,
	ART_Bezeichnung varchar(50) NOT NULL,
	ART_Details varchar(50) NOT NULL,
	ART_Auslauf bool NULL,
	ART_StckPreis float NOT NULL
);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis)
VALUES ('Thin-Client BAER', '1.6 Ghz,Sound,VGA,USB', 199.99);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_Auslauf, ART_StckPreis)
VALUES ('Thin-Client NP', '1.0 Ghz,Sound,VGA+DVI,USB', 1, 179.99);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis)
VALUES ('Thin-Client MOON', '1.2 Ghz,Sound,VGA+DVI+DP,USB', 219.99);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_Auslauf, ART_StckPreis)
VALUES ('Server CONTRALION', '3.4 Ghz,DC,SCSI,RAID', 1, 1299.99);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis)
VALUES ('Server POWERCORE', '3.6 Ghz,QC,SAS,RAID,HBA', 1999.99);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis)
VALUES ('Server STORAGE', '2.0 Ghz,SATA,RAID,BACKPLANE', 2499.99);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis)
VALUES ('Workstation CONTENANCE', '3.0 Ghz,SAS,Sound,DVI+DP,USB3', 1399.99);

INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_Auslauf, ART_StckPreis)
VALUES ('Workstation MORTIMER', '2.6 Ghz,SATA,Sound,VGA,USB', 1, 399.99);




CREATE TABLE BESTELLUNGEN(
	BST_Nr int PRIMARY KEY AUTO_INCREMENT,
	KND_Nr int NOT NULL,
	BST_Datum date NOT NULL,
	BST_Bezahlt bool NULL
);

INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum, BST_Bezahlt)
VALUES (1, '2010.10.10', 1);

INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum, BST_Bezahlt)
VALUES (3, '2011.02.14', 1);

INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum)
VALUES (2, '2011.02.15');

INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum, BST_Bezahlt)
VALUES (1, '2011.02.28', 1);

INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum, BST_Bezahlt)
VALUES (1, "2011.03.01", 1);

INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum, BST_Bezahlt)
VALUES (3, "2011.03.02", 1);



CREATE TABLE BESTELL_POS(
	BPOS_Nr int PRIMARY KEY AUTO_INCREMENT,
	BST_Nr int NOT NULL,
	ART_Nr int NOT NULL,
	BPOS_Anzahl int NOT NULL,
	BPOS_Einzelpreis float NOT NULL
);

INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis)
VALUES (1, 1, 10, 199.99),
(1, 2, 15, 229.99),
(2, 2, 8, 189.99),
(2, 3, 8, 219.99),
(3, 1, 1, 199.99),
(4, 2, 10, 225.99),
(4, 1, 15, 195.99),
(5, 1, 50, 199.99),
(6, 6, 2, 2499.99),
(6, 7, 4, 1399.99);