Advertisement
Guest User

CREATE

a guest
Nov 21st, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 7.30 KB | None | 0 0
  1. CREATE TABLE Pessoas (
  2.   idPessoas INT NOT NULL AUTO_INCREMENT,
  3.   nome VARCHAR(100),
  4.   rua VARCHAR(50),
  5.   numero INT,
  6.   cidade VARCHAR(150),
  7.   estado CHAR(2),
  8.   pais VARCHAR(50),
  9.   CEP CHAR(8),
  10.   telefone1 VARCHAR(11),
  11.   telefone2 VARCHAR(11),
  12.   email VARCHAR(50),
  13.  
  14.   PRIMARY KEY (idPessoas)
  15. );
  16.  
  17. CREATE TABLE Funcao (
  18.   idFuncao INT NOT NULL AUTO_INCREMENT,
  19.   DescFuncao VARCHAR(30),
  20.  
  21.   PRIMARY KEY (idFuncao)
  22. );
  23.  
  24. CREATE TABLE Funcionarios (
  25.   idFuncionarios INT NOT NULL AUTO_INCREMENT,
  26.   idSupervisor INT,
  27.   idFuncao INT NOT NULL,
  28.   CPF CHAR(11),
  29.  
  30.   PRIMARY KEY (idFuncionarios),
  31.   FOREIGN KEY (idFuncionarios) REFERENCES Pessoas(idPessoas),
  32.   FOREIGN KEY (idSupervisor) REFERENCES Funcionarios(idFuncionarios),
  33.   FOREIGN KEY (idFuncao) REFERENCES Funcao (idFuncao)
  34. );
  35.  
  36. CREATE TABLE Clientes (
  37.   idClientes INT NOT NULL AUTO_INCREMENT,
  38.   CPF CHAR(11),
  39.    
  40.   PRIMARY KEY (idClientes),
  41.   FOREIGN KEY (idClientes) REFERENCES Pessoas(idPessoas)
  42. );
  43.  
  44. CREATE TABLE Fornecedores (
  45.   idFornecedores INT NOT NULL AUTO_INCREMENT,
  46.   CNPJ CHAR(14),
  47.  
  48.   PRIMARY KEY (idFornecedores),
  49.   FOREIGN KEY (idFornecedores) REFERENCES Pessoas(idPessoas)
  50. );
  51.  
  52. CREATE TABLE Departamentos (
  53.   idDepartamentos INT NOT NULL AUTO_INCREMENT,
  54.   idSupervisor INT,
  55.   nome VARCHAR(30),
  56.   ramal VARCHAR(5),
  57.   email VARCHAR(50),
  58.  
  59.   PRIMARY KEY (idDepartamentos),
  60.   FOREIGN KEY (idSupervisor) REFERENCES Funcionarios(idFuncionarios)
  61. );
  62.  
  63. CREATE TABLE DepartamentosFuncionarios (
  64.   idFuncionarios INT NOT NULL,
  65.   idDepartamentos INT NOT NULL,
  66.  
  67.   PRIMARY KEY(idFuncionarios, idDepartamentos),
  68.   FOREIGN KEY (idFuncionarios) REFERENCES Funcionarios(idFuncionarios),
  69.   FOREIGN KEY (idDepartamentos) REFERENCES Departamentos(idDepartamentos)
  70. );
  71.  
  72. CREATE TABLE DepartamentosFornecedores (
  73.   idFornecedores INT NOT NULL,
  74.   idDepartamentos INT NOT NULL,
  75.  
  76.   PRIMARY KEY(idFornecedores, idDepartamentos),
  77.   FOREIGN KEY (idFornecedores) REFERENCES Fornecedores(idFornecedores),
  78.   FOREIGN KEY (idDepartamentos) REFERENCES Departamentos(idDepartamentos)
  79. );
  80.  
  81. CREATE TABLE TipoContrato (
  82.   idTipoContrato INT NOT NULL AUTO_INCREMENT,
  83.   DescTipoContrato VARCHAR(30),
  84.  
  85.   PRIMARY KEY (idTipoContrato)
  86. );
  87.  
  88. CREATE TABLE Contratos (
  89.   idContratos INT NOT NULL AUTO_INCREMENT,
  90.   idFornecedores INT NOT NULL,
  91.   idTipoContrato INT NOT NULL,
  92.   dataInicio DATE,
  93.   dataFim DATE,
  94.  
  95.   PRIMARY KEY (idContratos),
  96.   FOREIGN KEY (idFornecedores) REFERENCES Fornecedores(idFornecedores),
  97.   FOREIGN KEY (idTipoContrato) REFERENCES TipoContrato(idTipoContrato)
  98. );
  99.  
  100. CREATE TABLE Produtos (
  101.   idProdutos INT NOT NULL AUTO_INCREMENT,
  102.   nome VARCHAR(200),
  103.   descricao VARCHAR(800),
  104.   preco DECIMAL(9, 2),
  105.  
  106.   PRIMARY KEY (idProdutos)
  107. );
  108.  
  109. CREATE TABLE ProdutosFornecedores (
  110.   idProdutos INT NOT NULL,
  111.   idFornecedores INT NOT NULL,
  112.  
  113.   PRIMARY KEY (idProdutos, idFornecedores),
  114.   FOREIGN KEY (idProdutos) REFERENCES Produtos(idProdutos),
  115.   FOREIGN KEY (idFornecedores) REFERENCES Fornecedores (idFornecedores)
  116. );
  117.  
  118. CREATE TABLE ProdutosContratos (
  119.   idProdutos INT NOT NULL,
  120.   idContratos INT NOT NULL,
  121.  
  122.   PRIMARY KEY (idProdutos, idContratos),
  123.   FOREIGN KEY (idProdutos) REFERENCES Produtos(idProdutos),
  124.   FOREIGN KEY (idContratos) REFERENCES Contratos(idContratos)
  125. );
  126.  
  127. CREATE TABLE Materiais (
  128.   idMateriais INT NOT NULL AUTO_INCREMENT,
  129.   quantidadeEmbalagem INT,
  130.  
  131.   PRIMARY KEY (idMateriais),
  132.   FOREIGN KEY (idMateriais) REFERENCES Produtos(idProdutos)
  133. );
  134.  
  135. CREATE TABLE Servicos (
  136.   idServicos INT NOT NULL AUTO_INCREMENT,
  137.   diasDuracao INT,
  138.  
  139.   PRIMARY KEY (idServicos),
  140.   FOREIGN KEY (idServicos) REFERENCES Produtos(idProdutos)
  141. );
  142.  
  143. CREATE TABLE LoteFabricacao (
  144.   idLoteFabricacao INT NOT NULL AUTO_INCREMENT,
  145.   idMateriais INT NOT NULL,
  146.   numeroLote NUMERIC,
  147.   dataFabricacao DATE,
  148.   dataVencimento DATE,
  149.  
  150.   PRIMARY KEY (idLoteFabricacao),
  151.   FOREIGN KEY (idMateriais) REFERENCES Materiais(idMateriais)
  152. );
  153.  
  154. CREATE TABLE Promocao (
  155.   idPromocao INT NOT NULL AUTO_INCREMENT,
  156.   idProdutos INT NOT NULL,
  157.   precoPromocional DECIMAL(9, 2),
  158.   porcentagemPromocao DECIMAL(5, 2),
  159.   dataInicio DATE,
  160.   dataFim DATE,
  161.  
  162.   PRIMARY KEY (idPromocao),
  163.   FOREIGN KEY (idProdutos) REFERENCES Produtos(idProdutos)
  164. );
  165.  
  166. CREATE TABLE PesquisaSatisfacao (
  167.   idPesquisaSatisfacao INT NOT NULL AUTO_INCREMENT,
  168.   idMateriais INT NOT NULL,
  169.   idFuncionarios INT NOT NULL,
  170.   nota INT,
  171.   observacaoGeral VARCHAR(800),
  172.  
  173.   PRIMARY KEY (idPesquisaSatisfacao),
  174.   FOREIGN KEY (idMateriais) REFERENCES Materiais (idMateriais),
  175.   FOREIGN KEY (idFuncionarios) REFERENCES Funcionarios (idFuncionarios)
  176. );
  177.  
  178. CREATE TABLE FormaPagamento (
  179.   idFormaPagamento INT NOT NULL AUTO_INCREMENT,
  180.   DescFormaPagamento VARCHAR(30),
  181.  
  182.   PRIMARY KEY (idFormaPagamento)
  183. );
  184.  
  185. CREATE TABLE Venda (
  186.   idVenda INT NOT NULL AUTO_INCREMENT,
  187.   idClientes INT,
  188.   idFuncionarios INT NOT NULL,
  189.   idFormaPagamento INT NOT NULL,
  190.   dataVenda DATE,
  191.  
  192.   PRIMARY KEY (idVenda),
  193.   FOREIGN KEY (idClientes) REFERENCES Clientes(idClientes),
  194.   FOREIGN KEY (idFuncionarios) REFERENCES Funcionarios(idFuncionarios),
  195.   FOREIGN KEY (idFormaPagamento) REFERENCES FormaPagamento(idFormaPagamento)
  196. );
  197.  
  198. CREATE TABLE ItensVenda (
  199.   idVenda INT NOT NULL,
  200.   idItensVenda INT NOT NULL,
  201.   idProdutos INT NOT NULL,
  202.   precoVenda DECIMAL(9, 2),
  203.   qtdVenda INT,
  204.  
  205.   PRIMARY KEY (idVenda, idItensVenda),
  206.   FOREIGN KEY (idVenda) REFERENCES Venda(idVenda),
  207.   FOREIGN KEY (idProdutos) REFERENCES Produtos(idProdutos)
  208. );
  209.  
  210. CREATE TABLE Compra (
  211.   idCompra INT NOT NULL AUTO_INCREMENT,
  212.   idSupervisor INT,
  213.   idFuncionarioSolicitante INT NOT NULL,
  214.   idFormaPagamento INT,
  215.   statusCompra INT,
  216.   dataCompra DATE,
  217.  
  218.   PRIMARY KEY (idCompra),
  219.   FOREIGN KEY (idSupervisor) REFERENCES Funcionarios(idFuncionarios),
  220.   FOREIGN KEY (idFuncionarioSolicitante) REFERENCES Funcionarios(idFuncionarios),
  221.   FOREIGN KEY (idFormaPagamento) REFERENCES FormaPagamento(idFormaPagamento)
  222. );
  223.  
  224. CREATE TABLE ItensCompra (
  225.   idCompra INT NOT NULL,
  226.   idItensCompra INT NOT NULL,
  227.   idProdutos INT NOT NULL,
  228.   idFornecedores INT NOT NULL,
  229.   precoCompra DECIMAL(9, 2),
  230.   qtdCompra INT,
  231.  
  232.   PRIMARY KEY (idCompra, idItensCompra),
  233.   FOREIGN KEY (idProdutos) REFERENCES Produtos(idProdutos),
  234.   FOREIGN KEY (idFornecedores) REFERENCES Fornecedores(idFornecedores)
  235. );
  236.  
  237. CREATE TABLE Historico_Compra (
  238.   idCompra INT NOT NULL AUTO_INCREMENT,
  239.   idSupervisor INT,
  240.   idFuncionarioSolicitante INT NOT NULL,
  241.   idFormaPagamento INT,
  242.   statusCompra INT,
  243.   dataCompra DATE,
  244.  
  245.   PRIMARY KEY (idCompra),
  246.   FOREIGN KEY (idSupervisor) REFERENCES Funcionarios(idFuncionarios),
  247.   FOREIGN KEY (idFuncionarioSolicitante) REFERENCES Funcionarios(idFuncionarios),
  248.   FOREIGN KEY (idFormaPagamento) REFERENCES FormaPagamento(idFormaPagamento)
  249. );
  250.  
  251. CREATE TABLE Historico_ItensCompra (
  252.   idCompra INT NOT NULL,
  253.   idItensCompra INT NOT NULL,
  254.   idProdutos INT NOT NULL,
  255.   idFornecedores INT NOT NULL,
  256.   precoCompra DECIMAL(9, 2),
  257.   qtdCompra INT,
  258.  
  259.   PRIMARY KEY (idCompra, idItensCompra),
  260.   FOREIGN KEY (idProdutos) REFERENCES Produtos(idProdutos),
  261.   FOREIGN KEY (idFornecedores) REFERENCES Fornecedores(idFornecedores)
  262. );
  263.  
  264. CREATE TABLE Estoque (
  265.   idEstoque INT NOT NULL,
  266.   qtdMateriais INT,
  267.  
  268.   PRIMARY KEY (idEstoque),
  269.   FOREIGN KEY (idEstoque) REFERENCES Materiais(idMateriais)
  270. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement