· 4 years ago · Dec 12, 2020, 04:00 PM
1
2CREATE DATABASE IF NOT EXISTS farma DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
3USE farma;
4
5
6CREATE TABLE Dostawca(
7 id_dostawcy INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
8 nazwa VARCHAR(50) NOT NULL,
9 NIP INT NOT NULL,
10 kraj VARCHAR(50) NOT NULL,
11 adres VARCHAR(100) NOT NULL
12);
13CREATE TABLE Surowiec(
14 id_surowca INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
15 nazwa VARCHAR(50) NOT NULL,
16 id_dostawcy INT, FOREIGN KEY (id_dostawcy) REFERENCES Dostawca(id_dostawcy),
17 pozycja_na_magazynie INT,
18 data_przydatności DATE NOT NULL
19);
20CREATE TABLE Dostawa(
21 id_dostawy INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
22 data_dostawy DATE NOT NULL,
23 id_dostawcy INT NOT NULL, FOREIGN KEY (id_dostawcy) REFERENCES Dostawca(id_dostawcy),
24 id_surowca INT NOT NULL, FOREIGN KEY (id_surowca) REFERENCES Surowiec(id_surowca),
25 ilosc INT DEFAULT '0',
26 nr_serii INT NOT NULL
27);
28CREATE TABLE Faktura_firma(
29 id_faktury INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
30 nr_faktury VARCHAR(20) NOT NULL,
31 id_dostawy INT NOT NULL, FOREIGN KEY (id_dostawy) REFERENCES Dostawa(id_dostawy)
32);
33CREATE TABLE Firma(
34 NIP INT PRIMARY KEY NOT NULL,
35 nazwa VARCHAR(40) NOT NULL,
36 adres VARCHAR(100) NOT NULL,
37 miasto VARCHAR(50) NOT NULL,
38 kod_pocztowy VARCHAR(10) NOT NULL,
39 regon INT NOT NULL,
40 data_zalozenia DATE NOT NULL
41);
42CREATE TABLE Lek(
43 id_leku INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
44 nazwa VARCHAR(40) NOT NULL,
45 gramatura INT NOT NULL
46);
47CREATE TABLE Oferta(
48 id_oferty INT NOT NULL PRIMARY KEY,
49 id_leku INT NOT NULL, FOREIGN KEY (id_leku) REFERENCES Lek(id_leku),
50 cena DOUBLE NOT NULL DEFAULT '0'
51);
52CREATE TABLE Koszyk(
53 id_koszyka INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
54 id_oferty INT, FOREIGN KEY (id_oferty) REFERENCES Oferta(id_oferty),
55 ilosc INT DEFAULT '0',
56 koszt DOUBLE DEFAULT '0'
57);
58CREATE TABLE Osoba(
59 id_osoby INT PRIMARY KEY NOT NULL,
60 imie VARCHAR(20) NOT NULL,
61 nazwisko VARCHAR(30) NOT NULL,
62 e_mail VARCHAR(30),
63 nr_tel INT,
64 pesel INT
65);
66CREATE TABLE Pracownik(
67 idpracownika INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
68 id_osoby INT NOT NULL, FOREIGN KEY (id_osoby) REFERENCES Osoba(id_osoby),
69 wynagrodzenie INT NOT NULL DEFAULT '0',
70 stanowisko VARCHAR(30) NOT NULL
71);
72CREATE TABLE Klient(
73 id_klienta INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
74 id_osoby INT NOT NULL, FOREIGN KEY (id_osoby) REFERENCES Osoba(id_osoby),
75 NIP INT
76);
77CREATE TABLE Zamowienie(
78 id_zamowienia INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
79 id_klienta INT NOT NULL, FOREIGN KEY (id_klienta) REFERENCES Klient(id_klienta),
80 id_koszyka INT NOT NULL, FOREIGN KEY (id_koszyka) REFERENCES Koszyk(id_koszyka),
81 waga DOUBLE NOT NULL DEFAULT '0',
82 data_zlozenia DATE NOT NULL,
83 data_realizacji DATE,
84 stan INT DEFAULT '0'
85);
86CREATE TABLE Faktura_klient(
87 id_faktury INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
88 nr_faktury VARCHAR(20) NOT NULL,
89 id_klienta INT NOT NULL, FOREIGN KEY (id_klienta) REFERENCES Klient(id_klienta),
90 id_zamowienia INT NOT NULL, FOREIGN KEY (id_zamowienia) REFERENCES Zamowienie(id_zamowienia)
91);
92
93DROP DATABASE farma;