vault backup: 2023-10-27 19:03:01

This commit is contained in:
2023-10-27 19:03:01 +02:00
parent dcc7ce922f
commit f3c5c79da8
331 changed files with 23583 additions and 102 deletions

View File

@@ -0,0 +1,12 @@
# A
## Notes
- Anwendungskontext: Spielerprofile und Statistiken für "Overwatch"
- Beschreibung des Anwendungsszenarios:
- Programm zum anzeigen und vergleichen von Spielerdaten
- Unterschiedliche Sortiermöglichkeiten
- Modus
- Hero
- Player
- Integritätsbeschreibung:

View File

@@ -0,0 +1,265 @@
ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YYYY';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'DD.MM.YYYY HH24:MI:SS.FF';
drop table kunde cascade constraints;
drop table artikelkategorie cascade constraints;
drop table artikel cascade constraints;
drop table warenkorb cascade constraints;
drop table lager cascade constraints;
drop table bestellung cascade constraints;
drop table bestellposition cascade constraints;
drop table lieferer cascade constraints;
drop table lieferer_has_artikel cascade constraints;
drop sequence pos_seq;
drop sequence best_seq;
CREATE TABLE Kunde(
Kundennummer INTEGER PRIMARY KEY,
Anrede CHARACTER(4) CHECK (Anrede IN ('Herr','Frau')),
Vorname CHARACTER(50),
Nachname CHARACTER(30) DEFAULT 'N.N.',
Geburtsdatum DATE,
email varchar(30),
plz VARCHAR(10),
Ort CHARACTER(50),
strasse varchar(50),
hausnummer varchar(5)
);
CREATE TABLE Artikelkategorie(
KategorieKrz CHAR(3) PRIMARY KEY,
Bezeichnung VARCHAR(50),
Oberkategorie CHAR(3),
FOREIGN KEY (Oberkategorie) REFERENCES Artikelkategorie(KategorieKrz)
);
CREATE TABLE Artikel(
Artikelnummer INTEGER PRIMARY KEY,
Artikelname VARCHAR (1000),
Preis NUMERIC (7,2) CHECK (Preis >=0),
KategorieKrz CHAR(3) NOT NULL,
FOREIGN KEY (KategorieKrz) REFERENCES Artikelkategorie(KategorieKrz)
);
CREATE TABLE Warenkorb(
Kundennummer INTEGER,
Artikelnummer INTEGER,
Anzahl INTEGER CHECK( Anzahl >=0),
PRIMARY KEY (Kundennummer, Artikelnummer),
FOREIGN KEY (Kundennummer) REFERENCES Kunde(Kundennummer)
ON DELETE CASCADE,
FOREIGN KEY (Artikelnummer) REFERENCES Artikel(Artikelnummer)
ON DELETE CASCADE
);
CREATE TABLE Lager(
Lagernummer INTEGER,
Standort VARCHAR (3) CHECK (Standort IN ('INF', 'MED', 'FAN', 'WIR')),
ANummer INTEGER,
Lagerbestand INTEGER CHECK (Lagerbestand >=0),
PRIMARY KEY (Lagernummer),
FOREIGN KEY (ANummer) REFERENCES Artikel(Artikelnummer)
ON DELETE SET NULL
);
CREATE TABLE Bestellung(
Bestellnummer INTEGER,
Kundennummer INTEGER,
Bestelldatum DATE,
Bestellstatus VARCHAR(10) CHECK (Bestellstatus IN ('bestellt', 'bestaetigt', 'geliefert')),
wunschtermin TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (Bestellnummer),
FOREIGN KEY (Kundennummer) REFERENCES Kunde (Kundennummer)
);
CREATE TABLE Bestellposition(
Pos INTEGER,
Bestellnummer INTEGER,
Artikelnummer INTEGER,
Anzahl INTEGER CHECK( Anzahl >=0),
Preis NUMERIC (7,2) CHECK (Preis >0),
Reduktion NUMERIC (4,2) DEFAULT 0.0,
PRIMARY KEY (Bestellnummer, Pos),
FOREIGN KEY (Bestellnummer) REFERENCES Bestellung(Bestellnummer)
ON DELETE CASCADE,
FOREIGN KEY (Artikelnummer) REFERENCES Artikel(Artikelnummer)
);
CREATE TABLE lieferer (
lieferernummer NUMBER(10) NOT NULL PRIMARY KEY,
anrede CHARACTER(4) CHECK (Anrede IN ('Herr','Frau')),
vorname VARCHAR(45) NOT NULL,
nachname VARCHAR(45) NOT NULL
) ;
CREATE TABLE Lieferer_has_Artikel (
lieferernummer NUMBER(10) NOT NULL,
artikelnummer number(10) not null,
FOREIGN KEY (Artikelnummer) REFERENCES Artikel(Artikelnummer),
FOREIGN KEY (lieferernummer) REFERENCES Lieferer(lieferernummer),
Primary key(artikelnummer,lieferernummer)
) ;
CREATE SEQUENCE Best_seq
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 10;
CREATE SEQUENCE Pos_seq
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 10;
--
-- Dumping data for table kunde
--
INSERT INTO kunde VALUES (1,'Frau','Herta','Mueller', '04.10.1921', 'fritz@hotmail.de', '39850','Maieskuel', 'Neuerstrasse', null);
INSERT INTO kunde VALUES (6,'Herr','Dagobert','Duck', '24.09.1930', 'dd@gmx.de', '39850', 'Maieskuel', 'Am Geldspeicher', '5');
INSERT INTO kunde VALUES (7,'Frau','Freya','Wille', '22.05.1979', 'freyaw@satannet.org', '39846', 'Maieskuel', 'Feldweg', '5');
INSERT INTO kunde VALUES (8,'Herr','Hubert','Humbug','12.04.1966', 'hubihum@yahoo.com', '39846', 'Maieskuel', 'Am Markt', '88');
INSERT INTO kunde VALUES (9,'Frau','Amber','Love','04.02.1983', 'amberlove@forsale.de', '39846', 'Maieskuel', 'Rotlichtgasse', '7');
INSERT INTO kunde VALUES (10,'Herr','P.','Usher','22.02.1988', 'Drugstore@gmx.at', '39000', 'Maieskuel', 'Rotlichtgasse', '4');
INSERT INTO kunde VALUES (11,'Frau','Kriemhild','Kratzbaum','23.05.1944', 'katzenlady@whiskas.de', '39000', 'Maieskuel', 'Feldweg', '17');
INSERT INTO kunde VALUES (12,'Herr','A.','S. S. Assin','29.06.1967', 'gunfreak@hotmail.com', '39846', 'Maieskuel', 'Am Friedhof', '666');
INSERT INTO kunde VALUES (13,'Frau','Mathilda','Metzger','24.04.1977', 'metzgereimetzger@gmx.de', '39846', 'Maieskuel', 'Am Markt', '1');
INSERT INTO kunde VALUES (14,'Herr','Vlad','Draculea','09.09.1431', 'tepes@gmx.ru', '39001', 'Maieskuel', 'Am Friedhof', '77');
INSERT INTO kunde VALUES (2,'Herr','Jeffrey','Döhmer','21.03.1960', 'jeff@gmx.de', '39846', 'Maieskuel', 'An der Schokoladenfabrik', '8');
INSERT INTO kunde VALUES (4,'Frau','Pueppi','Lawless','24.10.1983', 'plawless@gmx.de', '39850', 'Maieskuel', 'Freier Fall', '24');
INSERT INTO kunde VALUES (5,'Frau','Stefanie','Meier','04.11.1979', 'mutti@yahoo.com', '39850', 'Maieskuel', 'Am Markt', '20');
INSERT INTO kunde VALUES (3,'Herr','Rupert','Ratte','22.07.1963', 'harleyfahrer@web.de', '39850', 'Maieskuel', 'Rotlichtgasse', '55');
INSERT INTO kunde VALUES (16,'Herr','Georg','Hausierer','12.12.1990', 'rodentizid@web.de', '39850', 'Maieskuel', 'Am Trigger', '88');
INSERT INTO kunde VALUES (17,'Frau','Chantal','Schulze','12.01.1998', 'discomaus18@gmx.net', '39000', 'Maieskuel', 'An der Schokoladenfabrik', '8');
UPDATE kunde SET vorname='Vladimir', nachname='Drach' WHERE kundennummer='14';
-- UPDATE kunde SET passwort='curare', anrede='Herr', vorname='Georg', nachname='Hausierer', geburtsdatum='12.12.1990', strasse='Am Trigger 88', wohnort='Orakel', plz='39850', tel='0346-465483', mail='rodentizid@web.de', konto_nr='5236785', blz='370001', bankname='Sparkasse Orakel' WHERE idKunde='16';
INSERT INTO kunde (Kundennummer, anrede, vorname, nachname, geburtsdatum, plz, ort,strasse, hausnummer) VALUES ('18', 'Herr', 'Pierre', 'Bauklo', '28.02.1998','39000', 'Maieskuel', 'Feldweg', '6');
INSERT INTO kunde (Kundennummer, anrede, vorname, nachname, geburtsdatum, plz, ort, strasse, hausnummer) VALUES ('19', 'Herr', 'Marco', 'Mark', '30.05.1977', '39850', 'Maieskuel', 'Am Markt', '20');
--
-- Dumping data for table artikelkategorie
--
INSERT INTO artikelkategorie VALUES('GET', 'Getraenke', NULL);
INSERT INTO artikelkategorie VALUES('AKF','Alkoholfreie','GET');
INSERT INTO artikelkategorie VALUES('SAE','Saefte','GET');
INSERT INTO artikelkategorie VALUES('WAS','Wasser','GET');
INSERT INTO artikelkategorie VALUES('LIM','Limonade','GET');
INSERT INTO artikelkategorie VALUES('ALK','Alkoholhaltige','GET');
INSERT INTO artikelkategorie VALUES('WEI','Wein','ALK');
INSERT INTO artikelkategorie VALUES('BIE','Bier','ALK');
INSERT INTO artikelkategorie VALUES('MIL','Milchhaltige','GET');
INSERT INTO artikelkategorie VALUES('MIS','Milchsorte','MIL');
INSERT INTO artikelkategorie VALUES('SPE','Spezielles','GET');
INSERT INTO artikelkategorie VALUES ('WHI', 'Whiskey', 'ALK');
INSERT INTO artikelkategorie VALUES ('SEK', 'Sekt', 'ALK');
UPDATE artikelkategorie SET bezeichnung='Koelsch' WHERE KategorieKrz='BIE';
INSERT INTO artikelkategorie VALUES ('COL', 'Cola', 'LIM');
INSERT INTO artikelkategorie VALUES ('KAF', 'Kaffeegetraenk', 'MIS');
INSERT INTO artikelkategorie VALUES ('HMI', 'H-Milch', 'MIS');
INSERT INTO artikelkategorie VALUES ('KAK', 'Kakao', 'MIS');
INSERT INTO artikelkategorie VALUES ('PIL', 'Pils', 'BIE');
INSERT INTO artikelkategorie VALUES ('APF', 'Apfelsaft', 'SAE');
INSERT INTO artikelkategorie VALUES ('ORA', 'Orangensaft', 'SAE');
INSERT INTO artikelkategorie VALUES ('KOH', 'Kohlensaeurenhaltig', 'GET');
--
-- Dumping data for table artikel
--
INSERT INTO artikel VALUES (1,'Multisaft',2.95,'SAE');
INSERT INTO artikel VALUES(2,'Bonaqua',2.95,'KOH');
INSERT INTO artikel VALUES(3,'Cola',2.95,'KOH');
INSERT INTO artikel VALUES(4,'Bordeaux',5,'ALK');
INSERT INTO artikel VALUES(5,'Pils',2.5,'ALK');
INSERT INTO artikel VALUES(6,'LatteGetraenk',2.55,'MIL');
INSERT INTO artikel VALUES(7,'Kirschsaft',2.55,'SAE');
INSERT INTO artikel VALUES(8,'Sanguis',65.95,'ALK');
--
-- Dumping data for table bestellung
--
INSERT INTO bestellung VALUES (50,6,'21.07.2016','bestaetigt','23.07.2016 15:00:00');
INSERT INTO bestellung VALUES (49,14,'21.07.2016','bestaetigt','23.07.2016 14:30:00');
INSERT INTO bestellung VALUES (48,10,'21.07.2016','bestaetigt','23.7.2016 11:30:00');
INSERT INTO bestellung VALUES (47,1,'20.07.2016','bestaetigt','24.07.2016 14:00:00');
INSERT INTO bestellung VALUES (46,4,'20.07.2016','bestaetigt','22.07.2016 12:00:00');
INSERT INTO bestellung VALUES (45,3,'20.07.2016','bestaetigt','23.07.2016 15:00:00');
INSERT INTO bestellung VALUES (44,7,'20.07.2016','bestaetigt','21.07.2016 14:00:00');
INSERT INTO bestellung VALUES (43,11,'20.07.2016','bestaetigt','25.07.2016 16:00:00');
INSERT INTO bestellung VALUES (51,12,'22.07.2016','bestellt','26.07.2016 17:00:00');
INSERT INTO bestellung VALUES (52,8,'22.07.2016','bestellt','26.07.2016 07:00:00');
INSERT INTO bestellung VALUES (53,9,'22.07.2016','bestellt','26.07.2016 11:00:00');
INSERT INTO bestellung VALUES (54,11,'23.07.2016','bestellt','01.08.2016 14:00:00');
INSERT INTO bestellung VALUES (55,5,'23.07.2016','bestaetigt','25.07.2016 12:00:00');
INSERT INTO bestellung VALUES (56,2,'23.07.2016','bestaetigt','25.07.2016 14:10:00');
INSERT INTO bestellung VALUES (57,6,'23.07.2016','bestellt','31.07.2016 14:30:00');
INSERT INTO bestellung VALUES (58,13,'24.07.2016','bestellt','02.08.2016 16:00:00');
INSERT INTO bestellung VALUES (59,7,'24.07.2016','bestellt','01.08.2016 07:00:00');
INSERT INTO bestellung VALUES (60,14,'25.07.2016','bestellt','04.08.2016 16:00:00');
INSERT INTO bestellung VALUES (61, 9, '25.07.2016', 'bestellt', '31.07.2016 14:00:00');
--
-- Dumping data for table bestellposition
--
INSERT INTO bestellposition VALUES (117,60,8,20, 65.95,0);
INSERT INTO bestellposition VALUES (116,59,3,10,2.95,0);
INSERT INTO bestellposition VALUES (115,58,2,25,2.95,0);
INSERT INTO bestellposition VALUES (114,57,8,9,65.95,0);
INSERT INTO bestellposition VALUES (113,56,7,4,2.55,0);
INSERT INTO bestellposition VALUES (112,55,5,18, 2.5,0);
INSERT INTO bestellposition VALUES (111,54,8,4,65.95,0);
INSERT INTO bestellposition VALUES (110,53,1,4,2.95,0);
INSERT INTO bestellposition VALUES (109,52,3,15,2.95,0);
INSERT INTO bestellposition VALUES (108,51,4,4,5,0);
INSERT INTO bestellposition VALUES (107,50,8,8,65.95,0);
INSERT INTO bestellposition VALUES (106,49,8,5,65.95,0);
INSERT INTO bestellposition VALUES (105,48,1,10, 2.95,0);
INSERT INTO bestellposition VALUES (104,47,8,7,65.95,0);
INSERT INTO bestellposition VALUES (103,46,2,20, 2.95,0);
INSERT INTO bestellposition VALUES (102,45,6,10, 2.55,0);
INSERT INTO bestellposition VALUES (101,44,5,12, 2.5,0);
INSERT INTO bestellposition VALUES (100,43,8,6,65.95,0);
INSERT INTO bestellposition VALUES (118, 61, 4, 4,5,0);
--
-- Dumping data for table lieferer
--
INSERT INTO lieferer VALUES (1,'Herr','Lars','Mayer');
INSERT INTO lieferer VALUES (2,'Frau','Anastasia','Mueller');
INSERT INTO lieferer VALUES (3,'Herr','Eric','Beckers');
INSERT INTO lieferer VALUES (4,'Herr','Dorian','Graie');
--
-- Dumping data for table warenkorb
--
INSERT INTO warenkorb VALUES (3,3,2);
INSERT INTO warenkorb VALUES (3,5,4);
INSERT INTO warenkorb VALUES (5,1,5);
--
-- Dumping data for table lager
--
INSERT INTO Lager VALUES (27135,'INF',1, 2);
INSERT INTO Lager VALUES (27136,'INF',2, 18);
INSERT INTO Lager VALUES (27432,'FAN',3, 0);
INSERT INTO Lager VALUES (27522,'MED',4, 1);
INSERT INTO Lager VALUES (27523,'MED',5, 3);
INSERT INTO Lager VALUES (27525,'MED',6, 5);
INSERT INTO Lager VALUES (27527,'INF',7, 3);
INSERT INTO Lager VALUES (27528,'MED',8, 5);
INSERT INTO Lieferer_has_Artikel VALUES(1,1);
INSERT INTO Lieferer_has_Artikel VALUES(2,2);
INSERT INTO Lieferer_has_Artikel VALUES(3,3);
INSERT INTO Lieferer_has_Artikel VALUES(4,4);
INSERT INTO Lieferer_has_Artikel VALUES(4,8);
COMMIT;

