Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 13.85 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 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