· 7 years ago · Dec 07, 2018, 09:32 AM
1DROP TABLE IF EXISTS GANG_GANG;
2DROP TABLE IF EXISTS BLOKI_WIEZNIOWIE;
3DROP TABLE IF EXISTS BLOKI_DYZURY;
4DROP TABLE IF EXISTS PRACE;
5DROP TABLE IF EXISTS WYROKI;
6DROP TABLE IF EXISTS DYZURY;
7DROP TABLE IF EXISTS REPUTACJA;
8DROP TABLE IF EXISTS PRZEPUSTKI;
9DROP TABLE IF EXISTS BLOKI;
10DROP TABLE IF EXISTS WIEZNIOWIE;
11DROP TABLE IF EXISTS STRAZNICY;
12DROP TABLE IF EXISTS URLOPY;
13DROP TABLE IF EXISTS GANGI;
14DROP TABLE IF EXISTS OSOBY;
15
16
17CREATE TABLE OSOBY(
18 IMIE VARCHAR,
19 NAZWISKO VARCHAR,
20 PESEL INT PRIMARY KEY NOT NULL
21);
22
23CREATE TABLE BLOKI(
24 PIETRO INT NOT NULL,
25 NUMER_BLOKU INT NOT NULL,
26 MAKSYMALNA_LICZBA_WIEZNIOW INT,
27 TYP_BLOKU VARCHAR,
28 PRIMARY KEY(PIETRO,NUMER_BLOKU)
29);
30
31CREATE TABLE REPUTACJA(
32 POZIOM_ZAGROZENIA INT PRIMARY KEY NOT NULL
33);
34
35CREATE TABLE WIEZNIOWIE(
36 PLANOWANA_DATA_WYPUSZCZENIA DATE,
37 DATA_PRZYJECIA DATE,
38 NUMER_CELI INT,
39 PESEL INT PRIMARY KEY REFERENCES OSOBY(PESEL) NOT NULL,
40 NA_TERENIE BIT,
41 POZIOM_ZAGROZENIA INT FOREIGN KEY REFERENCES REPUTACJA (POZIOM_ZAGROZENIA) NOT NULL
42);
43
44CREATE TABLE STRAZNICY(
45 RANGA VARCHAR,
46 PESEL INT PRIMARY KEY REFERENCES OSOBY(PESEL) NOT NULL,
47 PESEL_DOWODZACEGO INT FOREIGN KEY REFERENCES STRAZNICY(PESEL) NOT NULL
48);
49
50CREATE TABLE DYZURY(
51 NUMER_SERYJNY INT PRIMARY KEY NOT NULL,
52 GODZINA_ROZPOCZECIA TIME,
53 GODZINA_ZAKONCZENIA TIME,
54 DATA_ODBYCIA DATE,
55 UWAGI VARCHAR
56);
57
58CREATE TABLE PRZEPUSTKI(
59 NUMER_SERYJNY INT PRIMARY KEY,
60 DATA_ROZPOCZECIA DATE,
61 DATA_ZAKONCZENIA DATE,
62 PESEL INT FOREIGN KEY REFERENCES WIEZNIOWIE(PESEL) NOT NULL
63);
64
65CREATE TABLE URLOPY(
66 NUMER_SERYJNY INT PRIMARY KEY,
67 DATA_ROZPOCZECIA DATE,
68 DATA_ZAKONCZENIA DATE,
69 PESEL INT FOREIGN KEY REFERENCES STRAZNICY(PESEL) NOT NULL
70);
71
72CREATE TABLE GANGI(
73 NAZWA VARCHAR PRIMARY KEY,
74 LICZBA_CZLONKOW INT,
75 POZIOM_ZAGROZENIA INT FOREIGN KEY REFERENCES REPUTACJA(POZIOM_ZAGROZENIA)
76);
77
78CREATE TABLE PRACE(
79 NUMER_SERYJNY INT PRIMARY KEY,
80 DATA_ODBYCIA DATE,
81 GODZINA_ROZPOCZECIA TIME,
82 GODZINA_ZAKONCZENIA TIME,
83 TYP VARCHAR(30),
84 MIEJSCE VARCHAR(30),
85 PESEL INT FOREIGN KEY REFERENCES WIEZNIOWIE(PESEL)
86);
87
88CREATE TABLE WYROKI(
89 NUMER_SERYJNY INT PRIMARY KEY,
90 OPIS VARCHAR(255)
91);
92
93CREATE TABLE GANG_GANG(
94 NAZWA1 VARCHAR FOREIGN KEY REFERENCES GANGI NOT NULL,
95 NAZWA2 VARCHAR FOREIGN KEY REFERENCES GANGI NOT NULL
96 PRIMARY KEY(NAZWA1,NAZWA2)
97);
98
99
100
101CREATE TABLE BLOKI_DYZURY(
102 NUMER_SERYJNY INT FOREIGN KEY REFERENCES DYZURY,
103 PIETRO INT,
104 NUMER_BLOKU INT,
105 FOREIGN KEY (PIETRO, NUMER_BLOKU) REFERENCES BLOKI(PIETRO, NUMER_BLOKU),
106 PRIMARY KEY (NUMER_SERYJNY,PIETRO,NUMER_BLOKU)
107);
108
109CREATE TABLE BLOKI_WIEZNIOWIE(
110 PESEL INT FOREIGN KEY REFERENCES WIEZNIOWIE,
111 PIETRO INT,
112 NUMER_BLOKU INT,
113 FOREIGN KEY (PIETRO, NUMER_BLOKU) REFERENCES BLOKI(PIETRO, NUMER_BLOKU),
114 PRIMARY KEY(PESEL,PIETRO,NUMER_BLOKU)
115
116);