Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
computer:tutorials:sql:daten [2011/03/01 19:33] christian [Bestellungspositionen-Tabelle] |
computer:tutorials:sql:daten [2013/05/13 09:11] christian [Bestellungstabelle] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | Firma: Failution Consulting | + | ======Beschreibung====== |
+ | Die fiktive Firma **Failution Consulting** verwaltet ihre Kunden, Artikel und Bestellungen in einem relationalen Datenbanksystem. | ||
+ | ======Kundentabelle====== | ||
+ | ^KUNDEN^^^^^^^^ | ||
+ | ^KND_Nr^KND_Vorname^KND_Nachname^KND_Firma^KND_Strasse^KND_HausNr^KND_Ort^KND_Notiz^ | ||
+ | |1|Max|Mustermann|Mustermann Consulting|Musterstrasse|1|1| | | ||
+ | |2|Theodor|Tester|Test-Solutions AG|Testweg|16|2|Offene Rechnung Nr.3| | ||
+ | |3|Bernhard|Beispiel|Beispielfirma|Beispielgasse|9|3| | | ||
+ | |4|Paul|Pause|Pause development KG|Pausengasse|65|2| | | ||
- | ======Datenbank====== | + | ======Ort-Tabelle====== |
- | <code>CREATE DATABASE FAILUTION; | + | ^ORTE^^^ |
- | USE FAILUTION;</code> | + | ^ORT_Nr^ORT_PLZ^ORT_Name^ |
+ | |1|12345|Musterstadt| | ||
+ | |2|55353|Testort| | ||
+ | |3|76425|Beispielkaff| | ||
+ | ======Artikeltabelle====== | ||
+ | ^ARTIKEL^^^^^ | ||
+ | ^ART_Nr^ART_Bezeichnung^ART_Details^ART_Auslauf^ART_StckPreis^ | ||
+ | |1|Thin-Client BAER|1.6 Ghz,Sound,VGA,USB| |199.99| | ||
+ | |2|Thin-Client NP|1.0 Ghz,Sound,VGA+DVI,USB|1|179.99| | ||
+ | |3|Thin-Client MOON|1.2 Ghz,Sound,VGA+DVI+DP,USB| |219.99| | ||
+ | |4|Server CONTRALION|3.4 Ghz,DC,SCSI,RAID|1|1299.99| | ||
+ | |5|Server POWERCORE|3.6 Ghz,QC,SAS,RAID,HBA| |1999.99| | ||
+ | |6|Server STORAGE|2.0 Ghz,SATA,RAID,BACKPLANE| |2499.99| | ||
+ | |7|Workstation CONTENANCE|3.0 Ghz,SAS,Sound,DVI+DP,USB3| |1399.99| | ||
+ | |8|Workstation MORTIMER|2.6 Ghz,SATA,Sound,VGA,USB|1|399.99| | ||
+ | ======Bestellungstabelle====== | ||
+ | ^BESTELLUNGEN^^^^ | ||
+ | ^BST_Nr^KND_Nr^BST_Datum^BST_Bezahlt^ | ||
+ | |1|1|10.10.2010|1| | ||
+ | |2|3|14.02.2011|1| | ||
+ | |3|2|15.02.2011|0| | ||
+ | |4|1|28.02.2011|1| | ||
+ | |5|1|01.03.2011|1| | ||
+ | |6|3|02.03.2011|1| | ||
- | ======Kundentabelle====== | + | ======Bestellungspositionen-Tabelle====== |
- | ^KUNDEN^^^^^^^^ | + | ^BESTELL_POS^^^^^ |
- | ^KND_Nr^KND_Vorname^KND_Nachname^KND_Firma^KND_Strasse^KND_PLZ^KND_Ort^KND_Notiz^ | + | ^BPOS_Nr^BST_Nr^ART_Nr^BPOS_Anzahl^BPOS_Einzelpreis^ |
- | |1|Max|Mustermann|Mustermann Consulting|Musterstrasse 1|12345|Musterstadt| | | + | |1|1|1|10|199.99| |
- | |2|Theodor|Tester|Test-Solutions AG|Testweg 16|55353|Testort|Offene Rechnung Nr.3| | + | |2|1|2|15|229.99| |
- | |3|Bernhard|Beispiel|Beispielfirma|Beispielgasse 9|76425|Beispielkaff| | | + | |3|2|2|8|189.99| |
+ | |4|2|3|8|219.99| | ||
+ | |5|3|1|1|199.99| | ||
+ | |6|4|2|10|225.99| | ||
+ | |7|4|1|15|195.99| | ||
+ | |8|5|1|50|199.99| | ||
+ | |9|6|6|2|2499.99| | ||
+ | |10|6|7|4|1399.99| | ||
+ | <note>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.</note> | ||
+ | |||
+ | ======SQL-Dump====== | ||
<code> | <code> | ||
+ | CREATE DATABASE FAILUTION; | ||
+ | USE FAILUTION; | ||
+ | |||
CREATE TABLE KUNDEN (KND_Nr int PRIMARY KEY AUTO_INCREMENT, KND_Vorname char(50) NOT NULL, | CREATE TABLE KUNDEN (KND_Nr int PRIMARY KEY AUTO_INCREMENT, KND_Vorname char(50) NOT NULL, | ||
KND_Nachname char(50) NOT NULL, KND_Firma char(50) NOT NULL, KND_Strasse char(50) NOT NULL, | KND_Nachname char(50) NOT NULL, KND_Firma char(50) NOT NULL, KND_Strasse char(50) NOT NULL, | ||
KND_PLZ char(5) NOT NULL, KND_Ort char(30) NOT NULL, KND_Notiz char(50)); | KND_PLZ char(5) NOT NULL, KND_Ort char(30) NOT NULL, KND_Notiz char(50)); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_PLZ, KND_Ort) VALUES | INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_PLZ, KND_Ort) VALUES | ||
('Max', 'Mustermann', 'Mustermann Consulting', 'Musterstrasse 1', '12345', 'Musterstadt'); | ('Max', 'Mustermann', 'Mustermann Consulting', 'Musterstrasse 1', '12345', 'Musterstadt'); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_PLZ, KND_Ort, KND_Notiz) | INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_PLZ, KND_Ort, KND_Notiz) | ||
VALUES ('Theodor', 'Tester', 'Test-Soultions AG', 'Testweg 16', '55353', 'Testort', 'Offene | VALUES ('Theodor', 'Tester', 'Test-Soultions AG', 'Testweg 16', '55353', 'Testort', 'Offene | ||
Rechnung Nr.3'); | Rechnung Nr.3'); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_PLZ, KND_Ort) VALUES | INSERT INTO KUNDEN (KND_Vorname, KND_Nachname, KND_Firma, KND_Strasse, KND_PLZ, KND_Ort) VALUES | ||
('Bernhard', 'Beispiel', 'Beispielfirma', 'Beispielgasse 9', '76425', 'Beispielkaff'); | ('Bernhard', 'Beispiel', 'Beispielfirma', 'Beispielgasse 9', '76425', 'Beispielkaff'); | ||
- | </code> | ||
- | ======Artikeltabelle====== | ||
- | ^ARTIKEL^^^^^ | ||
- | ^ART_Nr^ART_Bezeichnung^ART_Details^ART_Auslauf^ART_StckPreis^ | ||
- | |1|Thin-Client BAER|1.6 Ghz,Sound,VGA,USB| |199.99| | ||
- | |2|Thin-Client NP|1.0 Ghz,Sound,VGA+DVI,USB|ja|179.99| | ||
- | |3|Thin-Client MOON|1.2 Ghz,Sound,VGA+DVI+DP,USB| |219.99| | ||
- | |||
- | <code> | ||
CREATE TABLE ARTIKEL (ART_Nr int PRIMARY KEY AUTO_INCREMENT, ART_Bezeichnung char(30) NOT NULL, | CREATE TABLE ARTIKEL (ART_Nr int PRIMARY KEY AUTO_INCREMENT, ART_Bezeichnung char(30) NOT NULL, | ||
ART_Details char(50) NOT NULL, ART_Auslauf bool NULL, ART_StckPreis float NOT NULL); | ART_Details char(50) NOT NULL, ART_Auslauf bool NULL, ART_StckPreis float NOT NULL); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis) VALUES ('Thin-Client BAER', | INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis) VALUES ('Thin-Client BAER', | ||
- | '1.6 GHZ,Sound,VGA,USB', 199.99); | + | '1.6 Ghz,Sound,VGA,USB', 199.99); |
- | </code> | + | |
- | + | ||
- | <code> | + | |
INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_Auslauf, ART_StckPreis) VALUES ( | 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); | 'Thin-Client NP', '1.0 Ghz,Sound,VGA+DVI,USB', 1, 179.99); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis) VALUES ('Thin-Client MOON', | INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis) VALUES ('Thin-Client MOON', | ||
'1.2 Ghz,Sound,VGA+DVI+DP,USB', 219.99); | '1.2 Ghz,Sound,VGA+DVI+DP,USB', 219.99); | ||
- | </code> | + | INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_Auslauf, ART_StckPreis) VALUES ( |
- | ======Bestellungstabelle====== | + | 'Server CONTRALION', '3.4 Ghz,DC,SCSI,RAID', 1, 1299.99); |
- | ^BESTELLUNGEN^^^^ | + | INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis) VALUES ( |
- | ^BST_Nr^KND_Nr^BST_Datum^BST_Bezahlt^ | + | 'Server POWERCORE', '3.6 Ghz,QC,SAS,RAID,HBA', 1999.99); |
- | |1|1|10.10.2010|1| | + | INSERT INTO ARTIKEL (ART_Bezeichnung, ART_Details, ART_StckPreis) VALUES ( |
- | |2|3|14.02.2011|1| | + | 'Server STORAGE', '2.0 Ghz,SATA,RAID,BACKPLANE', 2499.99); |
- | |3|2|15.02.2011| | | + | 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); | ||
- | |||
- | <code> | ||
CREATE TABLE BESTELLUNGEN (BST_Nr int PRIMARY KEY AUTO_INCREMENT, KND_Nr int NOT NULL, | CREATE TABLE BESTELLUNGEN (BST_Nr int PRIMARY KEY AUTO_INCREMENT, KND_Nr int NOT NULL, | ||
BST_Datum date NOT NULL, BST_Bezahlt bool); | BST_Datum date NOT NULL, BST_Bezahlt bool); | ||
- | </code> | ||
- | |||
- | <code> | ||
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 (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, 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) VALUES (2, '2011.02.15'); | ||
- | </code> | + | INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum, BST_Bezahlt) VALUES (1, '2011.02.28', 1); |
- | ======Bestellungspositionen-Tabelle====== | + | INSERT INTO BESTELLUNGEN (KND_Nr, BST_Datum, BST_Bezahlt) VALUES (1, "2011.03.01", 1); |
- | ^BESTELL_POS^^^^^ | + | |
- | ^BPOS_Nr^BST_Nr^ART_Nr^BPOS_Anzahl^BPOS_Einzelpreis^ | + | |
- | |1|1|1|10|199.99| | + | |
- | |2|1|2|15|229.99| | + | |
- | |3|2|2|8|189.99| | + | |
- | |4|2|3|8|219.99| | + | |
- | |5|3|1|1|199.99| | + | |
- | <note>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.</note> | ||
- | |||
- | <code> | ||
CREATE TABLE BESTELL_POS (BPOS_Nr int PRIMARY KEY AUTO_INCREMENT, BST_Nr int NOT NULL, | 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); | ART_Nr int NOT NULL, BPOS_Anzahl int NOT NULL, BPOS_Einzelpreis float NOT NULL); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (1, 1, 10, 199.99); | INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (1, 1, 10, 199.99); | ||
INSERT INTO BESTELL_POS (BSt_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (1, 2, 15, 229.99); | INSERT INTO BESTELL_POS (BSt_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (1, 2, 15, 229.99); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (2, 2, 8, 189.99); | INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (2, 2, 8, 189.99); | ||
INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (2, 3, 8, 219.99); | INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (2, 3, 8, 219.99); | ||
- | </code> | ||
- | |||
- | <code> | ||
INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (3, 1, 1, 199.99); | INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (3, 1, 1, 199.99); | ||
+ | INSERT INTO BESTELL_POS (BST_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (4, 2, 10, 225.99); | ||
+ | INSERT INTO BESTELL_POS (BSt_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (4, 1, 15, 195.99); | ||
+ | INSERT INTO BESTELL_POS (BSt_Nr, ART_Nr, BPOS_Anzahl, BPOS_Einzelpreis) VALUES (5, 1, 50, 199.99); | ||
</code> | </code> |