ZFSL/MS/SQL/wikea

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
== '''Datenbank für die Auftragsverwaltung der wikea GmbH''' ==
 

Das Unternehmen WIKEA GmbH ist ein mittelständisches Industrieunternehmen, das auf die Produktion von Designer-Tischen ausgerichtet ist. Weiter vertreibt das Unternehmen hochwertige Möbel von führenden Lieferanten der Möbelbranche. In der folgenden Tabelle sind wichtige Unternehmensdaten zusammengefasst:

[[Bild:Wikea-unternehmen.gif]]

Zur Verwaltung der Aufträge liegt eine Datenbank mit der folgenden Tabellenstruktur vor:


[[Bild:Wikea-tabellenstruktur.gif]]


<code id="53a4218f92081"   hidden>

CREATE TABLE artikel (
  ArtikelID int NOT NULL,
  Artikel varchar(50) NOT NULL,
  VKPreis double NOT NULL,
  PRIMARY KEY (ArtikelID)
) ;

INSERT INTO artikel (ArtikelID, Artikel, VKPreis) VALUES
(101002, 'Quadratischer Tisch', 75),
(101005, 'Rechteckiger Tisch', 899),
(101007, 'Couchtisch Umbria', 129),
(202019, 'Schreibtisch mit Schubladen', 681),
(202029, 'Sofa Palermo, grün', 1458),
(204123, 'Sessel Wien', 420),
(204127, 'Stuhl Sizilien', 100),
(204333, 'Arzneischrank', 98),
(204455, 'Kommode', 520);

CREATE TABLE auftrag (
  AuftragsID int NOT NULL,
  Auftragsdatum date NOT NULL,
  KundenID integer NOT NULL,
  PRIMARY KEY (AuftragsID),  
) ;


INSERT INTO auftrag (AuftragsID, Auftragsdatum, KundenID) VALUES
(1, '2010-10-12', 1),
(2, '2010-10-15', 14),
(3, '2010-10-15', 30),
(4, '2010-10-18', 58),
(5, '2010-10-18', 39),
(6, '2010-10-18', 1),
(7, '2010-10-19', 30),
(8, '2010-10-19', 46),
(9, '2010-10-19', 24),
(10, '2010-10-19', 30),
(11, '2011-02-03', 55),
(99, '2011-02-03', 30);


CREATE TABLE  auftragsposition (
  AuftragsID int NOT NULL,
  ArtikelID int NOT NULL,
  Anzahl int NOT NULL,
  PRIMARY KEY (AuftragsID,ArtikelID)
 
) ;


INSERT INTO auftragsposition (AuftragsID, ArtikelID, Anzahl) VALUES
(1, 101005, 1),
(1, 202029, 30),
(2, 101007, 2),
(3, 101005, 1),
(3, 101007, 20),
(3, 202019, 1),
(4, 202029, 1),
(4, 204123, 5),
(5, 204123, 40),
(5, 204455, 120),
(6, 204127, 1),
(7, 101005, 4),
(8, 202019, 10),
(8, 204127, 75),
(9, 204123, 1),
(9, 204455, 100),
(10, 101007, 45),
(11, 202029, 55),
(99, 101005, 2),
(99, 101007, 2333);

CREATE TABLE kunde (
  KundenID int NOT NULL,
  Name varchar(30) NOT NULL,
  PLZ varchar(5) NOT NULL,
  PRIMARY KEY (KundenID)

) ;



INSERT INTO kunde (KundenID, Name, PLZ) VALUES
(1, 'Möbelhaus Nord', '10125'),
(6, 'Meyer', '20115'),
(7, 'Schmid', '12345'),
(8, 'Schmidt', '14000'),
(9, 'Schmitt', '13000'),
(10, 'Schmied', '20115'),
(11, 'Müller', '80215'),
(12, 'Miller', '80000'),
(14, 'Hinz Möbelhaus', '12000'),
(15, 'Kunz', '12345'),
(16, 'Schlummer', '15010'),
(17, 'Grummel', '16010'),
(19, 'Gruber', '20500'),
(20, 'Schlotterbeck', '20134'),
(21, 'Schröder', '80000'),
(22, 'Schumann', '80100'),
(23, 'Meier', '80200'),
(24, 'Hoffmanns Möbelhaus', '20000'),
(25, 'Bäcker', '12345'),
(26, 'Becker', '20123'),
(28, 'Scharping', '80500'),
(29, 'Pohlke', '20500'),
(30, 'Müller-Lüdenscheid', '12345'),
(32, 'Lehmann', '80099'),
(33, 'Grabowski', '20010'),
(35, 'Landmann', '80000'),
(36, 'Konopke', '20000'),
(37, 'Wagner', '80999'),
(38, 'Mahler', '20500'),
(39, 'Schulte', '20200'),
(40, 'Obermeier', '12345'),
(42, 'Minsky', '10500'),
(43, 'Pawlow', '12000'),
(44, 'Murnau', '20123'),
(45, 'Brandt', '12345'),
(46, 'Hotel zur Eiche', '45250'),
(48, 'Minimarkt', '44787'),
(49, 'Domowina', '44787'),
(50, 'Handwerkerland', '47055'),
(51, 'Restaurant Oase', '45233'),
(52, 'Domspitzengalerie', '51200'),
(53, 'Oskars Hotel', '60123'),
(54, 'Möbel Hellstern', '88353'),
(55, 'Lösken Massivmöbel', '45234'),
(56, 'Rosis Möbelstube', '41088'),
(57, 'Möbelstube GmbH', '40120'),
(58, 'Seidenweber & Co KG', '56206'),
(59, 'Kasimir', '12157'),
(60, 'Möbelhaus Meyer & Partner', '80123');


