text: CREATE DATABASE TRANSPORTADORA;
  
  USE TRANSPORTADORA;
  
  CREATE TABLE LOCAL(
  	UF CHAR(2) UNIQUE NOT NULL,
  	CEP CHAR(9) UNIQUE NOT NULL,
  	CIDADE VARCHAR(25),
  	BAIRRO VARCHAR(25),
  	RUA VARCHAR(25),
  	NUMERO INT,
  	COMPL VARCHAR(15),		/*COMPLEMENTO*/
  	PRIMARY KEY(UF,CEP)
  );
  
  CREATE TABLE CLIENTE(
  	IDCLIENTE VARCHAR(14) PRIMARY KEY NOT NULL,		/*CPF ou CNPJ*/
  	NOME VARCHAR(45) NOT NULL,
  	TELEFONE VARCHAR(30) NOT NULL,
  	UF CHAR(2),
  	CEP CHAR(9),
  	CIDADE VARCHAR(25),
  	BAIRRO VARCHAR(25),
  	RUA VARCHAR(25),
  	NUMERO INT,
  	COMPL VARCHAR(15)		/*COMPLEMENTO*/			
  );
  
  CREATE TABLE MARCA(
  	IDMARCA INT PRIMARY KEY AUTO_INCREMENT,
  	NOME VARCHAR(20)
  );
  
  CREATE TABLE MODELO(
  	IDMODELO INT PRIMARY KEY AUTO_INCREMENT,
  	NOME VARCHAR(20)
  );
  
  CREATE TABLE VEICULO(
  	PLACA CHAR(9) PRIMARY KEY NOT NULL,
  	ANOFAB INT,
  	ID_MARCA INT,						/*FK*/
  	ID_MODELO INT,						/*FK*/
  	LOCAL_UF CHAR(2) NOT NULL,			/*FK*/
  	LOCAL_CEP CHAR(9) NOT NULL			/*FK*/
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE VEICULO ADD CONSTRAINT FK_VEICULO_MARCA
  FOREIGN KEY(ID_MARCA) REFERENCES MARCA(IDMARCA);
  
  ALTER TABLE VEICULO ADD CONSTRAINT FK_VEICULO_MODELO
  FOREIGN KEY(ID_MODELO) REFERENCES MODELO(IDMODELO);
  
  ALTER TABLE VEICULO ADD CONSTRAINT FK_VEICULO_LOCAL_UF
  FOREIGN KEY(LOCAL_UF) REFERENCES LOCAL(UF);
  
  ALTER TABLE VEICULO ADD CONSTRAINT FK_VEICULO_LOCAL_CEP
  FOREIGN KEY(LOCAL_CEP) REFERENCES LOCAL(CEP);	
  
  
  CREATE TABLE CATEGORIA(
  	IDCATEGORIA INT PRIMARY KEY AUTO_INCREMENT,
  	NOME VARCHAR(20)						/*EXEMPLO: INFLAMAVEL*/
  );
  
  CREATE TABLE PRODUTO(
  	IDPRODUTO INT PRIMARY KEY AUTO_INCREMENT,
  	NOME VARCHAR(20) NOT NULL,
  	PRECO FLOAT,
  	PESO FLOAT,
  	ALTURA FLOAT,
  	LARGURA FLOAT,
  	ID_CATEGORIA INT NOT NULL 				/*FK*/
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE PRODUTO ADD CONSTRAINT FK_PRODUTO_CATEGORIA
  FOREIGN KEY(ID_CATEGORIA) REFERENCES CATEGORIA(IDCATEGORIA);
  
  
  CREATE TABLE PEDIDO(
  	IDPEDIDO INT PRIMARY KEY AUTO_INCREMENT,	/*CODIGO DE RASTREIO*/
  	FRETE FLOAT,
  	ID_PRODUTO INT,							/*FK*/
  	ID_CLIENTE VARCHAR(14)					/*FK*/
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE PEDIDO ADD CONSTRAINT FK_PEDIDO_PRODUTO
  FOREIGN KEY(ID_PRODUTO) REFERENCES PRODUTO(IDPRODUTO);
  
  ALTER TABLE PEDIDO ADD CONSTRAINT FK_PEDIDO_CLIENTE
  FOREIGN KEY(ID_CLIENTE) REFERENCES CLIENTE(IDCLIENTE);
  
  
  CREATE TABLE PEDIDO_VEICULO(
  	ID_PEDIDO INT NOT NULL,					/*PK E FK*/
  	ID_PLACA CHAR(9) NOT NULL,				/*PK E FK*/
  	PRIMARY KEY(ID_PEDIDO,ID_PLACA)			
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE PEDIDO_VEICULO ADD CONSTRAINT FK_PEDIDO_VEICULO_PLACA
  FOREIGN KEY(ID_PLACA) REFERENCES VEICULO(PLACA);
  
  ALTER TABLE PEDIDO_VEICULO ADD CONSTRAINT FK_PEDIDO_VEICULO_PEDIDO
  FOREIGN KEY(ID_PEDIDO) REFERENCES PEDIDO(IDPEDIDO);		
  
  
  CREATE TABLE TIPO_FUNCIONARIO(
  	IDTIPO_FUNCIONARIO INT PRIMARY KEY AUTO_INCREMENT,
  	NOME ENUM('MOT','OPE') NOT NULL						/*MOTORISTA OU OPERADOR*/
  );
  
  CREATE TABLE FUNCIONARIO(
  	IDFUNCIONARIO INT PRIMARY KEY AUTO_INCREMENT,
  	NOME VARCHAR(25),
  	SEXO ENUM('M','F'),
  	TELEFONE VARCHAR(16),
  	DATAENT DATE,							/*DATA DE CONTRATACAO*/
  	HORAS INT,								/*HORAS TRABALHADAS*/
  	ID_TIPO_FUNCIONARIO INT					/*FK*/
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE FUNCIONARIO ADD CONSTRAINT FK_FUNCIONARIO_TIPO
  FOREIGN KEY(ID_TIPO_FUNCIONARIO) REFERENCES FUNCIONARIO(IDFUNCIONARIO);
  
  
  CREATE TABLE MOTORISTA(
  	ID_FUNCIONARIO INT, 				/*FK E PK*/
  	CNH VARCHAR(10),
  	MULTAS INT,
  	VALIDADE DATE,
  	PRIMARY KEY(ID_FUNCIONARIO)
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE MOTORISTA ADD CONSTRAINT FK_MOTORISTA_FUNCIONARIO
  FOREIGN KEY(ID_FUNCIONARIO) REFERENCES FUNCIONARIO(IDFUNCIONARIO);
  
  
  CREATE TABLE SETOR(
  	IDSETOR INT PRIMARY KEY AUTO_INCREMENT,
  	NOME VARCHAR(20)
  );
  
  CREATE TABLE OPERADOR(
  	ID_FUNCIONARIO INT, 				/*FK E PK*/
  	ID_SETOR INT,						/*FK*/
  	PRIMARY KEY(ID_FUNCIONARIO)					
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE OPERADOR ADD CONSTRAINT FK_OPERADOR_FUNCIONARIO
  FOREIGN KEY(ID_FUNCIONARIO) REFERENCES FUNCIONARIO(IDFUNCIONARIO);
  
  ALTER TABLE OPERADOR ADD CONSTRAINT FK_OPERADOR_SETOR
  FOREIGN KEY(ID_SETOR) REFERENCES SETOR(IDSETOR);
  
  
  CREATE TABLE VEICULO_MOTORISTA(
  	ID_PLACA CHAR(9),		/*PK E FK*/
  	ID_MOTORISTA INT,	/*PK E FK*/
  	PRIMARY KEY(ID_PLACA,ID_MOTORISTA)
  );
  /*CRIANDO AS RELACOES ENTRE TABELAS*/
  ALTER TABLE VEICULO_MOTORISTA ADD CONSTRAINT FK_VEICULO_MOTORISTA_PLACA
  FOREIGN KEY(ID_PLACA) REFERENCES VEICULO(PLACA);
  
  ALTER TABLE VEICULO_MOTORISTA ADD CONSTRAINT FK_VEICULO_MOTORISTA_MOTORISTA
  FOREIGN KEY(ID_MOTORISTA) REFERENCES MOTORISTA(ID_FUNCIONARIO);