Você está na página 1de 7

G:\geral\UCSAL\UCSal 2015.2\TPIV\TED - SISRAE\CORRIGIDO POR NEIVA\SISRAE_V43.

sql
Pgina 1 de 7
15/12/2016 01:52:36
1
2
3
4
5
6
7
8

/*
-- 10 /13/15 01:23 :05
-- Mo del: N ew Mod el
*/

ALU NO: JE AN DOS SANTO S DE J ESUS / RENAM SALES


B ACHARE L DE I NFORM TICA
PROJET O DE S ISTEMA DE TC C / T PICOS IV
Versio n: 1.0

-- -- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ -------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ---9 ----- ------ ------ ------ ------ ------ ------ ------ ------ ------ -- Sch ema SI SRAE
----- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ---10 -- -- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ -------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ---11
12 --CAM PUS
13 CREAT E TABL E CAMP US (
14
id
SE RIAL
NO T NULL ,
15
nom e
V ARCHAR (90)
NOT N ULL,
16
cep
CH AR(9)
N OT NUL L,
17
bai rro
VA RCHAR( 45)
N OT NUL L,
18
ave nida_r ua
VAR CHAR(9 0)
N OT NUL L,
19
num ero
CH AR(4)
NOT NULL,
20
cid ade
VAR CHAR(3 0)
NO T NULL ,
21
est ado
CHA R (2)
NOT N ULL,
22
tel efone
CHAR(1 2)
N OT NUL L,
23
ema il
VARCHA R(70)
NULL,
24 CONST RAINT PK_CAM PUS
25
PRI MARY K EY (id )
26
);
27
28
29
30 --PAV ILHAO
31 CREAT E TABL E PAVI LHAO (
32
id
S ERIAL
N OT NUL L,
33
nom e
VARCH AR(90)
NOT NULL,
34
id_ campus
INTEG ER
NO T NULL ,
35
CONS TRAINT PK_PA VILHAO
36
PRI MARY K EY (id ),
37
CONS TRAINT FK_PA VILHAO _CAMPU S
38
FOR EIGN K EY ( i d_camp us )
REFER ENCES CAMPUS
39
);
40
41
42 --TIP O_SALA
43 CREAT E TABL E TIPO _SALA (
44
id
SER IAL
NOT NULL,
45
nome
VA RCHAR (30)
NOT NU LL,
46
desc ricao
V ARCHAR (40)
NOT NU LL,
47
qtd_ lugar
N UMERIC (10,2 )
NULL,
48 CONST RAINT PK_TIP O_SALA
49
PRI MARY K EY (id )
50 );
51
52 --uk para o atrib uto ti po
53 --ins ert in to tip o_sala (tipo ,descr icao,q td_lug ar) va lues ( 'DEC', 'Desco mpre
sso' ,10);
54 --ins ert in to tip o_sala (nome ,descr icao,q td_lug ar) va lues ( 'Padr o','Sa la c
om ca deiras do ti po bla blabla , quad ro bra nco, n ormalm ente c om ar condic iona
do... ..',40 );
55 --ins ert in to tip o_sala (nome ,descr icao,q td_lug ar) va lues ( 'Luxo' ,'Com ar c
ondic ionado , banh eiro p rprio , rea para coffeb reak.. ...',2 0);
56 ----- -----A LTER T ABLE T IPO_SA LA ADD CHECK (tipo IN (' lab', 'sal', 'vid' , 'a
ud', 'reu') );
57
58 --SAL A
- 1 -

G:\geral\UCSAL\UCSal 2015.2\TPIV\TED - SISRAE\CORRIGIDO POR NEIVA\SISRAE_V43.sql


Pgina 2 de 7
15/12/2016 01:52:36
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

CREAT E TABL E SALA (


nome
VA RCHAR( 40)
N OT NUL L,
id_t ipo_sa la
INTE GER
NOT NULL,
id_p avilha o
INTEG ER
N OT NUL L,
CONST RAINT PK_SAL A
PRI MARY K EY (id _tipo_ sala, id_pav ilhao) ,
CONST RAINT FK_SAL A_TIPO _SALA
FOR EIGN K EY ( i d_tipo _sala)
R EFEREN CES TI PO_SAL A,
CONST RAINT FK_SAL A_PAVI LHAO
FOR EIGN K EY ( i d_pavi lhao)
RE FERENC ES PAV ILHAO
);
--ANO _SEMES TRE
CREAT E TABL E ANO_ SEMEST RE (
id
SE RIAL
ano
INTEGE R
sem estre
SMALLI NT
sit uacao
VARCHA R (10)
CONST RAINT PK_SEM ESTRE
PRI MARY K EY (id )
);

N OT NUL L,
NO T NULL ,
N OT NUL L,
NOT NULL,

ALTER TABLE ANO_S EMESTR E ADD CHECK (situa cao IN (' c o', 'a d', 'a n', 'e n',
'ca' ));
82
-- decode para postgr esql
83
-- i nserir o cd igo e decodi ficar
84
-- co --> Conf irmada
ad - -> Adi ada
an --> An dament o
en
--> E ncerra da
ca - -> Can celada
85
86 --PRO FESSOR
87 CREAT E TABL E PRO FESSOR (
88
ma tricul a
INT EGER
NOT NU LL,
89
no me
VA RCHAR( 90)
N OT NUL L,
90
em ail
VA RCHAR( 100)
NOT N ULL,
91
te lefone
CHAR (11)
NOT NU LL,
92
da ta_adm issao
DAT E
NOT NULL,
93 CONST RAINT PK_PRO FESSOR
94
PRI MARY K EY ( m atricu la )
95 );
96
97 --TUR MA
98 CREAT E TABL E TURM A (
99
id
SE RIAL
N OT NUL L,
100
101
co digo
VARCHA R(10)
NOT NULL,
102
id _disci plina
103
104
ma tricul a_prof essor
INTEG ER
NOT NULL,
105
qt d_alun o
NUMER IC(10, 2)
N OT NUL L,
106
id _ano_s emestr e
INT EGER
N OT NUL L,
107 CONST RAINT PK_TUR MA
108
PRI MARY K EY ( i d ),
109 CONST RAINT FK_TUR MA_PRO FESSOR
110
FOR EIGN K EY ( m atricu la_pro fessor )
REF ERENCE S PROF ESSOR (mat
ricul a ),
111 CONST RAINT FK_TUR MA_ANO _SEMES TRE
112
FOR EIGN K EY ( i d_ano_ semest re )
REFERE NCES A NO_SEM ESTR
E
113
);
114
115
116 --Min ha vid a real :
117 --Dis ciplin a: Com puta o Grf ica - ENG136
118 --Tur ma: T6 2 00 0 0
- - Prof essor Clau dio Ne iva
119 --Tur ma: T6 5 00 0 0
- - Prof essor Clau dio Ne iva
120 --Tur ma: T6 1 00 0 0
- - Prof essor Helo sa
- 2 -

G:\geral\UCSAL\UCSal 2015.2\TPIV\TED - SISRAE\CORRIGIDO POR NEIVA\SISRAE_V43.sql


Pgina 3 de 7
15/12/2016 01:52:36
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
183
184
185

--T62 ENG13 6 -> C laudio Neiva -> Se xta-fe ira -> 07:00 -08:15 -- 08 :25-09 :40
--Dis ciplin a: Est rutura em ma deira - ENG5 48
--Tur ma: T6 2 00 0 0
- - Prof essor Pint o
--T62 ENG54 8 -> P into - > Ter a-feir a -> 1 9:00-2 1:40
--Tur ma: id (seri al) / codigo (Louc ura qu e o ND E suge rir, e a rei toria acei
tar!! !!)
-- A LUNO
CREAT E TABL E ALU NO (
ma tricul a
SER IAL
no me
VA RCHAR( 90)
em ail
VA RCHAR( 100)
te lefone
CHAR (11)
CONST RAINT PK_ALU NO
PRI MARY K EY ( m atricu la )
);

NOT NULL,
N OT NUL L,
NOT N ULL,
NOT NU LL,

--TUR MA_ALU NO
CREAT E TABL E TURM A_ALUN O (
id
SE RIAL
id _turma
INTE GER
ma tricul a_alun o
INT EGER
CONST RAINT PK_TUR MA_ALU NO
PRI MARY K EY (id ),
CONST RAINT FK_TUR MA_ALU NO_TUR MA
FOR EIGN K EY ( i d_turm a)
CONST RAINT FK_TUR MA_ALU NO_ALU NO
FOR EIGN K EY (ma tricul a_alun o)
);
--TUR NO
CREAT E TABL E TURN O (
cod igo
CH AR (3)
nom e
V ARCHAR (15)
CONST RAINT PK_TUR NO
PRIM ARY KE Y (cod igo)
);

N OT NUL L,
NO T NULL ,
N OT NUL L,

REFERE NCES T URMA,


REFE RENCES ALUNO

NOT NULL,
NOT NU LL,

--CUR SO
CREAT E TABL E CURS O (
cod igo
VA RCHAR (10)
nom e
VARCHA R(60)
qtd _semes tre
INT EGER
CONST RAINT PK_CUR SO
PRI MARY K EY (co digo)
);

NOT N ULL,
NOT NULL,
N OT NUL L,

--CUR SO_TUR NO
CREAT E TABL E CURS O_TURN O (
cod igo_cu rso
VA RCHAR (10)
NOT N ULL,
cod igo_tu rno
CH AR (3)
NOT NULL,
qtd _vaga
N UMERIC (10,2 )
NO T NULL ,
id_ ano_se mestre
INTE GER
NO T NULL ,
id_ campus
INTEGE R
NOT NULL,
CONST RAINT PK_CUR SO_TUR NO
PRI MARY KEY (c odigo_ curso, codig o_turn o, id_ campus ),
CONST RAINT FK_CUR SO_TUR NO_CUR SO
FOR EIGN KEY (c odigo_ curso)
R EFEREN CES CU RSO (c odigo) ,
CONST RAINT FK_CUR SO_TUR NO_TUR NO
FOR EIGN KEY (c odigo_ turno)
RE FERENC ES TUR NO (co digo),
- 3 -

G:\geral\UCSAL\UCSal 2015.2\TPIV\TED - SISRAE\CORRIGIDO POR NEIVA\SISRAE_V43.sql


Pgina 4 de 7
15/12/2016 01:52:36
186 CONST RAINT FK_CUR SO_TUR NO_ANO _SEMES TRE
187
FOR EIGN KEY (i d_ano_ semest re)
R EFEREN CES
ANO_SE MESTRE (id
),
188 CONST RAINT FK_CUR SO_TUR NO_CAM PUS
189
FOR EIGN KEY (i d_camp us)
R EFEREN CES
CAMPUS
190 );
191
192
193 --DIS CIPLIN A
194 CREAT E TABL E DISC IPLINA (
195
co digo_c urso
VARC HAR (1 0)
NO T NULL ,
196
co digo
VARCHA R (10)
NOT NULL,
197
no me
VA RCHAR( 70)
N OT NUL L,
198
qt d_carg a_hora ria
NUMERI C (10, 2)
NO T NULL ,
199
se mestre
SMALL INT
N OT NUL L,
200
un ique ( codigo ),
201 CONST RAINT PK_DIS CIPLIN A
202
PRI MARY K EY (co digo),
203 CONST RAINT PK_DIS CIPLIN A_CODI GO_CUR SO
204
FOR EIGN KEY (c odigo_ curso) REFE RENCES CURSO
205 );
206
207
208 -- HO RRIO
209 CREAT E TABL E HORA RIO(
210
id
S ERIAL
NOT NULL,
211
ho rario_ inicio
TIME
N OT NUL L,
212
ho rario_ fim
TIM E
NOT NU LL,
213 CONST RAINT PK_HOR ARIO
214
PR IMARY KEY (i d)
215 );
216
217
218
-- D ATA
--ARR ANCA E SSA "M IZRA" --COR TA FIO !!!! D ESARMA A BOM BA!!!!
219 CREAT E TABL E DATA (
220
id
S ERIAL
NOT NULL,
221
da ta
DATE
NOT N ULL,
222 CONST RAINT PK_DAT A
223
PR IMARY KEY (i d)
224 );
225
226 -- DA TA_HOR ARIO
227 CREAT E TABL E DATA _HORAR IO (
228
id_d ata
INT EGER
NOT NU LL,
229
id_h orario
INTEGE R
NOT NULL,
230 CONST RAINT PK_DAT A_HORA RIO
231
PRI MARY K EY ( i d_data , id_h orario ),
232 CONST RAINT FK_DAT A_HORA RIO_DA TA
233
FOR EIGN KEY (i d_data )
REFER ENCES DATA ( id),
234 CONST RAINT FK_DAT A_HORA RIO_HO RARIO
235
FOR EIGN KEY (i d_hora rio)
RE FERENC ES HOR ARIO(i d)
236 );
237
238
239
240 -- TU RMA AN O_SEME STRE
241 CREAT E TABL E TURM A_ANO_ SEMEST RE (
242
id
SERIAL
N OT NUL L,
243
id _turma
INTE GER
NOT NULL,
244
id _ano_s emestr e
I NTEGER
N OT NUL L,
245
di a_sema na
VA RCHAR( 8)
NOT NULL,
246 CONST RAINT PK_TUR MA_ANO _SEMES TRE
247
PRI MARY K EY (id )
248 );
249 ALTER TABLE TURMA _ANO_S EMESTR E ADD CHECK (dia_s emana IN ('S egunda ', 'Te ra'
, 'Qu arta', 'Quin ta', ' Sexta' , 'Sb ado', 'Domin go' )) ;
- 4 -

G:\geral\UCSAL\UCSal 2015.2\TPIV\TED - SISRAE\CORRIGIDO POR NEIVA\SISRAE_V43.sql


Pgina 5 de 7
15/12/2016 01:52:36
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313

ALTER TABLE TURMA _ANO_S EMESTR E


ADD C ONSTRA INT FK _TURMA _ANO_S EMESTR E_TURM A
FOR EIGN K EY ( i d_turm a)
REFER ENCES TURMA ;
ALTER TABLE TURMA _ANO_S EMESTR E
ADD C ONSTRA INT FK _TURMA _ANO_S EMESTR E_ANO_ SEMEST RE
FOR EIGN K EY ( i d_ano_ semest re)
RE FERENC ES ANO _SEMES TRE;
--TUR MA_HOR ARIO
CREAT E TABL E TURM A_HORA RIO (
id _turma
INTE GER
id _horar io
IN TEGER
CONST RAINT PK_TUR MA_HOR ARIO
PRI MARY K EY (id _turma , id_h orario ));
ALTER TABLE TURMA _HORAR IO
ADD C ONSTRA INT FK _TURMA _HORAR IO_ID_ TURMA
FOR EIGN K EY ( i d_turm a)
ALTER TABLE TURMA _HORAR IO
ADD C ONSTRA INT FK _TURMA _HORAR IO_HOR ARIO
FOR EIGN K EY ( i d_hora rio)

NOT NULL,
NO T NULL ,

REFER ENCES TURMA ;


REF ERENCE S HORA RIO;

--TUR MA_DIS CIPLIN A


CREAT E TABL E TURM A_DISC IPLINA (
id
SERIAL
NOT NULL,
id_ turma
INT EGER
NOT N ULL,
cod igo_di scipli na
VARCH AR(10)
NOT NULL,
CONST RAINT PK_TUR MA_DIS CIPLIN A
PRI MARY K EY (id )
);
ALTER TABLE TURMA _DISCI PLINA
ADD C ONSTRA INT FK _TURMA _DISCI PLINA_ TURMA
FOR EIGN K EY ( i d_turm a)
REFER ENCES TURMA ;
ALTER TABLE TURMA _DISCI PLINA
ADD C ONSTRA INT FK _TURMA _DISCI PLINA_ DISCIP LINA
FOR EIGN K EY ( c odigo_ discip lina)
REFERE NCES D ISCIPL INA;
-- TI PO_EQU IPAMEN TO
CREAT E TABL E TIP O_EQUI PAMENT O (
id
SE RIAL
nom e
V ARCHAR (40)
des cricao
VARCHA R(70)
CONST RAINT PK_TIP O_EQUI PAMENT O
PRI MARY K EY ( i d )
);

N OT NUL L,
NOT N ULL,
NULL,

-- EQ UIPAME NTO
CREAT E TABL E EQU IPAMEN TO (
num _tomba mento
VARCH AR (12 )
NO T NULL ,
id_ tipo_e quipam ento
INTEGE R
NOT NULL,
nom e
V ARCHAR (25)
NOT N ULL,
mod elo
VAR CHAR(1 5)
NOT NU LL,
fab ricant e
VARCH AR(20)
N ULL,
num ero_se rie
VAR CHAR(1 5)
N OT NUL L,
obs ervaca o
VARC HAR(65 )
NULL ,
id_ campus
INTEG ER
NOT NULL,
sit uacao
VARCH AR(10)
NOT NULL,
uni que (n um_tom bament o),
CONST RAINT PK_EQU IPAMEN TO
PRI MARY K EY ( n um_tom bament o),
CONST RAINT FK_EQU IPAMEN TO_TIP O_EQUI PAMENT O
FOR EIGN K EY ( i d_tipo _equip amento )
REFE RENCES TIPO_ EQUIPA MENT
O (id ),
314 CONST RAINT FK_EQU IPAMEN TO_CAM PUS
- 5 -

G:\geral\UCSAL\UCSal 2015.2\TPIV\TED - SISRAE\CORRIGIDO POR NEIVA\SISRAE_V43.sql


Pgina 6 de 7
15/12/2016 01:52:36
315
FOR EIGN K EY ( i d_camp us)
REFERE NCES C AMPUS
316 );
317 ALTER TABLE EQUIP AMENTO ADD C HECK ( situac ao IN ('ativ o', 'i nativo ', 'ma nute
n o' ));
318 -- at iv -> ATIVO
319 -- in at -> INATIV O
320 -- ma nu -> MANUTE N O
321
322 --SOL ICITA O RES ERVA
323 CREAT E TABL E SOLI CITACA O_RESE RVA (
324
id _data
I NTEGER
NOT N ULL,
325
ma tricul a_prof essor
I NTEGER
NOT N ULL,
326
id _tipo_ equipa mento
INTE GER
NULL ,
327
id _tipo_ sala
I NTEGER
N ULL,
328
id _horar io
INTEGE R
NOT NULL,
329
ob servac ao
VARC HAR(50 )
NULL ,
330
CO NSTRAI NT PK_ SOLICI TACAO_ RESERV A
331
PRI MARY K EY ( id_dat a, mat ricula _profe ssor, id_hor ario)
332 );
333
334
A LTER T ABLE S OLICIT ACAO_R ESERVA
335
A DD CON STRAIN T FK_S OLICIT ACAO_R ESERVA _DATA
336
F OREIGN KEY ( id_dat a)
337
R EFEREN CES DA TA (id );
338
339
340
A LTER T ABLE S OLICIT ACAO_R ESERVA
341
A DD CON STRAIN T FK_S OLICIT ACAO_R ESERVA _PROFE SSOR
342
F OREIGN KEY ( matric ula_pr ofesso r)
343
R EFEREN CES PR OFESSO R (mat ricula );
344
345
A LTER T ABLE S OLICIT ACAO_R ESERVA
346
A DD CON STRAIN T FK_S OLICIT ACAO_R ESERVA _TIPO_ EQUIPA MENTO
347
F OREIGN KEY ( id_tip o_equi pament o)
348
R EFEREN CES TI PO_EQU IPAMEN TO(id) ;
349
350
ALTER TABLE SOLICI TACAO_ RESERV A
351
A DD CON STRAIN T FK_S OLICIT ACAO_R ESERVA _TIPO_ SALA
352
F OREIGN KEY ( id_t ipo_sa la )
353
R EFEREN CES TI PO_SAL A (id );
354
355
ALT ER TAB LE SOL ICITAC AO_RES ERVA
356
A DD CON STRAIN T FK_S OLICIT ACAO_R ESERVA _HORAR IO
357
F OREIGN KEY ( id_ho rario)
358
R EFEREN CES HO RARIO;
359
360
361 --RES ERVA
362 CREAT E TABL E RES ERVA (
363
id
SERIAL
NOT N ULL,
364
id _solic itacao _reser va
INT EGER
N OT NUL L,
365
ob servac ao
VARC HAR(20 )
NULL ,
366 CONST RAINT PK_RES ERVA
367
PRI MARY K EY ( i d, id_ solici tacao_ reserv a )
368 );
369
370
A LTER T ABLE R ESERVA
371
A DD CON STRAIN T FK_R ESERVA _SOLIC ITACAO _RESER VA
372
F OREIGN KEY ( id_sol icitac ao_res erva)
373
R EFEREN CES SO LICITA CAO_RE SERVA (aqui deve t er a c have d a tabe la de rese
rva . ... po r este motiv o vc c ostuma criar chave s arti ficiai s, poi s leva r pa
ra ou tros l ugares um ch ave tr ipla coisa de do ido!!! );
374
375
376
377
ALTE R TABL E RESE RVA AD D COLU MN sit uacao VARCHA R (12) ;
- 6 -

G:\geral\UCSAL\UCSal 2015.2\TPIV\TED - SISRAE\CORRIGIDO POR NEIVA\SISRAE_V43.sql


Pgina 7 de 7
15/12/2016 01:52:36
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395

A LTER T ABLE R ESERVA ADD C HECK ( situac ao IN ('RESE RVADO' , 'LIV RE' )) ;

/*
-- SO LICITA O RE SERVA HORARI O
CREAT E TABL E SOLI CITACA O_RESE RVA_HO RARIO (
id_s olicit acao_r eserva
IN TEGER
NOT NU LL,
id_h orario
INTE GER
NO T NULL ,
CONST RAINT PK_RES ERVA_H ORARIO
PRI MARY K EY (id _solic itacao _reser va, id _horar io));
A LTER T ABLE S OLICIT ACAO_R ESERVA _HORAR IO
A DD CON STRAIN T FK_S OLICIT ACAO_R ESERVA _HORAR IO_res erva
F OREIGN KEY ( id_so licita cao_re serva)
REF ERENCE S SOLI CITACA O_RE
SERVA (id) ;

396
397
398
399
400
401 */
402
403
404
405

A LTER T ABLE S OLICIT ACAO_R ESERVA _HORAR IO


A DD CON STRAIN T FK_S OLICIT ACAO_R ESERVA _HORAR IO_hor ario
F OREIGN KEY ( id_ho rario)
REFER ENCES HORARI O;

- 7 -