· 5 years ago · May 31, 2020, 10:14 PM
1CREATE DATABASE IF NOT EXISTS HurtowniaDb;
2
3USE HurtowniaDb;
4
5CREATE TABLE Kategoria (
6 id INT NOT NULL AUTO_INCREMENT, -- można tu czy dopiero potem w alterach(???)
7 nazwa VARCHAR(60) NOT NULL DEFAULT "Samochodowe",
8 PRIMARY KEY(id)
9);
10
11CREATE TABLE Produkt (
12 id INT NOT NULL AUTO_INCREMENT,
13 -- dostawcy id trzeba dorobić żeby to jakoś wyglądało
14 id_kategorii INT NOT NULL,
15 ilosc INT DEFAULT 0,
16 cena DECIMAL DEFAULT 0,
17 nazwa VARCHAR(50) NOT NULL,
18 PRIMARY KEY(id),
19 FOREIGN KEY(id_kategorii) REFERENCES Kategoria(id) ON UPDATE CASCADE ON DELETE RESTRICT
20);
21
22CREATE TABLE Lokalizacja (
23 id INT NOT NULL AUTO_INCREMENT,
24 id_kategorii INT NOT NULL,
25 nazwa VARCHAR(30),
26 PRIMARY KEY(id),
27 FOREIGN KEY(id_kategorii) REFERENCES Kategoria(id) ON UPDATE CASCADE ON DELETE RESTRICT
28);
29
30CREATE TABLE Dostawca(
31 id INT NOT NULL AUTO_INCREMENT,
32 nazwa VARCHAR(70) NOT NULL,
33 adres VARCHAR(70),
34 nr_telefonu INT NOT NULL,
35 PRIMARY KEY(id)
36);
37
38CREATE TABLE Klient(
39 id INT NOT NULL AUTO_INCREMENT,
40 nazwa VARCHAR(70) NOT NULL,
41 nr_telefonu INT NOT NULL,
42 imie VARCHAR(50),
43 nazwisko VARCHAR(50),
44 PRIMARY KEY(id)
45);
46
47CREATE TABLE Pozycja(
48 id INT NOT NULL AUTO_INCREMENT,
49 pozycja VARCHAR(50),
50 PRIMARY KEY(id)
51);
52
53CREATE TABLE Pracownik(
54 id INT NOT NULL AUTO_INCREMENT,
55 id_pozycji INT NOT NULL,
56 pensja DECIMAL NOT NULL,
57 imie VARCHAR(50),
58 nazwisko VARCHAR(50),
59 PRIMARY KEY(id),
60 FOREIGN KEY(id_pozycji) REFERENCES Pozycja(id) ON UPDATE CASCADE ON DELETE RESTRICT
61);
62
63CREATE TABLE Zamowienie(
64 id INT NOT NULL AUTO_INCREMENT,
65 id_dostawcy INT NOT NULL,
66 id_produktu INT NOT NULL,
67 id_klienta INT NOT NULL,
68 id_pracownika INT NOT NULL,
69 ilosc INT NOT NULL DEFAULT 0,
70 cena DECIMAL DEFAULT 0,
71 data DATETIME,
72 status VARCHAR(50) NOT NULL DEFAULT "in progress",
73 FOREIGN KEY(id_dostawcy) REFERENCES Dostawca(id) ON UPDATE CASCADE ON DELETE RESTRICT,
74 FOREIGN KEY(id_produktu) REFERENCES Produkt(id) ON UPDATE CASCADE ON DELETE RESTRICT,
75 FOREIGN KEY(id_klienta) REFERENCES Klient(id) ON UPDATE CASCADE ON DELETE RESTRICT,
76 FOREIGN KEY(id_pracownika) REFERENCES Pracownik(id) ON UPDATE CASCADE ON DELETE RESTRICT,
77 PRIMARY KEY(id)
78);