CREATE TABLE ort (
  PLZ varchar(5)NOT NULL,
  Ort varchar(50) NOT NULL,
  PRIMARY KEY (PLZ)
) ;



INSERT INTO ort (PLZ, Ort) VALUES
('10125', 'Berlin'),
('10500', 'Berlin'),
('12000', 'Berlin'),
('12157', 'Berlin'),
('12345', 'Berlin'),
('13000', 'Berlin'),
('14000', 'Berlin'),
('15010', 'Berlin'),
('16010', 'Berlin'),
('19339', 'Plattenberg'),
('20000', 'Hamburg'),
('20010', 'Hamburg'),
('20115', 'Hamburg'),
('20123', 'Hamburg'),
('20134', 'Hamburg'),
('20200', 'Hamburg'),
('20500', 'Hamburg'),
('40120', 'Düsseldorf'),
('41088', 'Mülheim'),
('44787', 'Bochum'),
('45233', 'Duisburg'),
('45234', 'Duisburg'),
('45250', 'Duisburg'),
('45721', 'Halern'),
('47055', 'Duisburg'),
('49179', 'Ostercappeln'),
('50668', 'Köln'),
('50733', 'Köln'),
('50735', 'Köln'),
('50999', 'Köln'),
('51103', 'Köln'),
('51143', 'Köln'),
('51200', 'Köln'),
('51373', 'Leverkusen'),
('51379', 'Leverkusen'),
('51465', 'Bergisch Gladbach'),
('51503', 'Rsrath'),
('52373', 'Leverkusen'),
('53332', 'Bornheim'),
('56206', 'Krefeld'),
('59302', 'Oelde'),
('60123', 'Frankfurt'),
('80000', 'München'),
('80099', 'München'),
('80100', 'München'),
('80123', 'München'),
('80200', 'Berlin'),
('80215', 'München'),
('80500', 'München'),
('80797', 'München'),
('80999', 'München'),
('86489', 'Deisenhausen'),
('88353', 'Kiülegg'),
('88376', 'Königseggwald'),
('95100', 'Selb'),
('96247', 'Michelau');



</code>


Beispiel: Es wird eine Liste mit allen Daten aus der Kundentabelle benötigt. 
Beispiel: Es wird eine Liste aller Kunden benötigt, die die Kundennummer und den Nachnamen enthält.
Beispiel: Es wird eine Liste aller Kunden benötigt, die die Kundennummer, den Nachnamen und den Vornamen enthält.
Beispiel: Es werden die Maße des Artikels 101002 gesucht.
Beispiel: Es werden alle Artikel aus der Artikelgruppe 10 bis 30 gesucht. 
Beispiel: Es werden alle Aufträge der letzten 3 Tage gesucht
Beispiel: Es wird eine Liste gewünscht, in welcher die Kundennummer und der Nachname des Kunden aufsteigend sortiert angezeigt werden
Beispiel: Es wird eine Liste mit den Aufträgen benötigt, die absteigend nach den Auftragsnummern sortiert ist. 
Beispiel: Es wird eine Übersicht über diejenigen Mitarbeiter gewünscht, die vor 1960 geboren sind.
Beispiel: Es werden alle Kunden gesucht, die aus dem Postleitzahlbereich 4 kommen. 
Beispiel: Es werden alle Kunden gesucht, deren Nachnamen mit „Schmi“ beginnen.
1.1	Abfragen mit Einschränkungen auf Listenwerte (IN)
Beispiel: Im Lager werden alle Artikel gesucht, die eine Länge von 60, 80 bzw. 100 cm haben.
Abfragen mit zusammengesetzten Bedingungen (AND, OR)
Beispiel: Es wird ein Kunde gesucht. Eine Telefonnotiz wurde irrtümlich zerrissen. Auf dem Papier sind vom Kunden  noch der Anfangsbuchstabe 'M' sowie ein Teil des Ansprechpartners „don“ zu erkennen. 
Beispiel: Es werden alle Mitarbeiterinnen, die nicht aus dem Postleitzahlbereich „8“ sind, gesucht.
Beispiel: Es werden alle Kunden aus den Postleitzahlbereichen „2“ und „5“ gesucht. 
Beispiel: Es werden alle Mitarbeiter gesucht, die zwischen 1980 und 1990 (einschließlich) geboren wurden.
Beispiel: Es werden alle Mitarbeiter mit den Anfangsbuchstaben ‚'A' bis 'E' und   'K' bis  'M' gesucht. 
1.1	Abfragen mit verneinten Bedingungen 
Beispiel: Es werden alle Mitarbeiter gesucht, die nicht aus Köln kommen (Telefon-Vorwahl 0221). 

Beispiel: Es werden alle Kunden gesucht, die keine Ansprechpartner haben. 



<run id="53a41cd743eae" ></run>