View File

@@ -0,0 +1,35 @@
-- Oracle 11xe:
CREATE TABLESPACE myTablespace
DATAFILE 'c:\oraclexe\app\oracle\oradata\XE\mytablespace.dbf' size 300M reuse
DEFAULT STORAGE
(INITIAL 5K NEXT 20K MINEXTENTS 1 MAXEXTENTS 999)
ONLINE;
CREATE USER myUser
IDENTIFIED BY oracle
DEFAULT TABLESPACE mytablespace
PROFILE default
ACCOUNT UNLOCK
QUOTA 300M ON mytablespace
;
-- Rechtevergabe an den user myUser
grant connect to myUser;
-- Connect-Berechtigung (erst dann ist ein Connect m<>glich)
grant create procedure to myUser;
-- Prozeduren erstellen
grant create trigger to myUser;
-- Trigger erstellen
grant create sequence to myUser;
-- Sequence erstellen
grant create public synonym to myUser;
-- Synonyme erstellen
grant drop public synonym to myUser;
-- Synonyme l<>schen
grant create table to myUser;
grant create cluster to myUser;
grant create type to myUser;
grant execute any type to myUser;
grant select_catalog_role to myUser;
grant select any dictionary to myUser;
grant create view to myUser;

View File

@@ -0,0 +1,29 @@
-- Oracle 12c
CREATE USER C##myUser
IDENTIFIED BY oracle
ACCOUNT UNLOCK
CONTAINER=ALL
;
ALTER USER C##myUser quota 100M ON USERS;
-- Rechtevergabe an den user myUser
grant connect to C##myUser;
-- Connect-Berechtigung (erst dann ist ein Connect m<>glich)
grant create procedure to C##myUser;
-- Prozeduren erstellen
grant create trigger to C##myUser;
-- Trigger erstellen
grant create sequence to C##myUser;
-- Sequence erstellen
grant create public synonym to C##myUser;
-- Synonyme erstellen
grant drop public synonym to C##myUser;
-- Synonyme l<>schen
grant create table to C##myUser;
grant create cluster to C##myUser;
grant create type to C##myUser;
grant execute any type to C##myUser;
grant select_catalog_role to C##myUser;
grant select any dictionary to C##myUser;
grant create view to C##myUser;

