Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.90 KB | None | 0 0
  1.  
  2. -- ________________TWORZENIE TABEL___________________
  3. CREATE TABLE IF NOT EXISTS `Adresy_klienci` (
  4. `ID_Klienta` INT(20) NOT NULL AUTO_INCREMENT,
  5. `Ulica` CHAR(20) DEFAULT NULL,
  6. `Miasto` CHAR(20) DEFAULT NULL,
  7. `Kod_pocztowy` CHAR(20) DEFAULT NULL,
  8. `Kraj` CHAR(20) DEFAULT NULL,
  9. `Wojewodztwo` CHAR(20) DEFAULT NULL,
  10. `Pole_dodatkowe` CHAR(20) DEFAULT NULL,
  11. PRIMARY KEY (`ID_Klienta`)
  12. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  13. -- --------------------------------------------------------
  14. CREATE TABLE IF NOT EXISTS `Adresy_pracownikow` (
  15. `ID_pracownika` INT(20) NOT NULL AUTO_INCREMENT,
  16. `Ulica` CHAR(20) DEFAULT NULL,
  17. `Miasto` CHAR(20) DEFAULT NULL,
  18. `Kod_pocztowy` CHAR(20) DEFAULT NULL,
  19. `Kraj` CHAR(20) DEFAULT NULL,
  20. `Wojewodztwo` CHAR(20) DEFAULT NULL,
  21. `Pole_dodatkowe` CHAR(20) DEFAULT NULL,
  22. PRIMARY KEY (`ID_Pracownika`)
  23. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  24. -- --------------------------------------------------------
  25. CREATE TABLE IF NOT EXISTS `Aktualne_zamowienia` (
  26. `ID_aktualnego_zamowienia` INT(20) NOT NULL AUTO_INCREMENT,
  27. `ID_statusu_zamowienia` INT(20) NOT NULL,
  28. `ID_Klienta` INT(20) NOT NULL,
  29. `ID_Dostawy` INT(20) NOT NULL,
  30. PRIMARY KEY (`ID_aktualnego_zamowienia`),
  31. KEY `ID_statusu_zamowienia` (`ID_statusu_zamowienia`),
  32. KEY `ID_Klienta` (`ID_Klienta`),
  33. KEY `ID_Dostawy` (`ID_Dostawy`)
  34. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  35. -- --------------------------------------------------------
  36. CREATE TABLE IF NOT EXISTS `Aktualne_zamowienia_produkty` (
  37. `ID_aktualnego_zamowienia` INT(20) NOT NULL AUTO_INCREMENT,
  38. `ID_produktu` INT(20) NOT NULL,
  39. PRIMARY KEY (`ID_aktualnego_zamowienia` , `ID_produktu`),
  40. KEY `ID_produktu` (`ID_produktu`)
  41. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  42. -- --------------------------------------------------------
  43. CREATE TABLE IF NOT EXISTS `Dostawa` (
  44. `ID_Dostawy` INT(20) NOT NULL AUTO_INCREMENT,
  45. `ID_pracownika` INT(20) NOT NULL,
  46. `Data_zamowienia` CHAR(20) DEFAULT NULL,
  47. `Dodatkowe_dane_zamowienia` CHAR(20) DEFAULT NULL,
  48. `ID_Status_dostawy` INT(20) NOT NULL,
  49. `ID_Platnosci` INT(20) NOT NULL,
  50. PRIMARY KEY (`ID_Dostawy`),
  51. KEY `ID_pracownika` (`ID_pracownika`),
  52. KEY `ID_Status_dostawy` (`ID_Status_dostawy`),
  53. KEY `ID_Platnosci` (`ID_Platnosci`)
  54. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  55. -- --------------------------------------------------------
  56. CREATE TABLE IF NOT EXISTS `Dostawcy` (
  57. `ID_Dostawcy` INT(20) NOT NULL AUTO_INCREMENT,
  58. `Informacje_o_dostawcy` CHAR(20) NOT NULL,
  59. PRIMARY KEY (`ID_Dostawcy`)
  60. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  61. -- --------------------------------------------------------
  62. CREATE TABLE IF NOT EXISTS `Kategorie` (
  63. `ID_Kategorii` INT(20) NOT NULL AUTO_INCREMENT,
  64. `nazwa` CHAR(20) DEFAULT NULL,
  65. PRIMARY KEY (`ID_Kategorii`)
  66. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  67. -- --------------------------------------------------------
  68. CREATE TABLE IF NOT EXISTS `Klienci` (
  69. `ID_Klienta` INT(20) NOT NULL AUTO_INCREMENT,
  70. `Imie` CHAR(20) DEFAULT NULL,
  71. `Nazwisko` CHAR(20) DEFAULT NULL,
  72. `telefon` CHAR(20) DEFAULT NULL,
  73. `adres_mail` CHAR(20) DEFAULT NULL,
  74. PRIMARY KEY (`ID_Klienta`)
  75. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  76. -- --------------------------------------------------------
  77. CREATE TABLE IF NOT EXISTS `Pracownicy` (
  78. `ID_pracownika` INT(20) NOT NULL AUTO_INCREMENT,
  79. `Imie` CHAR(20) DEFAULT NULL,
  80. `Nazwisko` CHAR(20) DEFAULT NULL,
  81. `Stanowisko` CHAR(20) DEFAULT NULL,
  82. PRIMARY KEY (`ID_pracownika`)
  83. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  84. -- --------------------------------------------------------
  85. CREATE TABLE IF NOT EXISTS `Produkty` (
  86. `ID_produktu` INT(20) NOT NULL AUTO_INCREMENT,
  87. `ID_Dostawcy` INT(20) NOT NULL,
  88. `nazwa_produktu` CHAR(20) DEFAULT NULL,
  89. `opis_produktu` CHAR(20) DEFAULT NULL,
  90. `cena_produktu` CHAR(20) DEFAULT NULL,
  91. `ID_Kategorii` INT(20) NOT NULL,
  92. PRIMARY KEY (`ID_produktu`),
  93. KEY `ID_Dostawcy` (`ID_Dostawcy`),
  94. KEY `ID_Kategorii` (`ID_Kategorii`)
  95. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  96. -- --------------------------------------------------------
  97. CREATE TABLE IF NOT EXISTS `Sposob_platnosci` (
  98. `ID_Platnosci` INT(20) NOT NULL AUTO_INCREMENT,
  99. `opis_platnosci` CHAR(20) DEFAULT NULL,
  100. PRIMARY KEY (`ID_Platnosci`)
  101. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  102. -- --------------------------------------------------------
  103. CREATE TABLE IF NOT EXISTS `Stale_zamowienia` (
  104. `ID_zamowienia` INT(20) NOT NULL AUTO_INCREMENT,
  105. `ID_Klienta` INT(20) NOT NULL,
  106. `ID_Dostawy` INT(20) NOT NULL,
  107. `ID_statusu_zamowienia` INT(20) NOT NULL,
  108. PRIMARY KEY (`ID_zamowienia`),
  109. KEY `ID_Klienta` (`ID_Klienta`),
  110. KEY `ID_Dostawy` (`ID_Dostawy`),
  111. KEY `ID_statusu_zamowienia` (`ID_statusu_zamowienia`)
  112. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  113. -- --------------------------------------------------------
  114. CREATE TABLE IF NOT EXISTS `Stale_zamowienia_produkty` (
  115. `ID_produktu` INT(20) NOT NULL AUTO_INCREMENT,
  116. `ID_zamowienia` INT(20) NOT NULL,
  117. PRIMARY KEY (`ID_produktu` , `ID_zamowienia`),
  118. KEY `ID_zamowienia` (`ID_zamowienia`)
  119. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  120. -- --------------------------------------------------------
  121. CREATE TABLE IF NOT EXISTS `Status_dostawy` (
  122. `ID_Status_dostawy` INT(20) NOT NULL AUTO_INCREMENT,
  123. `Opis_statusu` CHAR(30) DEFAULT NULL,
  124. PRIMARY KEY (`ID_Status_dostawy`)
  125. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  126. -- --------------------------------------------------------
  127. CREATE TABLE IF NOT EXISTS `Status_zamowienia` (
  128. `ID_statusu_zamowienia` INT(20) NOT NULL AUTO_INCREMENT,
  129. `opis_statusu_zamowienia` CHAR(20) DEFAULT NULL,
  130. PRIMARY KEY (`ID_statusu_zamowienia`)
  131. ) ENGINE=INNODB DEFAULT CHARSET=LATIN1 AUTO_INCREMENT=1;
  132.  
  133.  
  134. -- ______________UZUPEŁNIANIE TABEL_____________________
  135.  
  136. INSERT INTO Klienci (
  137. Imie, Nazwisko, Telefon, adres_mail) VALUES
  138. ('Daniel','Danielski','123412345','daniel.dan@do.pl'),
  139. ('Michal', 'Michalski','8945614', 'mmichal@gm.pl'),
  140. ('Rafal', 'Rafalski', '753984566', 'rRafal@rr.pl'),
  141. ('Rafal', 'NIERafalski', '733984566', 'rNRafal@rr.pl');
  142.  
  143. INSERT INTO Adresy_klienci (
  144. Ulica, Miasto, Kod_pocztowy, Kraj, Wojewodztwo, Pole_dodatkowe ) VALUES
  145. ('Krakowska', 'Krakow', '37-859', 'Polska', 'Malopolskie', NULL),
  146. ('Warszawska', 'Warszawa', '87-477', 'Polska','Pomorskie', NULL),
  147. ('Poznanska', 'Poznan', '78-895', 'Polska','Wielkopolskie', NULL);
  148.  
  149. INSERT INTO Adresy_pracownikow (
  150. Ulica, Miasto, Kod_pocztowy, Kraj, Wojewodztwo, Pole_dodatkowe ) VALUES
  151. ('Warszawska', 'KrakĂłw', '31-831', 'Polska', 'Malopolskie', 'heheszki'),
  152. ('Krakowska', 'KrakĂłw', '31-812', 'Polska', 'Malopolskie', 'n/c');
  153.  
  154. INSERT INTO Pracownicy (
  155. Imie, Nazwisko, Stanowisko ) VALUES
  156. ('Daniel', 'Ziajka', 'Leniwy Szefu'),
  157. ('Michal', 'Pyz', 'Zlota raczka');
  158.  
  159. INSERT INTO Produkty (
  160. nazwa_produktu,opis_produktu,cena_produktu,ID_Kategorii,ID_Dostawcy) VALUES
  161. ('Sekator', 'Tnie krzaki', 100, 1, 1),
  162. ('Dzika roza','Pieknie rosnie', 14, 2, 1),
  163. ('Lopata', 'Super kopie', 50, 3, 2);
  164.  
  165. INSERT INTO Status_dostawy (Opis_statusu) VALUES
  166. ('Oczekiwanie na zaladunek'),('W drodze'),('Dostarczono');
  167.  
  168. INSERT INTO Status_zamowienia (opis_statusu_zamowienia) VALUES
  169. ('Zlozone'),('W kompletacji'),('Skompletowane');
  170.  
  171. INSERT INTO Dostawcy (Informacje_o_dostawcy) VALUES
  172. ('Plantrix S.O.'),('Gandzix Sp.Z.O.O.');
  173.  
  174. INSERT INTO Sposob_platnosci (opis_platnosci) VALUES
  175. ('Karta platnicza'),('Przelew'),('PayPal'),('Gotowka');
  176.  
  177. INSERT INTO Kategorie (nazwa) VALUES
  178. ('Narzedzia'),('Sadzonki'),('Nawozy');
  179.  
  180. INSERT INTO Dostawa (Data_zamowienia,Dodatkowe_dane_zamowienia,ID_pracownika,ID_Platnosci,ID_Status_dostawy) VALUES
  181. ('2015-06-05','nie',1,1,2),
  182. ('2015-05-05','przesylka kurierska',2,2,1),
  183. ('2015-05-05','przesylka kurierska',1,3,3);
  184.  
  185. INSERT INTO Aktualne_zamowienia (ID_statusu_zamowienia,ID_Klienta,ID_dostawy) VALUES
  186. (3, 1, 1),(2, 3, 2),(1, 1, 3);
  187.  
  188. INSERT INTO Stale_zamowienia (ID_statusu_zamowienia,ID_Klienta,ID_dostawy) VALUES
  189. (1, 2, 2),(3, 1, 3),(2, 3, 2);
  190.  
  191. INSERT INTO Aktualne_zamowienia_produkty (ID_aktualnego_zamowienia,ID_produktu) VALUES
  192. (1,1),(2,2),(3,3);
  193.  
  194. INSERT INTO Stale_zamowienia_produkty(ID_zamowienia,ID_produktu) VALUES
  195. (1,2),(2,1),(3,3);
  196.  
  197.  
  198.  
  199. -- _________________________REALACJE_________________________
  200.  
  201. ALTER TABLE `Adresy_klienci`
  202. ADD CONSTRAINT `Adresy_klienci_ibfk_1` FOREIGN KEY (`ID_Klienta`) REFERENCES `Klienci` (`ID_Klienta`) ON DELETE CASCADE ON UPDATE CASCADE;
  203.  
  204. ALTER TABLE `Adresy_pracownikow`
  205. ADD CONSTRAINT `Adresy_pracownikow_ibfk_1` FOREIGN KEY (`ID_pracownika`) REFERENCES `Pracownicy` (`ID_pracownika`) ON DELETE CASCADE ON UPDATE CASCADE;
  206.  
  207. ALTER TABLE `Aktualne_zamowienia`
  208. ADD CONSTRAINT `Aktualne_zamowienia_ibfk_4` FOREIGN KEY (`ID_Dostawy`) REFERENCES `Dostawa` (`ID_Dostawy`) ON DELETE CASCADE ON UPDATE CASCADE,
  209. ADD CONSTRAINT `Aktualne_zamowienia_ibfk_1` FOREIGN KEY (`ID_aktualnego_zamowienia`) REFERENCES `Aktualne_zamowienia_produkty` (`ID_aktualnego_zamowienia`) ON DELETE CASCADE ON UPDATE CASCADE,
  210. ADD CONSTRAINT `Aktualne_zamowienia_ibfk_2` FOREIGN KEY (`ID_statusu_zamowienia`) REFERENCES `Status_zamowienia` (`ID_statusu_zamowienia`) ON DELETE CASCADE ON UPDATE CASCADE,
  211. ADD CONSTRAINT `Aktualne_zamowienia_ibfk_3` FOREIGN KEY (`ID_Klienta`) REFERENCES `Klienci` (`ID_Klienta`) ON DELETE CASCADE ON UPDATE CASCADE;
  212.  
  213. ALTER TABLE `Aktualne_zamowienia_produkty`
  214. ADD CONSTRAINT `Aktualne_zamowienia_produkty_ibfk_2` FOREIGN KEY (`ID_produktu`) REFERENCES `Produkty` (`ID_produktu`) ON DELETE CASCADE ON UPDATE CASCADE,
  215. ADD CONSTRAINT `Aktualne_zamowienia_produkty_ibfk_1` FOREIGN KEY (`ID_aktualnego_zamowienia`) REFERENCES `Aktualne_zamowienia` (`ID_aktualnego_zamowienia`) ON DELETE CASCADE ON UPDATE CASCADE;
  216.  
  217. ALTER TABLE `Dostawa`
  218. ADD CONSTRAINT `Dostawa_ibfk_4` FOREIGN KEY (`ID_Status_dostawy`) REFERENCES `Status_dostawy` (`ID_Status_dostawy`) ON DELETE CASCADE ON UPDATE CASCADE,
  219. ADD CONSTRAINT `Dostawa_ibfk_1` FOREIGN KEY (`ID_Dostawy`) REFERENCES `Aktualne_zamowienia` (`ID_Dostawy`) ON DELETE CASCADE ON UPDATE CASCADE,
  220. ADD CONSTRAINT `Dostawa_ibfk_2` FOREIGN KEY (`ID_pracownika`) REFERENCES `Pracownicy` (`ID_pracownika`),
  221. ADD CONSTRAINT `Dostawa_ibfk_3` FOREIGN KEY (`ID_Platnosci`) REFERENCES `Sposob_platnosci` (`ID_Platnosci`); -- ON DELETE CASCADE ON UPDATE CASCADE;
  222.  
  223. ALTER TABLE `Dostawcy`
  224. ADD CONSTRAINT `Dostawcy_ibfk_1` FOREIGN KEY (`ID_Dostawcy`) REFERENCES `Produkty` (`ID_Dostawcy`) ON DELETE CASCADE ON UPDATE CASCADE;
  225.  
  226. ALTER TABLE `Pracownicy`
  227. ADD CONSTRAINT `Pracownicy_ibfk_1` FOREIGN KEY (`ID_pracownika`) REFERENCES `Adresy_pracownikow` (`ID_pracownika`) ON DELETE CASCADE ON UPDATE CASCADE;
  228.  
  229. ALTER TABLE `Produkty`
  230. ADD CONSTRAINT `Produkty_ibfk_2` FOREIGN KEY (`ID_Kategorii`) REFERENCES `Kategorie` (`ID_Kategorii`),
  231. ADD CONSTRAINT `Produkty_ibfk_1` FOREIGN KEY (`ID_Dostawcy`) REFERENCES `Dostawcy` (`ID_Dostawcy`);
  232.  
  233. ALTER TABLE `Stale_zamowienia`
  234. ADD CONSTRAINT `Stale_zamowienia_ibfk_4` FOREIGN KEY (`ID_statusu_zamowienia`) REFERENCES `Status_zamowienia` (`ID_statusu_zamowienia`) ON DELETE CASCADE ON UPDATE CASCADE,
  235. ADD CONSTRAINT `Stale_zamowienia_ibfk_1` FOREIGN KEY (`ID_zamowienia`) REFERENCES `Stale_zamowienia_produkty` (`ID_zamowienia`) ON DELETE CASCADE ON UPDATE CASCADE,
  236. ADD CONSTRAINT `Stale_zamowienia_ibfk_2` FOREIGN KEY (`ID_Klienta`) REFERENCES `Klienci` (`ID_Klienta`) ON DELETE CASCADE ON UPDATE CASCADE,
  237. ADD CONSTRAINT `Stale_zamowienia_ibfk_3` FOREIGN KEY (`ID_Dostawy`) REFERENCES `Dostawa` (`ID_Dostawy`) ON DELETE CASCADE ON UPDATE CASCADE;
  238.  
  239. ALTER TABLE `Stale_zamowienia_produkty`
  240. ADD CONSTRAINT `Stale_zamowienia_produkty_ibfk_2` FOREIGN KEY (`ID_zamowienia`) REFERENCES `Stale_zamowienia` (`ID_zamowienia`) ON DELETE CASCADE ON UPDATE CASCADE,
  241. ADD CONSTRAINT `Stale_zamowienia_produkty_ibfk_1` FOREIGN KEY (`ID_produktu`) REFERENCES `Produkty` (`ID_produktu`) ON DELETE CASCADE ON UPDATE CASCADE;
  242.  
  243.  
  244.  
  245.  
  246. -- ___________________________SZUKAJCIE_A_ZNAJDZIECIE___________________________
  247.  
  248.  
  249. SELECT * FROM Klienci WHERE (Imie = 'Rafal');
  250. SELECT * FROM Produkty WHERE (ID_produktu = '2');
  251. SELECT * FROM Pracownicy WHERE(Stanowisko = 'Zlota raczka');
  252. SELECT * FROM Klienci ORDER BY ID_Klienta ASC;
  253. SELECT * FROM Klienci ORDER BY ID_Klienta DESC;
  254. SELECT * FROM Pracownicy ORDER BY ID_pracownika ASC;
  255. SELECT * FROM Pracownicy ORDER BY ID_pracownika DESC;
  256.  
  257. SELECT * FROM Kategorie WHERE (ID_Kategorii > 1);
  258.  
  259.  
  260.  
  261.  
  262. SELECT Aktualne_zamowienia.ID_Klienta, Klienci.ID_Klienta FROM Aktualne_zamowienia JOIN Klienci WHERE (ID_Klienta = '1');
  263. SELECT Stale_zamowienia_produkty.ID_produktu, Aktualne_zamowienia_produkty.ID_produktu WHERE (Stale_zamowienia_produkty.ID_produktu = Aktualne_zamowienia_produkty.ID_produktu);
  264. SELECT imie, nazwisko, Pracownicy.ID_pracownika, Adresy_pracownikow.ID_pracownika, Adresy_pracownikow.Miasto FROM Pracownicy JOIN Adresy_pracownikow ON Pracownicy.ID_pracownika = Adresy_pracownikow.ID_pracownika;
  265. SELECT nazwa_produktu, opis_produktu, Produkty.ID_produktu, Produkty.ID_Kategorii, Kategorie.ID_Kategorii, nazwa FROM Produkty JOIN Kategorie ON Produkty.ID_Kategorii = Kategorie.ID_Kategorii;
  266. SELECT ID_aktualnego_zamowienia, ID_Klienta, Imie, Nazwisko FROM Aktualne_zamowienia WHERE (Aktualne_zamowienia.ID_Klienta = Klienci.ID_Klienta);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement