Database: SynergyDatabase.sql

File SynergyDatabase.sql, 3.9 KB (added by jose, 16 years ago)

Inicial Synergy Database

Line 
1create table user(
2id int(6),
3username varchar(10) UNIQUE NOT NULL,
4passhash varchar(30),
5fullname varchar(30),
6admin_bit int(1),
7PRIMARY KEY(id)
8);
9
10--NEW TABLES ADDED
11create table location(
12location_id int(3),
13location_name varchar(100),
14description varchar(200),
15PRIMARY KEY(location_id)
16);
17
18create table room(
19room_id int(3),
20room_name varchar(50),
21description varchar(200),
22PRIMARY KEY(room_id)
23);
24
25create table equipment(
26part_id int(6),
27name varchar(20),
28description varchar(100),
29quantity int(3),
30PRIMARY KEY(part_id)
31);
32--END New Tables
33
34create table rooms_booked(
35room_id int(3),
36begin DATETIME,
37end DATETIME,
38FOREIGN KEY(room_id) REFERENCES room(room_id)
39);
40
41create table meeting_final(
42meeting_id int(10),
43name varchar(20) NOT NULL,
44begin DATETIME,
45end DATETIME,
46location_id int(3),
47room_id int(3),
48description varchar(100),
49PRIMARY KEY(meeting_id,begin),
50FOREIGN KEY(location_id) REFERENCES location(location_id),
51FOREIGN KEY(room_id) REFERENCES room(room_id)
52);
53
54create table participants_final(
55participant_id int(10),
56user_id int(6),
57meeting_id int(10),
58active_bit int(1),
59important_bit int(1),
60PRIMARY KEY(participant_id,user_id,meeting_id),
61FOREIGN KEY(user_id) REFERENCES user(id),
62FOREIGN KEY(meeting_id) REFERENCES meeting_final(meeting_id)
63);
64
65create table equipment_needed_final(
66participant_id int(10),
67user_id int(6),
68meeting_id int(10),
69equipment_id int(5),
70count int(100),
71PRIMARY KEY(participant_id,user_id,meeting_id),
72FOREIGN KEY(user_id) REFERENCES user(id),
73FOREIGN KEY(meeting_id) REFERENCES meeting_final(meeting_id),
74FOREIGN KEY(participant_id) REFERENCES participants_final(participant_id),
75FOREIGN KEY(equipment_id) REFERENCES equipment(part_id)
76);
77
78create table meeting_pending(
79meeting_id int(10),
80name varchar(20) NOT NULL,
81begin DATETIME,
82end DATETIME,
83description varchar(100),
84location_id int(3),
85room_id int(3),
86PRIMARY KEY(meeting_id,begin),
87FOREIGN KEY(location_id) REFERENCES location(location_id),
88FOREIGN KEY(room_id) REFERENCES room(room_id)
89);
90
91create table participants_pending(
92participant_id int(10),
93user_id int(6),
94meeting_id int(10),
95active_bit int(1),
96important_bit int(1),
97PRIMARY KEY(participant_id,user_id,meeting_id),
98FOREIGN KEY(user_id) REFERENCES user(id),
99FOREIGN KEY(meeting_id) REFERENCES meeting_final(meeting_id)
100);
101
102create table equipment_needed_pending(
103participant_id int(10),
104user_id int(6),
105meeting_id int(10),
106equipment_id int(5),
107count int(100),
108PRIMARY KEY(participant_id,user_id,meeting_id),
109FOREIGN KEY(user_id) REFERENCES user(id),
110FOREIGN KEY(meeting_id) REFERENCES meeting_final(meeting_id),
111FOREIGN KEY(participant_id) REFERENCES participants_final(participant_id),
112FOREIGN KEY(equipment_id) REFERENCES equipment(part_id)
113);
114
115create table calendar_inclusion(
116id int(6),
117name varchar(10) NOT NULL,
118url varchar(50) NOT NULL,
119last_update DATETIME,
120PRIMARY KEY(id)
121);
122
123create table calendar_exclusion(
124id int(6),
125name varchar(10) NOT NULL,
126url varchar(50) NOT NULL,
127last_update DATETIME,
128PRIMARY KEY(id)
129);
130
131create table calendar_preference(
132id int(6),
133name varchar(10) NOT NULL,
134url varchar(50) NOT NULL,
135last_update DATETIME,
136PRIMARY KEY(id)
137);
138
139create table appointments_inclusion(
140calender_inclusion_id int(6),
141begin DATETIME,
142end DATETIME,
143name varchar(10),
144description varchar(50),
145PRIMARY KEY(calender_inclusion_id),
146FOREIGN KEY(calender_inclusion_id) REFERENCES calendar_inclusion(id)
147);
148
149create table appointments_exclusion(
150calender_exclusion_id int(6),
151begin DATETIME,
152end DATETIME,
153name varchar(10),
154description varchar(50),
155PRIMARY KEY(calender_exclusion_id),
156FOREIGN KEY(calender_exclusion_id) REFERENCES calendar_exclusion(id)
157);
158
159create table appointments_preference(
160calender_preference_id int(6),
161begin DATETIME,
162end DATETIME,
163name varchar(10),
164description varchar(50),
165PRIMARY KEY(calender_preference_id),
166FOREIGN KEY(calender_preference_id) REFERENCES calendar_preference(id)
167);