View File

@@ -0,0 +1,10 @@
version: '3'
services:
oracle-db:
image: gvenzl/oracle-xe:latest
environment:
ORACLE_PASSWORD: oracle
ports:
- 1521:1521
- 5500:5500

View File

@@ -0,0 +1,132 @@
group: neuesSchema
Kunde = {
Kundennummer:number,Anrede:string,Vorname:string,Nachname:string,Geburtsdatum:string,Email:string,Plz:string,Ort:string,Strasse:string,Hausnummer:string
1, 'Frau', 'Herta', 'Mueller', '04.10.1921', 'fritzathotmail.de', '39850', 'Maieskuel', 'Neuerstrasse', '5'
6, 'Herr', 'Dagobert', 'Duck', '24.09.1930', 'ddatgmx.de', '39850', 'Maieskuel', 'Am Geldspeicher', '5'
7, 'Frau', 'Freya', 'Wille', '22.05.1979', 'freyawatsatannet.org', '39846', 'Maieskuel', 'Feldweg', '5'
8, 'Herr', 'Hubert', 'Humbug', '12.04.1966', 'hubihumatyahoo.com', '39846', 'Maieskuel', 'Am Markt', '88'
9, 'Frau', 'Amber', 'Love', '04.02.1983', 'amberloveatforsale.de', '39846', 'Maieskuel', 'Rotlichtgasse', '7'
10, 'Herr', 'P.', 'Usher', '22.02.1988', 'Drugstoreatgmx.at', 'Maieskuel', '39000', 'Rotlichtgasse', '4'
11, 'Frau', 'Kriemhild', 'Kratzbaum', '23.05.1944', 'katzenladyatwhiskas.de', '39000', 'Maieskuel', 'Feldweg', '17'
12, 'Herr', 'A.', 'S. S. Assin', '29.06.1967', 'gunfreakathotmail.com', '39846', 'Maieskuel', 'Am Friedhof', '666'
13, 'Frau', 'Mathilda', 'Metzger', '24.04.1977', 'metzgereimetzgeratgmx.de', '39846', 'Maieskuel', 'Am Markt', '1'
14, 'Herr', 'Vlad', 'Draculea', '09.09.1431', 'tepesatgmx.ru', '39001', 'Maieskuel', 'Am Friedhof', '77'
2, 'Herr', 'Jeffrey', 'Doehmer', '21.03.1960', 'jeffatgmx.de', '39846', 'Maieskuel', 'An der Schokoladenfabrik', '8'
4, 'Frau', 'Pueppi', 'Lawless', '24.10.1983', 'plawlessatgmx.de', '39850', 'Ma ieskuel', 'Freier Fall', '24'
5, 'Frau', 'Stefanie', 'Meier', '04.11.1979', 'muttiatyahoo.com', '39850', 'Maieskuel', 'Am Markt', '20'
16,'Herr','Georg','Hausierer','12.12.1990','rodentizidatweb.de','39850','Maieskuel','Am Trigger','88'
3,'Herr','Rupert','Ratte','22.07.1963', 'harleyfahrer@web.de', '39850', 'Maieskuel', 'Rotlichtgasse', '55'
17,'Frau','Chantal','Schulze','12.01.1998','discomaus18atgmx.net','39000','Maieskuel','An der Schokoladenfabrik','8'
18,'Herr','Pierre','Bauklo','28.02.1998','null','null','Maieskuel','null','null'
19,'Herr','Marco','Mark','30.05.1997','null','null','Maieskuel','null','null'
}
Artikelkategorie = {KategorieKrz:string, Bezeichnung:string, Oberkategorie:string
'GET', 'Getraenke', 'NULL'
'AKF', 'Alkoholfreie', 'GET'
'SAE', 'Saefte', 'GET'
'WAS', 'Wasser', 'GET'
'LIM', 'Limonade', 'GET'
'ALK', 'Alkoholhaltige', 'GET'
'WEI', 'Wein', 'ALK'
'BIE', 'Bier', 'ALK'
'MIL', 'Milchhaltige', 'GET'
'MIS', 'Milchsorte', 'MIL'
'SPE', 'Spezielles', 'GET'
'WHI', 'Whiskey', 'ALK'
'SEK', 'Sekt', 'ALK'
'COL','Cola','LIM'
'KAF','Kaffeegetraenk','MIS'
'HMI','H-Milch','MIS'
'KAK','Kakao','MIS'
'PIL','Pils','BIE'
'APF','Apfelsaft','SAE'
'ORA','Orangensaft','SAE'
'KOH','Kohlensaeurenhaltig','GET'
}
Artikel = {Artikelnummer:number, Artikelname:string, Preis:number, KategorieKrz:string
1,'Multisaft',2.95,'SAE'
2,'Bonaqua',2.95,'KOH'
3,'Cola',2.95,'KOH'
4,'Bordeaux',5,'ALK'
5,'Pils',2.5,'ALK'
6,'LatteGetraenk',2.55,'MIL'
7,'Kirschsaft',2.55,'SAE'
8,'Sanguis',65.95,'ALK'}
Warenkorb = {Kundennummer:number, Artikelnummer:number, Anzahl:number
3,3,2
3,5,4
5,1,5}
Lager = {Lagernummer:number, Standort:string, ANummer:number, Lagerbestand:number
27135,'INF',1,2
27136,'INF',2,18
27432,'FAN',3,0
27522,'MED',4,1
27523,'MED',5,3
27525,'MED',6,5
27527,'INF',7,3
27528,'MED',8,5}
Bestellung = {Bestellnummer:number, Kundennummer:number, Bestelldatum:string, Bestellstatus:string, Wunschtermin:string
50,6, '21.07.2016','bestaetigt','23.07.2016 15:00:00'
49,14, '21.07.2016','bestaetigt','23.07.2016 14:30:00'
48,10, '21.07.2016','bestaetigt','23.7.2016 11:30:00'
47,1, '20.07.2016','bestaetigt','24.07.2016 14:00:00'
46,4,'20.07.2016','bestaetigt','22.07.2016 12:00:00'
45,3,'20.07.2016','bestaetigt','23.07.2016 15:00:00'
44,7,'20.07.2016','bestaetigt','21.07.2016 14:00:00'
43,11,'20.07.2016','bestaetigt','25.07.2016 16:00:00'
51,12,'22.07.2016','bestellt','26.07.2016 17:00:00'
52,8,'22.07.2016','bestellt','26.07.2016 07:00:00'
53,9,'22.07.2016','bestellt','26.07.2016 11:00:00'
54,11,'23.07.2016','bestellt','01.08.2016 14:00:00'
55,5,'23.07.2016','bestaetigt','25.07.2016 12:00:00'
56,2,'23.07.2016','bestaetigt','25.07.2016 14:10:00'
57,6,'23.07.2016','bestellt','31.07.2016 14:30:00'
58,13,'24.07.2016','bestellt','02.08.2016 16:00:00'
59,7,'24.07.2016','bestellt','01.08.2016 07:00:00'
60,14,'25.07.2016','bestellt','04.08.2016 16:00:00'
61, 9, '25.07.2016', 'bestellt', '31.07.2016 14:00:00'
}
Bestellposition = {Pos:number, Bestellnummer:number, Artikelnummer:number, Anzahl:number, Preis:number, Reduktion:number
117,60,8,20,65.95,0
116,59,3,10,2.95,0
115,58,2,25,2.95,0
114,57,8,9,65.95,0
113,56,7,4,2.55,0
112,55,5,18,2.5,0
111,54,8,4,65.95,0
110,53,1,4,2.95,0
109,52,3,15,2.95,0
108,51,4,4,5,0
107,50,8,8,65.95,0
106,49,8,5,65.95,0
105,48,1,10,2.95,0
104,47,8,7,65.95,0
103,46,2,20,2.95,0
102,45,6,10,2.55,0
101,44,5,12,2.5,0
100,43,8,6,65.95,0
118,61,4,4,5,0}
Lieferer = {Lieferernummer:number, Anrede:string, Vorname:string, Nachname:string
1,'Herr','Lars','Mayer'
2,'Frau','Anastasia','Mueller'
3,'Herr','Eric','Beckers'
4,'Herr','Dorian','Graie'
}
Lieferer_has_Artikel = {Lieferernummer:number, Artikelnummer:number
1,1
2,2
3,3
4,4
}

