3 - Modelo Físico
From Grupo2 Ahand
(Difference between revisions)
Line 1: | Line 1: | ||
- | CREATE TABLE Motoristas ( | + | (CREATE TABLE Motoristas ( |
ID_MOTORISTA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, | ID_MOTORISTA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, | ||
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL, | ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL, | ||
Line 11: | Line 11: | ||
PRIMARY KEY(ID_MOTORISTA, ID_PROPRIETARIO), | PRIMARY KEY(ID_MOTORISTA, ID_PROPRIETARIO), | ||
INDEX Motoristas_FKIndex1(ID_PROPRIETARIO) | INDEX Motoristas_FKIndex1(ID_PROPRIETARIO) | ||
- | ); | + | );) |
CREATE TABLE Ocorrencias ( | CREATE TABLE Ocorrencias ( |
Revision as of 23:52, 13 December 2006
(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)
);)
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)
);
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)
);
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)
);
CREATE TABLE Periodos (
ID_PERIODO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, NOME_PERIODO VARCHAR(45) NULL, PRIMARY KEY(ID_PERIODO)
);
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)
);
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)
);
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)
);
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)
);
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)
);
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)
);
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)
);
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)
);
CREATE TABLE Veiculos_Sindicato (
Veiculos_ID_VEICULO INTEGER UNSIGNED NOT NULL, PRIMARY KEY(Veiculos_ID_VEICULO), INDEX Veiculos_Sindicato_FKIndex1(Veiculos_ID_VEICULO)
);