-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.sql
More file actions
182 lines (151 loc) · 5.44 KB
/
project.sql
File metadata and controls
182 lines (151 loc) · 5.44 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
CREATE TABLE Rodzina (
Rodzina_ID INTEGER NOT NULL,
Nazwisko VARCHAR NOT NULL,
Haslo VARCHAR NOT NULL,
Login VARCHAR NOT NULL,
CONSTRAINT rodzina_id PRIMARY KEY (Rodzina_ID)
);
CREATE TABLE Wydatki_jednorazowe (
wydatek_j_ID INTEGER NOT NULL,
Rodzina_ID INTEGER NOT NULL,
Cena REAL NOT NULL,
Nazwa_wydatku VARCHAR NOT NULL,
Data_zaplaty DATE NOT NULL,
CONSTRAINT wydatki_jednorazowe_pk PRIMARY KEY (wydatek_j_ID, Rodzina_ID)
);
CREATE TABLE Wydatki_stale (
wydatek_s_ID INTEGER NOT NULL,
Rodzina_ID INTEGER NOT NULL,
Cena REAL NOT NULL,
Data_platnosci DATE NOT NULL,
Nazwa_wydatku VARCHAR NOT NULL,
Data_zaplaty DATE NOT NULL,
CONSTRAINT wydatki_stale_pk PRIMARY KEY (wydatek_s_ID, Rodzina_ID)
);
CREATE TABLE Uzytkownik (
Uzytkownik_ID INTEGER NOT NULL,
Rodzina_ID INTEGER NOT NULL,
Nazwisko VARCHAR NOT NULL,
Imie VARCHAR NOT NULL,
Mail VARCHAR NOT NULL,
Czy_Admin BOOLEAN NOT NULL,
Nick VARCHAR NOT NULL,
Haslo VARCHAR NOT NULL,
CONSTRAINT uzytkownik_id PRIMARY KEY (Uzytkownik_ID)
);
CREATE TABLE Dochod (
Dochod_ID INTEGER NOT NULL,
Rodzina_ID INTEGER NOT NULL,
Uzytkownik_ID INTEGER NOT NULL,
Ile REAL NOT NULL,
Data DATE NOT NULL,
CONSTRAINT dochod_pk PRIMARY KEY (Dochod_ID)
);
CREATE TABLE Zakupy (
Zakupy_ID INTEGER NOT NULL,
Uzytkownik_ID INTEGER NOT NULL,
Data_zakupow DATE,
Cena_zakupow REAL,
CONSTRAINT zakupy_id PRIMARY KEY (Zakupy_ID)
);
CREATE TABLE Sklep (
Sklep_ID INTEGER NOT NULL,
Zakupy_ID INTEGER NOT NULL,
Nazwa VARCHAR NOT NULL,
Miejscowosc VARCHAR NOT NULL,
Kod_pocztowy VARCHAR,
Numer INTEGER,
Ulica VARCHAR,
CONSTRAINT sklep_id PRIMARY KEY (Sklep_ID)
);
CREATE TABLE Przedmiot (
Przedmiot_ID INTEGER NOT NULL,
Zakupy_ID INTEGER NOT NULL,
Nazwa VARCHAR NOT NULL,
Cena REAL NOT NULL,
Ilosc INTEGER DEFAULT 1 NOT NULL,
CONSTRAINT przedmiot_id PRIMARY KEY (Przedmiot_ID)
);
CREATE TABLE Gwarancja (
Gwarancja_ID INTEGER NOT NULL,
Przedmiot_ID INTEGER NOT NULL,
Data_zakupu DATE NOT NULL,
Data_konca DATE NOT NULL,
CONSTRAINT gwarancja_id PRIMARY KEY (Gwarancja_ID, Przedmiot_ID)
);
CREATE TABLE Tag (
Tag_ID VARCHAR NOT NULL,
Przedmiot_ID INTEGER NOT NULL,
Tag_name VARCHAR NOT NULL,
CONSTRAINT tag_id PRIMARY KEY (Tag_ID)
);
ALTER TABLE Uzytkownik ADD CONSTRAINT rodzina_u_ytkownik_fk
FOREIGN KEY (Rodzina_ID)
REFERENCES Rodzina (Rodzina_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Wydatki_stale ADD CONSTRAINT rodzina_wydatki_stale_fk
FOREIGN KEY (Rodzina_ID)
REFERENCES Rodzina (Rodzina_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Wydatki_jednorazowe ADD CONSTRAINT rodzina_wydatki_jednorazowe_fk
FOREIGN KEY (Rodzina_ID)
REFERENCES Rodzina (Rodzina_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Dochod ADD CONSTRAINT rodzina_dochod_fk
FOREIGN KEY (Rodzina_ID)
REFERENCES Rodzina (Rodzina_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Zakupy ADD CONSTRAINT u_ytkownik_zakupy_fk
FOREIGN KEY (Uzytkownik_ID)
REFERENCES Uzytkownik (Uzytkownik_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Dochod ADD CONSTRAINT uzytkownik_dochod_fk
FOREIGN KEY (Uzytkownik_ID)
REFERENCES Uzytkownik (Uzytkownik_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Przedmiot ADD CONSTRAINT zakupy_przedmiot_fk
FOREIGN KEY (Zakupy_ID)
REFERENCES Zakupy (Zakupy_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Sklep ADD CONSTRAINT zakupy_sklep_fk
FOREIGN KEY (Zakupy_ID)
REFERENCES Zakupy (Zakupy_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Tag ADD CONSTRAINT przedmiot_tag_fk
FOREIGN KEY (Przedmiot_ID)
REFERENCES Przedmiot (Przedmiot_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
ALTER TABLE Gwarancja ADD CONSTRAINT przedmiot_gwarancja_fk
FOREIGN KEY (Przedmiot_ID)
REFERENCES Przedmiot (Przedmiot_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
drop sequence if exists gwarancjaS; CREATE SEQUENCE gwarancjaS START 1;
drop sequence if exists rodzinaS; CREATE SEQUENCE rodzinaS START 1;
drop sequence if exists wydatkijs; CREATE SEQUENCE wydatkijS START 1;
drop sequence if exists wydatkiS; CREATE SEQUENCE wydatkisS START 1;
drop sequence if exists uzytkownikS; CREATE SEQUENCE uzytkownikS START 1;
drop sequence if exists dochodS; CREATE SEQUENCE dochodS START 1;
drop sequence if exists zakupyS; CREATE SEQUENCE zakupyS START 1;
drop sequence if exists sklepS; CREATE SEQUENCE sklepS START 1;
drop sequence if exists przedmiotS; CREATE SEQUENCE przedmiotS START 1;
drop sequence if exists tagS; CREATE SEQUENCE tagS START 1;