-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.sql
More file actions
64 lines (53 loc) · 2.83 KB
/
schema.sql
File metadata and controls
64 lines (53 loc) · 2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
CREATE TABLE LAPOWKI (
LAPOWKA VARCHAR2(15) CONSTRAINT LAPOWKI_LAPOWKA_PK PRIMARY KEY
);
CREATE TABLE WROGOWIE (
IMIE VARCHAR2(15) CONSTRAINT WROGOWIE_IMIE_PK PRIMARY KEY,
GATUNEK VARCHAR2(15),
STOPIEN_WROGOSCI NUMBER(2) CONSTRAINT WROGOWIE_WROGOSC_NN NOT NULL CONSTRAINT WROGOWIE_WROGOSC_CHECK CHECK(STOPIEN_WROGOSCI BETWEEN 1 AND 10),
);
CREATE TABLE KOTY (
PSEUDO VARCHAR2(15) CONSTRAINT KOT_PK PRIMARY KEY,
PLEC CHAR(1) CONSTRAINT KOT_PLEC_CHECK CHECK(PLEC IN SET('K', 'M')) CONSTRAINT KOT_PLEC_NN NOT NULL,
DATA_WSTAPIENIA DATE CONSTRAINT KOTY_DATA_NN NOT NULL,
PRZYDZIAL_MYSZY NUMBER(3) CONSTRAINT PRZYDZIAL_MIN_CHECK CHECK(PRZYDZIAL_MYSZY >=0),
PSEUDO_SZEFA VARCHAR2(15) REFERENCES KOTY(PSEUDO),
-- NR_BANDY NUMBER(2) REFERENCES BANDY(NR_BANDY),
NR_BANDY NUMBER(2),
NAZWA_FUNKCJI VARCHAR2(15) REFERENCES FUNKCJE(NAZWA_FUNKCJI)
);
CREATE TABLE MYSZY (
NR_MYSZY NUMBER(3) CONSTRAINT MYSZY_PK PRIMARY KEY,
WAGA NUMBER(1) CONSTRAINT MYSZY_WAGA_CHECK CHECK(0 < WAGA < 10) CONSTRAINT MYSZY_WAGA_NN NOT NULL,
DLUGOSC NUMBER(1) CONSTRAINT MYSZY_DLUGOSC_CHECK CHECK(0< DLUGOSC < 5) CONSTRAINT MYSZY_DLUGOSC_NN NOT NULL,
DATA_UPOLOWANIA DATE CONSTRAINT MYSZY_UPOLOWANIA_NN NOT NULL,
-- DATA_WYDANIA DATE CONSTRAINT MYSZY_WYDANIA_NN NOT NULL,
DATA_WYDANIA DATE,
PSEUDO_LAPACZA VARCHAR2(15) CONSTRAINT MYSZY_LAPACZ_NN NOT NULL CONSTRAINT MYSZY_LAPACZ_FK REFERENCES KOTY(PSEUDO),
PSEUDO_ZJADACZA VARCHAR2(15) CONSTRAINT MYSZY_ZJADACZ_FK REFERENCES KOTY(PSEUDO),
CONSTRAINT MYSZY_DATA_CHECK CHECK(DATA_WYDANIA>=DATA_UPOLOWANIA)
);
CREATE TABLE BANDY (
NR_BANDY NUMBER(6) CONSTRAINT BANDY_PK PRIMARY KEY,
TEREN VARCHAR2(15) CONSTRAINT BANDY_TEREN_NN NOT NULL,
NAZWA VARCHAR2(15) CONSTRAINT BANDY_NAZWA_NN NOT NULL,
SZEF_BANDY VARCHAR2(15) CONSTRAINT BANDY_SZEF_FK REFERENCES KOTY(PSEUDO)
);
ALTER TABLE Koty ADD CONSTRAINT KOT_NR_BANDY_FK FOREIGN KEY (nr_bandy) REFERENCES Bandy(nr_bandy);
CREATE TABLE FUNKCJE (
NAZWA_FUNKCJI VARCHAR2(15) CONSTRAINT FUNKCJE_NAZWA_PK PRIMARY KEY,
MIN_MYSZY NUMBER(3) CONSTRAINT FUNKCJE_MIN_NN NOT NULL,
MAX_MYSZY NUMBER(3) CONSTRAINT FUNKCJE_MAX_NN NOT NULL,
CONSTRAINT FUNKCJE_MIN_MAX_CHECK CHECK (MIN_MYSZY <= MAX_MYSZY)
);
CREATE TABLE INCYDENTY (
DATA_INCYDENTU DATE CONSTRAINT INCYDENTY_DATA_NN NOT NULL,
OPIS VARCHAR2(30) CONSTRAINT INCYDENTY_OPIS_NN NOT NULL,
PSEUDO_KOTA VARCHAR2(15) CONSTRAINT INCYDENTY_KOT_NN NOT NULL CONSTRAINT INCYDENTY_KOT_FK REFERENCES KOTY(PSEUDO),
IMIE VARCHAR2(15) CONSTRAINT INCYDENTY_WROG_NN NOT NULL CONSTRAINT INCYDENTY_KOT_FK REFERENCES WROGOWIE(IMIE)
);
CREATE TABLE LAPOWKI_WROGOW (
IMIE VARCHAR2(15) CONSTRAINT LW_IMIE_FK REFERENCES WROGOWIE(IMIE),
LAPOWKA VARCHAR2(30) CONSTRAINT LW_LAPOWKA_FK REFERENCES LAPOWKI(LAPOWKA),
CONSTRAINT LW_PK PRIMARY KEY(IMIE, LAPOWKA)
);