View File

@@ -0,0 +1,265 @@
ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YYYY';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'DD.MM.YYYY HH24:MI:SS.FF';
drop table kunde cascade constraints;
drop table artikelkategorie cascade constraints;
drop table artikel cascade constraints;
drop table warenkorb cascade constraints;
drop table lager cascade constraints;
drop table bestellung cascade constraints;
drop table bestellposition cascade constraints;
drop table lieferer cascade constraints;
drop table lieferer_has_artikel cascade constraints;
drop sequence pos_seq;
drop sequence best_seq;
CREATE TABLE Kunde(
Kundennummer INTEGER PRIMARY KEY,
Anrede CHARACTER(4) CHECK (Anrede IN ('Herr','Frau')),
Vorname CHARACTER(50),
Nachname CHARACTER(30) DEFAULT 'N.N.',
Geburtsdatum DATE,
email varchar(30),
plz VARCHAR(10),
Ort CHARACTER(50),
strasse varchar(50),
hausnummer varchar(5)
);
CREATE TABLE Artikelkategorie(
KategorieKrz CHAR(3) PRIMARY KEY,
Bezeichnung VARCHAR(50),
Oberkategorie CHAR(3),
FOREIGN KEY (Oberkategorie) REFERENCES Artikelkategorie(KategorieKrz)
);
CREATE TABLE Artikel(
Artikelnummer INTEGER PRIMARY KEY,
Artikelname VARCHAR (1000),
Preis NUMERIC (7,2) CHECK (Preis >=0),
KategorieKrz CHAR(3) NOT NULL,
FOREIGN KEY (KategorieKrz) REFERENCES Artikelkategorie(KategorieKrz)
);
CREATE TABLE Warenkorb(
Kundennummer INTEGER,
Artikelnummer INTEGER,
Anzahl INTEGER CHECK( Anzahl >=0),
PRIMARY KEY (Kundennummer, Artikelnummer),
FOREIGN KEY (Kundennummer) REFERENCES Kunde(Kundennummer)
ON DELETE CASCADE,
FOREIGN KEY (Artikelnummer) REFERENCES Artikel(Artikelnummer)
ON DELETE CASCADE
);
CREATE TABLE Lager(
Lagernummer INTEGER,
Standort VARCHAR (3) CHECK (Standort IN ('INF', 'MED', 'FAN', 'WIR')),
ANummer INTEGER,
Lagerbestand INTEGER CHECK (Lagerbestand >=0),
PRIMARY KEY (Lagernummer),
FOREIGN KEY (ANummer) REFERENCES Artikel(Artikelnummer)
ON DELETE SET NULL
);
CREATE TABLE Bestellung(
Bestellnummer INTEGER,
Kundennummer INTEGER,
Bestelldatum DATE,
Bestellstatus VARCHAR(10) CHECK (Bestellstatus IN ('bestellt', 'bestaetigt', 'geliefert')),
wunschtermin TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (Bestellnummer),
FOREIGN KEY (Kundennummer) REFERENCES Kunde (Kundennummer)
);
CREATE TABLE Bestellposition(
Pos INTEGER,
Bestellnummer INTEGER,
Artikelnummer INTEGER,
Anzahl INTEGER CHECK( Anzahl >=0),
Preis NUMERIC (7,2) CHECK (Preis >0),
Reduktion NUMERIC (4,2) DEFAULT 0.0,
PRIMARY KEY (Bestellnummer, Pos),
FOREIGN KEY (Bestellnummer) REFERENCES Bestellung(Bestellnummer)
ON DELETE CASCADE,
FOREIGN KEY (Artikelnummer) REFERENCES Artikel(Artikelnummer)
);
CREATE TABLE lieferer (
lieferernummer NUMBER(10) NOT NULL PRIMARY KEY,
anrede CHARACTER(4) CHECK (Anrede IN ('Herr','Frau')),
vorname VARCHAR(45) NOT NULL,
nachname VARCHAR(45) NOT NULL
) ;
CREATE TABLE Lieferer_has_Artikel (
lieferernummer NUMBER(10) NOT NULL,
artikelnummer number(10) not null,
FOREIGN KEY (Artikelnummer) REFERENCES Artikel(Artikelnummer),
FOREIGN KEY (lieferernummer) REFERENCES Lieferer(lieferernummer),
Primary key(artikelnummer,lieferernummer)
) ;
CREATE SEQUENCE Best_seq
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 10;
CREATE SEQUENCE Pos_seq
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 10;
--
-- Dumping data for table kunde
--
INSERT INTO kunde VALUES (1,'Frau','Herta','Mueller', '04.10.1921', 'fritz@hotmail.de', '39850','Maieskuel', 'Neuerstrasse', null);
INSERT INTO kunde VALUES (6,'Herr','Dagobert','Duck', '24.09.1930', 'dd@gmx.de', '39850', 'Maieskuel', 'Am Geldspeicher', '5');
INSERT INTO kunde VALUES (7,'Frau','Freya','Wille', '22.05.1979', 'freyaw@satannet.org', '39846', 'Maieskuel', 'Feldweg', '5');
INSERT INTO kunde VALUES (8,'Herr','Hubert','Humbug','12.04.1966', 'hubihum@yahoo.com', '39846', 'Maieskuel', 'Am Markt', '88');
INSERT INTO kunde VALUES (9,'Frau','Amber','Love','04.02.1983', 'amberlove@forsale.de', '39846', 'Maieskuel', 'Rotlichtgasse', '7');
INSERT INTO kunde VALUES (10,'Herr','P.','Usher','22.02.1988', 'Drugstore@gmx.at', '39000', 'Maieskuel', 'Rotlichtgasse', '4');
INSERT INTO kunde VALUES (11,'Frau','Kriemhild','Kratzbaum','23.05.1944', 'katzenlady@whiskas.de', '39000', 'Maieskuel', 'Feldweg', '17');
INSERT INTO kunde VALUES (12,'Herr','A.','S. S. Assin','29.06.1967', 'gunfreak@hotmail.com', '39846', 'Maieskuel', 'Am Friedhof', '666');
INSERT INTO kunde VALUES (13,'Frau','Mathilda','Metzger','24.04.1977', 'metzgereimetzger@gmx.de', '39846', 'Maieskuel', 'Am Markt', '1');
INSERT INTO kunde VALUES (14,'Herr','Vlad','Draculea','09.09.1431', 'tepes@gmx.ru', '39001', 'Maieskuel', 'Am Friedhof', '77');
INSERT INTO kunde VALUES (2,'Herr','Jeffrey','Döhmer','21.03.1960', 'jeff@gmx.de', '39846', 'Maieskuel', 'An der Schokoladenfabrik', '8');
INSERT INTO kunde VALUES (4,'Frau','Pueppi','Lawless','24.10.1983', 'plawless@gmx.de', '39850', 'Maieskuel', 'Freier Fall', '24');
INSERT INTO kunde VALUES (5,'Frau','Stefanie','Meier','04.11.1979', 'mutti@yahoo.com', '39850', 'Maieskuel', 'Am Markt', '20');
INSERT INTO kunde VALUES (3,'Herr','Rupert','Ratte','22.07.1963', 'harleyfahrer@web.de', '39850', 'Maieskuel', 'Rotlichtgasse', '55');
INSERT INTO kunde VALUES (16,'Herr','Georg','Hausierer','12.12.1990', 'rodentizid@web.de', '39850', 'Maieskuel', 'Am Trigger', '88');
INSERT INTO kunde VALUES (17,'Frau','Chantal','Schulze','12.01.1998', 'discomaus18@gmx.net', '39000', 'Maieskuel', 'An der Schokoladenfabrik', '8');
UPDATE kunde SET vorname='Vladimir', nachname='Drach' WHERE kundennummer='14';
-- UPDATE kunde SET passwort='curare', anrede='Herr', vorname='Georg', nachname='Hausierer', geburtsdatum='12.12.1990', strasse='Am Trigger 88', wohnort='Orakel', plz='39850', tel='0346-465483', mail='rodentizid@web.de', konto_nr='5236785', blz='370001', bankname='Sparkasse Orakel' WHERE idKunde='16';
INSERT INTO kunde (Kundennummer, anrede, vorname, nachname, geburtsdatum, plz, ort,strasse, hausnummer) VALUES ('18', 'Herr', 'Pierre', 'Bauklo', '28.02.1998','39000', 'Maieskuel', 'Feldweg', '6');
INSERT INTO kunde (Kundennummer, anrede, vorname, nachname, geburtsdatum, plz, ort, strasse, hausnummer) VALUES ('19', 'Herr', 'Marco', 'Mark', '30.05.1977', '39850', 'Maieskuel', 'Am Markt', '20');
--
-- Dumping data for table artikelkategorie
--
INSERT INTO artikelkategorie VALUES('GET', 'Getraenke', NULL);
INSERT INTO artikelkategorie VALUES('AKF','Alkoholfreie','GET');
INSERT INTO artikelkategorie VALUES('SAE','Saefte','GET');
INSERT INTO artikelkategorie VALUES('WAS','Wasser','GET');
INSERT INTO artikelkategorie VALUES('LIM','Limonade','GET');
INSERT INTO artikelkategorie VALUES('ALK','Alkoholhaltige','GET');
INSERT INTO artikelkategorie VALUES('WEI','Wein','ALK');
INSERT INTO artikelkategorie VALUES('BIE','Bier','ALK');
INSERT INTO artikelkategorie VALUES('MIL','Milchhaltige','GET');
INSERT INTO artikelkategorie VALUES('MIS','Milchsorte','MIL');
INSERT INTO artikelkategorie VALUES('SPE','Spezielles','GET');
INSERT INTO artikelkategorie VALUES ('WHI', 'Whiskey', 'ALK');
INSERT INTO artikelkategorie VALUES ('SEK', 'Sekt', 'ALK');
UPDATE artikelkategorie SET bezeichnung='Koelsch' WHERE KategorieKrz='BIE';
INSERT INTO artikelkategorie VALUES ('COL', 'Cola', 'LIM');
INSERT INTO artikelkategorie VALUES ('KAF', 'Kaffeegetraenk', 'MIS');
INSERT INTO artikelkategorie VALUES ('HMI', 'H-Milch', 'MIS');
INSERT INTO artikelkategorie VALUES ('KAK', 'Kakao', 'MIS');
INSERT INTO artikelkategorie VALUES ('PIL', 'Pils', 'BIE');
INSERT INTO artikelkategorie VALUES ('APF', 'Apfelsaft', 'SAE');
INSERT INTO artikelkategorie VALUES ('ORA', 'Orangensaft', 'SAE');
INSERT INTO artikelkategorie VALUES ('KOH', 'Kohlensaeurenhaltig', 'GET');
--
-- Dumping data for table artikel
--
INSERT INTO artikel VALUES (1,'Multisaft',2.95,'SAE');
INSERT INTO artikel VALUES(2,'Bonaqua',2.95,'KOH');
INSERT INTO artikel VALUES(3,'Cola',2.95,'KOH');
INSERT INTO artikel VALUES(4,'Bordeaux',5,'ALK');
INSERT INTO artikel VALUES(5,'Pils',2.5,'ALK');
INSERT INTO artikel VALUES(6,'LatteGetraenk',2.55,'MIL');
INSERT INTO artikel VALUES(7,'Kirschsaft',2.55,'SAE');
INSERT INTO artikel VALUES(8,'Sanguis',65.95,'ALK');
--
-- Dumping data for table bestellung
--
INSERT INTO bestellung VALUES (50,6,'21.07.2016','bestaetigt','23.07.2016 15:00:00');
INSERT INTO bestellung VALUES (49,14,'21.07.2016','bestaetigt','23.07.2016 14:30:00');
INSERT INTO bestellung VALUES (48,10,'21.07.2016','bestaetigt','23.7.2016 11:30:00');
INSERT INTO bestellung VALUES (47,1,'20.07.2016','bestaetigt','24.07.2016 14:00:00');
INSERT INTO bestellung VALUES (46,4,'20.07.2016','bestaetigt','22.07.2016 12:00:00');
INSERT INTO bestellung VALUES (45,3,'20.07.2016','bestaetigt','23.07.2016 15:00:00');
INSERT INTO bestellung VALUES (44,7,'20.07.2016','bestaetigt','21.07.2016 14:00:00');
INSERT INTO bestellung VALUES (43,11,'20.07.2016','bestaetigt','25.07.2016 16:00:00');
INSERT INTO bestellung VALUES (51,12,'22.07.2016','bestellt','26.07.2016 17:00:00');
INSERT INTO bestellung VALUES (52,8,'22.07.2016','bestellt','26.07.2016 07:00:00');
INSERT INTO bestellung VALUES (53,9,'22.07.2016','bestellt','26.07.2016 11:00:00');
INSERT INTO bestellung VALUES (54,11,'23.07.2016','bestellt','01.08.2016 14:00:00');
INSERT INTO bestellung VALUES (55,5,'23.07.2016','bestaetigt','25.07.2016 12:00:00');
INSERT INTO bestellung VALUES (56,2,'23.07.2016','bestaetigt','25.07.2016 14:10:00');
INSERT INTO bestellung VALUES (57,6,'23.07.2016','bestellt','31.07.2016 14:30:00');
INSERT INTO bestellung VALUES (58,13,'24.07.2016','bestellt','02.08.2016 16:00:00');
INSERT INTO bestellung VALUES (59,7,'24.07.2016','bestellt','01.08.2016 07:00:00');
INSERT INTO bestellung VALUES (60,14,'25.07.2016','bestellt','04.08.2016 16:00:00');
INSERT INTO bestellung VALUES (61, 9, '25.07.2016', 'bestellt', '31.07.2016 14:00:00');
--
-- Dumping data for table bestellposition
--
INSERT INTO bestellposition VALUES (117,60,8,20, 65.95,0);
INSERT INTO bestellposition VALUES (116,59,3,10,2.95,0);
INSERT INTO bestellposition VALUES (115,58,2,25,2.95,0);
INSERT INTO bestellposition VALUES (114,57,8,9,65.95,0);
INSERT INTO bestellposition VALUES (113,56,7,4,2.55,0);
INSERT INTO bestellposition VALUES (112,55,5,18, 2.5,0);
INSERT INTO bestellposition VALUES (111,54,8,4,65.95,0);
INSERT INTO bestellposition VALUES (110,53,1,4,2.95,0);
INSERT INTO bestellposition VALUES (109,52,3,15,2.95,0);
INSERT INTO bestellposition VALUES (108,51,4,4,5,0);
INSERT INTO bestellposition VALUES (107,50,8,8,65.95,0);
INSERT INTO bestellposition VALUES (106,49,8,5,65.95,0);
INSERT INTO bestellposition VALUES (105,48,1,10, 2.95,0);
INSERT INTO bestellposition VALUES (104,47,8,7,65.95,0);
INSERT INTO bestellposition VALUES (103,46,2,20, 2.95,0);
INSERT INTO bestellposition VALUES (102,45,6,10, 2.55,0);
INSERT INTO bestellposition VALUES (101,44,5,12, 2.5,0);
INSERT INTO bestellposition VALUES (100,43,8,6,65.95,0);
INSERT INTO bestellposition VALUES (118, 61, 4, 4,5,0);
--
-- Dumping data for table lieferer
--
INSERT INTO lieferer VALUES (1,'Herr','Lars','Mayer');
INSERT INTO lieferer VALUES (2,'Frau','Anastasia','Mueller');
INSERT INTO lieferer VALUES (3,'Herr','Eric','Beckers');
INSERT INTO lieferer VALUES (4,'Herr','Dorian','Graie');
--
-- Dumping data for table warenkorb
--
INSERT INTO warenkorb VALUES (3,3,2);
INSERT INTO warenkorb VALUES (3,5,4);
INSERT INTO warenkorb VALUES (5,1,5);
--
-- Dumping data for table lager
--
INSERT INTO Lager VALUES (27135,'INF',1, 2);
INSERT INTO Lager VALUES (27136,'INF',2, 18);
INSERT INTO Lager VALUES (27432,'FAN',3, 0);
INSERT INTO Lager VALUES (27522,'MED',4, 1);
INSERT INTO Lager VALUES (27523,'MED',5, 3);
INSERT INTO Lager VALUES (27525,'MED',6, 5);
INSERT INTO Lager VALUES (27527,'INF',7, 3);
INSERT INTO Lager VALUES (27528,'MED',8, 5);
INSERT INTO Lieferer_has_Artikel VALUES(1,1);
INSERT INTO Lieferer_has_Artikel VALUES(2,2);
INSERT INTO Lieferer_has_Artikel VALUES(3,3);
INSERT INTO Lieferer_has_Artikel VALUES(4,4);
INSERT INTO Lieferer_has_Artikel VALUES(4,8);
COMMIT;

View File

@@ -0,0 +1,36 @@
describeINSERT INTO test VALUE kunde;
DROP TABLE test;
CREATE TABLE test(
id INTEGER Primary key,
begruessung CHAR(20)
);
describe test;
INSERT INTO test VALUES (1, 'Hallo ');
SELECT * FROM test;1
S (2, 'Du da ');
SELECT * FROM test;
UPDATE test
SET begruessung = 'Sehr geehrte'
WHERE Id=2;
Select * from test;
ALTER TABLE test
modify begruessung CHAR(30);
describe test;
UPDATE test
SET begruessung = 'Sehr geehrte Damen und Herren'
WHERE Id=2;
SELECT * FROM test;
DELETE FROM test
WHERE Id=1;
SELECT * FROM test;
-- -----------------------------------
DROP TABLE test;
CREATE TABLE test(
id INTEGER Primary key,
begruessung CHAR(20) NOT NULL
);
INSERT INTO test (id) VALUES (1);
INSERT INTO test (id, begruessung) VALUES (1, NULL);
INSERT INTO test VALUES (1, NULL);
INSERT INTO test ( begruessung, id) VALUES ('hallo', 1);
select * from test

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.