CREATE TABLE Motoristas (
ID_MOTORISTA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
NOME VARCHAR(45) NULL,
ENDEREÇO VARCHAR(255) NULL,
RG VARCHAR(20) NULL,
CPF VARCHAR(20) NULL,
CNH VARCHAR(20) NULL,
TELEFONE VARCHAR(20) NULL,
CELULAR VARCHAR(20) NULL,
PRIMARY KEY(ID_MOTORISTA, ID_PROPRIETARIO),
INDEX Motoristas_FKIndex1(ID_PROPRIETARIO)
); </td>
</tr>
|
CREATE TABLE Ocorrencias (
ID_OCORRENCIA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
DATA_HORA DATETIME NULL,
DESCRIÇÃO VARCHAR(255) NULL,
ID_VEICULO INTEGER UNSIGNED NULL,
ID_MOTORISTA INTEGER UNSIGNED NULL,
NOME_INFORMANTE VARCHAR(45) NULL,
FONE_INFORMANTE VARCHAR(20) NULL,
PRIMARY KEY(ID_OCORRENCIA)
);<p> </td>
</tr>
|
CREATE TABLE Ocorrencias_Motoristas (
ID_OCORRENCIA INTEGER UNSIGNED NOT NULL,
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
ID_MOTORISTA INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(ID_OCORRENCIA, ID_PROPRIETARIO, ID_MOTORISTA),
INDEX Ocorrencias_Motoristas_FKIndex1(ID_MOTORISTA, ID_PROPRIETARIO),
INDEX Ocorrencias_Motoristas_FKIndex2(ID_OCORRENCIA)
);<p> </td>
</tr>
|
CREATE TABLE Ocorrencias_Veiculos (
ID_VEICULO INTEGER UNSIGNED NOT NULL,
ID_OCORRENCIA INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(ID_VEICULO, ID_OCORRENCIA),
INDEX Ocorrencias_Veiculos_FKIndex1(ID_OCORRENCIA),
INDEX Ocorrencias_Veiculos_FKIndex2(ID_VEICULO)
);<p> </td>
</tr>
|
CREATE TABLE Periodos (
ID_PERIODO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
NOME_PERIODO VARCHAR(45) NULL,
PRIMARY KEY(ID_PERIODO)
);<p> </td>
</tr>
|
CREATE TABLE Proprietarios (
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
NOME CHAR NULL,
ENDEREÇO CHAR NULL,
RG CHAR NULL,
CPF CHAR NULL,
TELEFONE CHAR NULL,
CELULAR CHAR NULL,
PRIMARY KEY(ID_PROPRIETARIO)
);<p> </td>
</tr>
|
CREATE TABLE REFERENCIAS (
ID_REFERENCIA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
BAIRRO VARCHAR(255) NULL,
DESCRICAO VARCHAR(255) NULL,
ESCOLA BOOL NULL,
PRIMARY KEY(ID_REFERENCIA)
);
</td>
</tr>
|
CREATE TABLE REL_EMPRESTA (
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
ID_VEICULO INTEGER UNSIGNED NOT NULL,
DATA_RETIRADA DATE NULL,
DATA_ENTREGA DATE NULL,
PRIMARY KEY(ID_PROPRIETARIO, ID_VEICULO),
INDEX Proprietarios_has_Veiculos_Sindicato_FKIndex1(ID_PROPRIETARIO),
INDEX Proprietarios_has_Veiculos_Sindicato_FKIndex2(ID_VEICULO)
);<p> </td>
</tr>
|
CREATE TABLE REL_REFERENCIAS (
ID_REFERENCIA INTEGER UNSIGNED NOT NULL,
ID_ROTA INTEGER UNSIGNED NOT NULL,
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(ID_REFERENCIA, ID_ROTA, ID_PROPRIETARIO),
INDEX Rotas_has_REFERENCIAS_FKIndex1(ID_ROTA, ID_PROPRIETARIO),
INDEX REL_REFERENCIAS_FKIndex2(ID_REFERENCIA)
);<p> </td>
</tr>
|
CREATE TABLE Rotas (
ID_ROTA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
ID_PERIODO INTEGER UNSIGNED NOT NULL,
PONTO_INICIO VARCHAR(45) NULL,
PONTO_FIM VARCHAR(45) NULL,
SITUAÇAO VARCHAR(255) NULL,
PRIMARY KEY(ID_ROTA, ID_PROPRIETARIO),
INDEX Rotas_FKIndex2(ID_PROPRIETARIO),
INDEX Rotas_FKIndex2(ID_PERIODO)
);<p> </td>
</tr>
|
CREATE TABLE Usuarios (
ID_USUARIO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
ID_ROTA INTEGER UNSIGNED NOT NULL,
ID_PERIODO INTEGER UNSIGNED NOT NULL,
NOME CHAR NOT NULL,
ENDEREÇO VARCHAR(255) NULL,
RG VARCHAR(20) NULL,
CPF VARCHAR(20) NULL,
TELEFONE INTEGER UNSIGNED NULL,
CELULAR VARCHAR(20) NULL,
NOME_RESPONSAVEL VARCHAR(45) NULL,
PRIMARY KEY(ID_USUARIO, ID_PROPRIETARIO, ID_ROTA, ID_PERIODO),
INDEX Usuarios_FKIndex1(ID_PROPRIETARIO),
INDEX Usuarios_FKIndex2(ID_ROTA, ID_PROPRIETARIO),
INDEX Usuarios_FKIndex3(ID_PERIODO)
);<p> </td>
</tr>
|
CREATE TABLE Veiculos (
ID_VEICULO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
MARCA VARCHAR(20) NULL,
ANO INTEGER UNSIGNED NULL,
MODELO VARCHAR(45) NULL,
FABRICANTE VARCHAR(45) NULL,
CHASSI VARCHAR(45) NULL,
PLACA VARCHAR(20) NULL,
COR VARCHAR(20) NULL,
CAPACIDADE INTEGER UNSIGNED NULL,
PRIMARY KEY(ID_VEICULO)
);<p> </td>
</tr>
|
CREATE TABLE Veiculos_Proprietarios (
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
ID_VEICULO INTEGER UNSIGNED NOT NULL,
valor_mensalidade FLOAT NULL,
PRIMARY KEY(ID_PROPRIETARIO, ID_VEICULO),
INDEX Veiculos_Proprietarios_FKIndex1(ID_VEICULO),
INDEX Veiculos_Proprietarios_FKIndex2(ID_PROPRIETARIO)
);<p> </td>
</tr>
|
CREATE TABLE Veiculos_Sindicato (
Veiculos_ID_VEICULO INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Veiculos_ID_VEICULO),
INDEX Veiculos_Sindicato_FKIndex1(Veiculos_ID_VEICULO)
);
</td>
</tr>
</table>
|