-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.sql
42 lines (42 loc) · 1.28 KB
/
database.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
CREATE TABLE IF NOT EXIST eletricista
(
matricula INT NOT NULL,
nome_completo VARCHAR(64) UNIQUE,
CONSTRAINT PK_eletricista PRIMARY KEY (matricula)
);
CREATE TABLE IF NOT EXIST supervisor
(
matricula INT NOT NULL,
nome_completo VARCHAR(64) UNIQUE,
CONSTRAINT PK_supervisor PRIMARY KEY (matricula)
);
CREATE TABLE IF NOT EXIST atividade
(
id INT NOT NULL,
atividade VARCHAR(16) UNIQUE,
CONSTRAINT PK_atividade PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXIST regional
(
id INT NOT NULL,
regional VARCHAR(16) UNIQUE,
CONSTRAINT PK_regional PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXIST composicao
(
dia DATE NOT NULL,
adesivo INT NOT NULL,
placa CHAR(7) NOT NULL,
recurso VARCHAR(32) NOT NULL,
atividade INT NOT NULL,
motorista INT NOT NULL,
ajudante INT NOT NULL,
supervisor INT NOT NULL,
regional INT NOT NULL,
CONSTRAINT PK_composicao PRIMARY KEY (dia,recurso),
CONSTRAINT FK_motorista FOREIGN KEY (motorista) REFERENCES eletricista(matricula),
CONSTRAINT FK_ajudante FOREIGN KEY (ajudante) REFERENCES eletricista(matricula),
CONSTRAINT FK_supervisor FOREIGN KEY (supervisor) REFERENCES supervisor(matricula),
CONSTRAINT FK_regional FOREIGN KEY (regional) REFERENCES regional(id),
CONSTRAINT FK_atividade FOREIGN KEY (atividade) REFERENCES atividade(id)
);