-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate_tables.sql
154 lines (135 loc) · 3.69 KB
/
create_tables.sql
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
CREATE TABLE vaalipiirit (
id integer PRIMARY KEY,
value text NOT NULL UNIQUE
);
CREATE TABLE puolueet (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE sukupuolet (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE kotikunnat (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE kielet (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE koulutukset (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE uskonnolliset_yhteisot (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE kokemukset (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE vaalibudjetit (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE ulkopuolisen_rahoituksen_osuudet (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE ulkopuolisen_rahoituksen_lahteet (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE vuositulot (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE sijoitukset (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE vastaajat (
vaalipiiri integer,
id integer PRIMARY KEY,
sukunimi text,
etunimi text,
puolue integer, -- FK
ika integer,
sukupuoli integer, -- FK
kansanedustaja integer,
vastattu text,
valittu integer,
sitoutumaton integer,
kotikunta integer, -- FK
ehdokasnumero integer,
miksi_eduskuntaan text,
mita_edistaa text,
vaalilupaus1 text,
vaalilupaus2 text,
vaalilupaus3 text,
aidinkieli integer, -- FK
kotisivu text,
facebook text,
twitter text,
lapsia integer,
perhe text,
vapaa_ajalla text,
tyonantaja text,
ammattiasema text,
ammatti text,
koulutus integer, -- FK
uskonnollinen_yhteiso integer, -- FK
puolueen_jasen integer,
vaalibudjetti integer, -- FK
ulkopuolisen_rahoituksen_osuus integer, -- FK
ulkopuolisen_rahoituken_lahde integer, -- FK
sidonnaisuudet text,
vuositulot integer, -- FK
sijoitukset integer, -- FK
FOREIGN KEY (vaalipiiri) REFERENCES vaalipiirit (id),
FOREIGN KEY (puolue) REFERENCES puolueet (id),
FOREIGN KEY (sukupuoli) REFERENCES sukupuolet (id),
FOREIGN KEY (kotikunta) REFERENCES kotikunnat (id),
FOREIGN KEY (aidinkieli) REFERENCES kielet (id),
FOREIGN KEY (koulutus) REFERENCES koulutukset (id),
FOREIGN KEY (uskonnollinen_yhteiso) REFERENCES uskonnolliset_yhteisot (id),
FOREIGN KEY (vaalibudjetti) REFERENCES vaalibudjetit (id),
FOREIGN KEY (ulkopuolisen_rahoituksen_osuus) REFERENCES ulkopuolisen_rahoituksen_osuudet (id),
FOREIGN KEY (ulkopuolisen_rahoituken_lahde) REFERENCES ulkopuolisen_rahoituksen_lahteet (id),
FOREIGN KEY (vuositulot) REFERENCES vuositulot (id),
FOREIGN KEY (sijoitukset) REFERENCES sijoitukset (id)
);
CREATE TABLE kielitaidot ( -- many-to-many
vastaaja_id integer NOT NULL,
kieli_id integer NOT NULL,
PRIMARY KEY (vastaaja_id, kieli_id),
FOREIGN KEY (vastaaja_id) REFERENCES vastaajat (id),
FOREIGN KEY (kieli_id) REFERENCES kielet (id)
);
CREATE TABLE poliittiset_kokemukset ( -- many-to-many
vastaaja_id integer NOT NULL,
kokemus_id integer NOT NULL,
PRIMARY KEY (vastaaja_id, kokemus_id),
FOREIGN KEY (vastaaja_id) REFERENCES vastaajat (id),
FOREIGN KEY (kokemus_id) REFERENCES kokemukset (id)
);
CREATE TABLE kysymykset (
id integer PRIMARY KEY,
kysymys text NOT NULL
);
CREATE TABLE vastaukset (
id integer PRIMARY KEY,
value text NOT NULL
);
CREATE TABLE vastaaja_vastaukset (
vastaaja_id integer NOT NULL,
kysymys_id integer NOT NULL,
vastaus_id integer NOT NULL,
kommentti text,
PRIMARY KEY (vastaaja_id, kysymys_id),
FOREIGN KEY (vastaaja_id) REFERENCES vastaajat (id),
FOREIGN KEY (kysymys_id) REFERENCES kysymykset (id),
FOREIGN KEY (vastaus_id) REFERENCES vastaukset (id)
);