Advertisement
exnon

sql db schultz

Jan 3rd, 2020
557
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 7.88 KB | None | 0 0
  1. drop table liefert;
  2. drop table Lieferant;
  3. drop table Bewertung;
  4. drop table besteht;
  5. drop table Artikel;
  6. drop table Bestellung;
  7. drop table Kreditkarte;
  8. drop table Lastschrift;
  9. drop table Zahlungsmittel;
  10. drop table supportet;
  11. drop table Telefonnummern;
  12. drop table Mitarbeiter;
  13. drop table Kunde;
  14.  
  15. create table Kunde(
  16. Kundennummer NUMBER NOT NULL,
  17. name VARCHAR(45) NULL,
  18. GEBURTSDATUM VARCHAR(45) NULL,
  19. email varchar(45) null,
  20. primary key (Kundennummer)
  21. );
  22. CREATE TABLE Mitarbeiter(
  23. Mitarbeiterid NUMBER NOT NULL,
  24. Name VARCHAR(45) NULL,
  25. Geburtsdatum VARCHAR(8) Null,
  26. PRIMARY KEY (Mitarbeiterid)
  27. );
  28. create table Telefonnummern(
  29. Mobilfunknummer NUMBER NULL,
  30. privatnummer NUMBER NULL,
  31. Diensthandy NUMBER NOT NULL,
  32. Mitarbeiterid NUMBER NOT NULL,
  33. PRIMARY KEY (Diensthandy,Mitarbeiterid),
  34. FOREIGN KEY(Mitarbeiterid) REFERENCES Mitarbeiter
  35. );
  36. create table supportet(
  37. Mitarbeiterid number not null,
  38. Kundennummer number not null,
  39. foreign Key (Mitarbeiterid) references Mitarbeiter,
  40. foreign key (Kundennummer) REFERENCES Kunde,
  41. primary key(Mitarbeiterid, Kundennummer)
  42. );
  43. create table Zahlungsmittel(
  44. ZahlungsmittelID number not null primary key,
  45. Kundennummer number not null,
  46. foreign key(Kundennummer) REFERENCES Kunde
  47. );
  48. create table Lastschrift(
  49. ZahlungsmittelID number not null primary key,
  50. BLZ int not null,
  51. Kontonummer int not null,
  52. foreign key(ZahlungsmittelID)REFERENCES Zahlungsmittel
  53. );
  54. create table Kreditkarte (
  55. ZahlungsmittelID number not null primary key,
  56. Kreditkartenummer number not null,
  57. Ablaufjahr int not null,
  58. foreign key (ZahlungsmittelID) REFERENCES Zahlungsmittel
  59. );
  60. create table Bestellung(
  61. BestellID int not null primary key,
  62. anzahl int null,
  63. Datum VARCHAR(12) null,
  64. Kundennummer int not null,
  65. ZahlungsmittelID int not null,
  66. foreign key(Kundennummer) REFERENCES Kunde,
  67. foreign key(ZahlungsmittelID) REFERENCES Zahlungsmittel
  68. );
  69. create table Artikel(
  70. ISBN int not null primary key,
  71. Preis int constraint Valider_Preis check (preis > 0 and Preis < 1000),
  72. Lagerposition int null,
  73. Text varchar(256) null,
  74. Bild varchar(256) null
  75. );
  76. create table besteht(
  77. BestellID int not null,
  78. ISBN int not null,
  79. Menge int null,
  80. primary key(BestellID, ISBN),
  81. foreign key (BestellID) REFERENCES Bestellung,
  82. foreign key (ISBN) REFERENCES Artikel
  83. );
  84. create table Bewertung (
  85. Kundennummer int not null,
  86. BewertungsID int not null,
  87. ISBN int not null,
  88. Note int null,
  89. Kommentar varchar(256) null,
  90. primary key (Kundennummer, BewertungsID),
  91. foreign key (Kundennummer) REFERENCES Kunde,
  92. foreign key (ISBN) REFERENCES Artikel,
  93. constraint IsbnKunde_Unique unique(Kundennummer, ISBN)
  94. );
  95. Create table Lieferant(
  96. lieferantenID int not null primary key
  97. );
  98.  
  99. create table liefert(
  100. ISBN int not null,
  101. lieferantenID int not null,
  102. foreign key(ISBN) REFERENCES Artikel,
  103. foreign key(LieferantenID) REFERENCES Lieferant,
  104. primary key (ISBN, lieferantenID)
  105. );
  106.  
  107. --_______________________________________________________________//Insert Artikel
  108. insert into artikel (ISBN, Preis, Lagerposition, Text, Bild)
  109. values (12345, 20, 0, 'blabla', 'ASCII_FUU');
  110.  
  111.  
  112. insert into artikel (ISBN, Preis, Lagerposition, Text, Bild)
  113. values (0, 19, 1, 'blabla1', 'ASCII_FUU1');
  114.  
  115. insert into artikel (ISBN, Preis, Lagerposition, Text, Bild)
  116. values (1, 18, 2, 'blabla2', 'ASCII_FUU2');
  117.  
  118. insert into artikel (ISBN, Preis, Lagerposition, Text, Bild)
  119. values (2, 17, 3, 'blabla3', 'ASCII_FUU3');
  120.  
  121. insert into artikel (ISBN, Preis, Lagerposition, Text, Bild)
  122. values (3, 16, 4, 'blabla4', 'ASCII_FUU4');
  123. --__________________________________________________________//Insert Kunde
  124.  
  125. insert into Kunde (Kundennummer, Name, Geburtsdatum, email)
  126. values (0, 'Kaniwar', '01.01.2019', 'kaniwar@haw.de');
  127.  
  128. insert into Kunde (Kundennummer, Name, Geburtsdatum, email)
  129. values (1, 'Albert', '02.01.2019', 'Albert@haw.de');
  130.  
  131. insert into Kunde (Kundennummer, Name, Geburtsdatum, email)
  132. values (2, 'Sami', '03.01.2019', 'Sami@haw.de');
  133.  
  134. insert into Kunde (Kundennummer, Name, Geburtsdatum, email)
  135. values (3, 'Herberto', '04.01.2019', 'Herberto@haw.de');
  136. --___________________________________________________________//Insert Zahlungsmittel
  137.  
  138. insert into Zahlungsmittel(ZahlungsmittelID, Kundennummer)
  139. values (0, 0);
  140. insert into Zahlungsmittel
  141. values (1,1);
  142.  
  143. insert into Zahlungsmittel
  144. values (2,2);
  145. --_____________________________________//Insert Bestellung
  146.  
  147. insert into Bestellung (BestellID, anzahl, Datum, Kundennummer,ZahlungsmittelID)
  148. values (0, 1, '01.11.19', 0, 0);
  149. insert into Bestellung (BestellID, anzahl, Datum, Kundennummer,ZahlungsmittelID)
  150. values (1, 1, '01.11.19', 0, 0);
  151.  
  152. insert into Bestellung (BestellID, anzahl, Datum, Kundennummer,ZahlungsmittelID)
  153. values (2, 1, '01.11.19', 1, 1);
  154.  
  155. insert into Bestellung (BestellID, anzahl, Datum, Kundennummer,ZahlungsmittelID)
  156. values (3, 1, '01.11.19', 1, 1);
  157.  
  158. insert into Bestellung (BestellID, anzahl, Datum, Kundennummer,ZahlungsmittelID)
  159. values (4, 1, '01.11.19', 2, 2);
  160. insert into Bestellung (BestellID, anzahl, Datum, Kundennummer,ZahlungsmittelID)
  161. values (5, 1, '01.11.19', 2, 2);
  162. --________________________________________________________//besteht
  163. insert into besteht (BestellID, ISBN, Menge)
  164. values (0, 0, 2);
  165.  
  166. insert into besteht
  167. values (0,1,2);
  168.  
  169. insert into besteht (BestellID, ISBN, Menge)
  170. values (1, 0, 1);
  171.  
  172. insert into besteht
  173. values (1,1,1);
  174.  
  175. insert into besteht (BestellID, ISBN, Menge)
  176. values (2, 0, 2);
  177.  
  178. insert into besteht
  179. values (2,1,2);
  180.  
  181. insert into besteht (BestellID, ISBN, Menge)
  182. values (3, 0, 1);
  183.  
  184. insert into besteht
  185. values (3,1,1);
  186.  
  187. insert into besteht (BestellID, ISBN, Menge)
  188. values (4, 0, 1);
  189.  
  190. insert into besteht (BestellID, ISBN, Menge)
  191. values (4, 1, 1);
  192.  
  193. insert into besteht
  194. values (5,1,1);
  195.  
  196. insert into besteht
  197. values (5,0,1);
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206. Update Kunde
  207. set
  208. name = 'Müller'
  209. where name = 'Kaniwar';
  210.  
  211. Update Artikel
  212. set Preis = Preis *1.2;
  213.  
  214.  
  215.  
  216. Alter table Artikel
  217. add Preis_RBL int;
  218.  
  219. --Insert into Artikel(ISBN,Preis,Lagerposition,Text,Bild,Preis_RBL)
  220.     Select Preis * 69.13 as PREIS_RBL  from Artikel;
  221. Update Artikel
  222. set Preis = Preis *69.13; -- Updatet alle Preise zu RBL, funktioniert wegen Valider Preis Constraint (>1000) nicht.
  223.  
  224. --funktioniert
  225. Delete from Kunde
  226. where Kundennummer in (select Kundennummer from Kunde where Kundennummer NOT IN (Select Kundennummer from Bestellung));
  227.  
  228. Delete from Bewertung
  229. Delete from besteht
  230. Delete from Bestellung
  231. Delete from Kreditkarte
  232. Delete from Lastschrift
  233. Delete from Zahlungsmittel
  234. Delete from Supportet;
  235. Delete from Kunde
  236.  
  237. Delete from Kunde inner join Bewertung on Kundennummer = Kundennummer and inner join Bestellung on Kundennummer = Kundennummer
  238. and inner join Kreditkarte on Kundennummer = Kundennummer and inner join Lastschrift on Kundennummer = Kundennummer
  239. and inner join Bestellung on Kundennummer = Kundennummer and inner join Supportet on Kundennummer = Kundennummer;
  240.  
  241. delete from Kunde;
  242. Truncate table besteht
  243. Truncate table Bewertung;Truncate table Kreditkarte;Truncate table Lastschrift;Truncate table Zahlungsmittel;Truncate table Bestellung Truncate table Supportet;Truncate table Kunde;
  244. ALTER TABLE Kunde NOCHECK CONSTRAINT ALL;
  245. SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'Kunde';          
  246. SELECT
  247.  [Current LSN],    
  248.  [Transaction ID],
  249.      Operation,
  250.      Context,
  251.      AllocUnitName
  252.    
  253. FROM
  254.     fn_dblog(NULL, NULL)
  255. WHERE
  256.     Operation = 'LOP_DELETE_ROWS'
  257.    
  258.    
  259.    
  260. ALTER SESSION SET CURRENT_SCHEMA = db_schultz;
  261. --1
  262. Select pid,pname,sum(numitems) from OSPRODUCT
  263. join OSSTORED_IN using (PID)
  264. join OSSHELF using (WHID)
  265. join OSWAREHOUSE on WHID = WAREHOUSEID
  266. where warehousename = 'Einkauf'
  267. group by pid,pname order by sum(numitems) asc;
  268.  
  269. --2
  270. Select warehouseid,warehousename,sid,shelfdescription,
  271. sum(numitems) from OSWAREHOUSE
  272. join OSSHELF on WHID=WAREHOUSEID
  273. join OSSTORED_IN using (WHID,SID)
  274. group by warehouseid,warehousename,sid,shelfdescription
  275. order by sum(numitems) desc;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement