3 - Modelo Físico

From Grupo2 Ahand

(Difference between revisions)
Line 1: Line 1:
-
CREATE TABLE Motoristas (
+
<table border="0" width="62%" cellspacing="1" cellpadding="0" id="table1">
-
  ID_MOTORISTA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+
<tr>
-
  ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
+
<td>CREATE TABLE Motoristas (<br>
-
  NOME VARCHAR(45) NULL,
+
ID_MOTORISTA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,<br>
-
  ENDEREÇO VARCHAR(255) NULL,
+
ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,<br>
-
  RG VARCHAR(20) NULL,
+
NOME VARCHAR(45) NULL,<br>
-
  CPF VARCHAR(20) NULL,
+
ENDEREÇO VARCHAR(255) NULL,<br>
-
  CNH VARCHAR(20) NULL,
+
RG VARCHAR(20) NULL,<br>
-
  TELEFONE VARCHAR(20) NULL,
+
CPF VARCHAR(20) NULL,<br>
-
  CELULAR VARCHAR(20) NULL,
+
CNH VARCHAR(20) NULL,<br>
-
  PRIMARY KEY(ID_MOTORISTA, ID_PROPRIETARIO),
+
TELEFONE VARCHAR(20) NULL,<br>
-
  INDEX Motoristas_FKIndex1(ID_PROPRIETARIO)
+
CELULAR VARCHAR(20) NULL,<br>
-
)
+
PRIMARY KEY(ID_MOTORISTA, ID_PROPRIETARIO),<br>
-
 
+
INDEX Motoristas_FKIndex1(ID_PROPRIETARIO)<br>
-
CREATE TABLE Ocorrencias (
+
);</td>
-
  ID_OCORRENCIA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+
</tr>
-
  DATA_HORA DATETIME NULL,
+
<tr>
-
  DESCRIÇÃO VARCHAR(255) NULL,
+
<td>CREATE TABLE Ocorrencias (<br>
-
  ID_VEICULO INTEGER UNSIGNED NULL,
+
ID_OCORRENCIA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,<br>
-
  ID_MOTORISTA INTEGER UNSIGNED NULL,
+
DATA_HORA DATETIME NULL,<br>
-
  NOME_INFORMANTE VARCHAR(45) NULL,
+
DESCRIÇÃO VARCHAR(255) NULL,<br>
-
  FONE_INFORMANTE VARCHAR(20) NULL,
+
ID_VEICULO INTEGER UNSIGNED NULL,<br>
-
  PRIMARY KEY(ID_OCORRENCIA)
+
ID_MOTORISTA INTEGER UNSIGNED NULL,<br>
-
);
+
NOME_INFORMANTE VARCHAR(45) NULL,<br>
-
 
+
FONE_INFORMANTE VARCHAR(20) NULL,<br>
-
CREATE TABLE Ocorrencias_Motoristas (
+
PRIMARY KEY(ID_OCORRENCIA)<br>
-
  ID_OCORRENCIA INTEGER UNSIGNED NOT NULL,
+
);</td>
-
  ID_PROPRIETARIO INTEGER UNSIGNED NOT NULL,
+
</tr>
-
  ID_MOTORISTA INTEGER UNSIGNED NOT NULL,
+
<tr>
-
  PRIMARY KEY(ID_OCORRENCIA, ID_PROPRIETARIO, ID_MOTORISTA),
+
<td>&nbsp;</td>
-
  INDEX Ocorrencias_Motoristas_FKIndex1(ID_MOTORISTA, ID_PROPRIETARIO),
+
</tr>
-
  INDEX Ocorrencias_Motoristas_FKIndex2(ID_OCORRENCIA)
+
<tr>
-
);
+
<td>&nbsp;</td>
-
 
+
</tr>
-
CREATE TABLE Ocorrencias_Veiculos (
+
<tr>
-
  ID_VEICULO INTEGER UNSIGNED NOT NULL,
+
<td>&nbsp;</td>
-
  ID_OCORRENCIA INTEGER UNSIGNED NOT NULL,
+
</tr>
-
  PRIMARY KEY(ID_VEICULO, ID_OCORRENCIA),
+
<tr>
-
  INDEX Ocorrencias_Veiculos_FKIndex1(ID_OCORRENCIA),
+
<td>&nbsp;</td>
-
  INDEX Ocorrencias_Veiculos_FKIndex2(ID_VEICULO)
+
</tr>
-
);
+
</table>
-
 
+
-
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)
+
-
);
+

Revision as of 23:55, 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)

);
 
 
 
 
Personal tools