· 8 years ago · Feb 22, 2018, 07:34 AM
1DROP TABLE IF EXISTS producent;
2DROP TABLE IF EXISTS kategoria_oprogramowania;
3
4CREATE TABLE producent
5(
6 id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
7 nazwa VARCHAR(50) NOT NULL,
8 typ ENUM('non-profit','komercyjny') NOT NULL
9
10)
11ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_polish_ci;
12
13CREATE TABLE kategoria_oprogramowania
14(
15 id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
16 nazwa VARCHAR(50) NOT NULL,
17 opis VARCHAR(300) NULL
18)
19ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_polish_ci;
20
21
22
23
24DROP TABLE IF EXISTS oprogramowanie;
25CREATE TABLE oprogramowanie
26( id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
27 id_odpowiednik_komercyjny BIGINT UNSIGNED NULL,
28 id_kategoria_oprogramowania BIGINT UNSIGNED NOT NULL,
29 id_producent BIGINT UNSIGNED NOT NULL,
30 nazwa VARCHAR(50) NOT NULL UNIQUE,
31 minimalne_wymagania VARCHAR(150) NULL,
32 licencja ENUM('Abandonware', 'Adware','Apache License','Beerware','CDDL','CPL','Donationware','Freeware','GNU GPL','GNU LGPL','Postcardware ','Artistic License','AGPL')DEFAULT 'GNU GPL' NULL,
33 aktualna_wersja VARCHAR(20) NULL,
34 data_aktualnej_wersji DATE NULL,
35 data_pierwszego_wydania DATE NULL,
36 jezyk_programowania ENUM('C','C++','C++ Builder','C#','Pascal','Java') NULL,
37FOREIGN KEY(id_odpowiednik_komercyjny) REFERENCES oprogramowanie(id),
38FOREIGN KEY(id_kategoria_oprogramowania) REFERENCES oprogramowanie(id),
39FOREIGN KEY(id_producent) REFERENCES oprogramowanie(id)
40)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_polish_ci;