-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreating_tables.sql
More file actions
95 lines (67 loc) · 1.66 KB
/
Copy pathcreating_tables.sql
File metadata and controls
95 lines (67 loc) · 1.66 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
DROP TABLE IF EXISTS city, volunteer, volunteer_range, skill, skill_assignment, interest, interest_assignment, beneficiary, request, request_skill, request_location, volunteer_application CASCADE;
CREATE TABLE city(
name TEXT,
id INT PRIMARY KEY,
geolocation TEXT
);
CREATE TABLE volunteer(
id TEXT PRIMARY KEY,
name TEXT,
birthdate DATE,
city_id INT,
email TEXT,
address TEXT,
travel_readiness INT
);
CREATE TABLE volunteer_range(
volunteer_id TEXT REFERENCES volunteer,
city_id INT REFERENCES city
);
CREATE TABLE skill(
name TEXT PRIMARY KEY,
description TEXT
);
CREATE TABLE skill_assignment(
volunteer_id text REFERENCES volunteer,
skill_name TEXT REFERENCES skill
);
CREATE TABLE interest(
name TEXT PRIMARY KEY
);
CREATE TABLE interest_assignment(
interest_name TEXT REFERENCES interest,
volunteer_id TEXT REFERENCES volunteer
);
CREATE TABLE beneficiary(
id INT PRIMARY KEY,
name TEXT,
address TEXT,
city_id INT
);
CREATE TABLE request(
id INT PRIMARY KEY,
title TEXT,
beneficiary_id INT,
number_of_volunteers INT,
priority_value INT,
start_date DATE,
end_date DATE,
register_by_date DATE
);
CREATE TABLE request_skill(
request_id INT REFERENCES request,
skill_name TEXT REFERENCES skill,
min_need INT,
value INT
);
CREATE TABLE request_location(
request_id INT REFERENCES request,
city_id INT REFERENCES city
);
CREATE TABLE volunteer_application(
id INT PRIMARY KEY,
request_id INT REFERENCES request,
volunteer_id TEXT REFERENCES volunteer,
modified DATE,
is_valid BOOLEAN
);