SanjaCity-Dev / PIM-III

0 stars 0 forks source link

DIAGRAMA ER #43

Open Fabiodiasjr opened 2 months ago

caiofilipesc commented 2 months ago

Representação visual das entidades do sistema, seus atributos e os relacionamentos entre elas, auxiliando no design e na modelagem do banco de dados relacional.

AninhaDias commented 4 weeks ago

Image

Modelo Conceitual 1

AninhaDias commented 4 weeks ago

Image

Modelo Conceitual 2

AninhaDias commented 4 weeks ago

Image

Modelo Lógico 1

AninhaDias commented 4 weeks ago

Image

Modelo Lógico 2

AninhaDias commented 2 weeks ago

/ Lógico_1: /

CREATE TABLE FORNECEDOR ( QUALIDADE_DO_PRODUTO INTEGER, CPF INTEGER, DATA_DE_ENTREGA DATE, ENDERECO VARCHAR(100), TELEFONE INTEGER, FEEDBACK_DO_CLIENTE INTEGER, ID_FORNECEDOR INTEGER PRIMARY KEY, NOME VARCHAR(50), E_MAIL VARCHAR(50) );

CREATE TABLE PRODUTO_ESTOQUE ( FK_ESTOQUE_IDESTOQUE INTEGER, ID_PRODUTO INTEGER, ID_ESTOQUE INTEGER, FK_PRODUTO_IDPRODUTO INTEGER, QUANTIDADE INTEGER, PRIMARY KEY (FK_ESTOQUE_IDESTOQUE, ID_PRODUTO, ID_ESTOQUE, FK_PRODUTO_IDPRODUTO) );

CREATE TABLE USUARIO ( ID_USUARIO INTEGER, SENHA_USUARIO VARCHAR(50), FK_FUNCIONARIO_IDFUNCIONARIO INTEGER, PRIMARY KEY (ID_USUARIO, FK_FUNCIONARIO_IDFUNCIONARIO) );

CREATE TABLE CLIENTES ( CPF INTEGER, INFORMACOES_DO_CLIENTE VARCHAR (50), NOME_DO_CLIENTE VARCHAR(50), ID_CLIENTE INTEGER PRIMARY KEY );

CREATE TABLE FUNCIONALIDADE ( ID_FUNCIONALIDADE INTEGER PRIMARY KEY, NOME VARCHAR(50) );

CREATE TABLE FUNCIONARIO ( ID_FUNCIONARIO INTEGER PRIMARY KEY, NOME VARCHAR(50), CPF INTERGER (, TELEFONE INTEGER, E_MAIL VARCHAR(50), ENDERECO VARCHAR(50) );

CREATE TABLE PEDIDO_VENDA ( ID_PEDIDO_VENDA INTEGER, FK_CLIENTES_IDCLIENTE INTEGER, PRIMARY KEY (ID_PEDIDO_VENDA, FK_CLIENTES_IDCLIENTE) );

CREATE TABLE PEDIDO_COMPRA ( FK_FORNECEDOR_IDFORNECEDOR INTEGER, ID_PEDIDO_COMPRA INTEGER, FK_PRODUTO_IDPRODUTO INTEGER, PRIMARY KEY (FK_FORNECEDOR_IDFORNECEDOR, ID_PEDIDO_COMPRA, FK_PRODUTO_IDPRODUTO) );

CREATE TABLE ITENS_DE_PRODUCAO ( ID_ITENS_DE_PRODUCAO INTEGER, FK_PRODUCAO_IDPRODUCAO INTEGER, FK_PRODUTO_IDPRODUTO INTEGER, QUANTIDADE INTEGER, PRIMARY KEY (ID_ITENS_DE_PRODUCAO, FK_PRODUCAO_IDPRODUCAO, FK_PRODUTO_IDPRODUTO) );

CREATE TABLE PRODUCAO ( ID_PRODUCAO INTEGER, FK_ITENS_DE_PRODUCAO_IDITENSDEPRODUCAO INTEGER, PRIMARY KEY (ID_PRODUCAO, FK_ITENS_DE_PRODUCAO_IDITENSDEPRODUCAO) );

CREATE TABLE FAZ ( FK_PEDIDO_VENDA_ID_PEDIDO_VENDA INTEGER, FK_PEDIDO_VENDA_FK_CLIENTES_IDCLIENTE INTEGER, FK_CLIENTES_ID_CLIENTE INTEGER, QUANTIDADE INTEGER );

CREATE TABLE PERMICAO ( FK_USUARIO_ID_USUARIO INTEGER, FK_USUARIO_FK_FUNCIONARIO_IDFUNCIONARIO INTEGER, FK_FUNCIONALIDADE_ID_FUNCIONALIDADE INTEGER, Criar BOOLEAN, Modificar BOOLEAN, Deletar BOOLEAN, Ler BOOLEAN );

CREATE TABLE TEM ( FK_FUNCIONARIO_ID_FUNCIONARIO INTEGER, FK_USUARIO_ID_USUARIO INTEGER, FK_USUARIO_FK_FUNCIONARIO_IDFUNCIONARIO INTEGER );

CREATE TABLE TEM ( FK_PEDIDO_VENDA_ID_PEDIDO_VENDA INTEGER, FK_PEDIDO_VENDA_FK_CLIENTES_IDCLIENTE INTEGER, FK_PRODUTO_ESTOQUE_FK_ESTOQUE_IDESTOQUE INTEGER, FK_PRODUTO_ESTOQUE_ID_PRODUTO INTEGER, QUANTIDADE INTEGER );

CREATE TABLE TEM ( FK_PRODUTO_ESTOQUE_FK_ESTOQUE_IDESTOQUE INTEGER, FK_PRODUTO_ESTOQUE_ID_PRODUTO INTEGER, FK_PEDIDO_COMPRA_FK_FORNECEDOR_IDFORNECEDOR INTEGER, FK_PEDIDO_COMPRA_ID_PEDIDO_COMPRA INTEGER, FK_PEDIDO_COMPRA_FK_PRODUTO_IDPRODUTO INTEGER, QUANTIDADE INTEGER );

CREATE TABLE FAZ ( FK_FORNECEDOR_ID_FORNECEDOR INTEGER, FK_PEDIDO_COMPRA_FK_FORNECEDOR_IDFORNECEDOR INTEGER, FK_PEDIDO_COMPRA_ID_PEDIDO_COMPRA INTEGER, FK_PEDIDO_COMPRA_FK_PRODUTO_IDPRODUTO INTEGER, QUANTIDADE INTEGER );

CREATE TABLE TEM ( FK_PRODUCAO_ID_PRODUCAO INTEGER, FK_PRODUCAO_FK_ITENS_DE_PRODUCAO_IDITENSDEPRODUCAO INTEGER, FK_ITENS_DE_PRODUCAO_ID_ITENS_DE_PRODUCAO INTEGER, FK_ITENS_DE_PRODUCAO_FK_PRODUCAO_IDPRODUCAO INTEGER, FK_ITENS_DE_PRODUCAO_FK_PRODUTO_IDPRODUTO INTEGER );

CREATE TABLE TEM ( FK_PRODUTO_ESTOQUE_FK_ESTOQUE_IDESTOQUE INTEGER, FK_PRODUTO_ESTOQUE_ID_PRODUTO INTEGER, FK_PRODUTO_ESTOQUE_ID_ESTOQUE INTEGER, FK_PRODUTO_ESTOQUE_FK_PRODUTO_IDPRODUTO INTEGER, FK_ITENS_DE_PRODUCAO_ID_ITENS_DE_PRODUCAO INTEGER, FK_ITENS_DE_PRODUCAO_FK_PRODUCAO_IDPRODUCAO INTEGER, FK_ITENS_DE_PRODUCAO_FK_PRODUTO_IDPRODUTO INTEGER );

ALTER TABLE FAZ ADD CONSTRAINT FK_FAZ_1 FOREIGN KEY (FK_PEDIDO_VENDA_ID_PEDIDO_VENDA, FK_PEDIDO_VENDA_FK_CLIENTES_IDCLIENTE) REFERENCES PEDIDO_VENDA (ID_PEDIDO_VENDA, FK_CLIENTES_IDCLIENTE) ON DELETE RESTRICT;

ALTER TABLE FAZ ADD CONSTRAINT FK_FAZ_2 FOREIGN KEY (FK_CLIENTES_ID_CLIENTE) REFERENCES CLIENTES (ID_CLIENTE) ON DELETE RESTRICT;

ALTER TABLE PERMICAO ADD CONSTRAINT FK_PERMICAO_1 FOREIGN KEY (FK_USUARIO_ID_USUARIO, FK_USUARIO_FK_FUNCIONARIO_IDFUNCIONARIO) REFERENCES USUARIO (ID_USUARIO, FK_FUNCIONARIO_IDFUNCIONARIO) ON DELETE RESTRICT;

ALTER TABLE PERMICAO ADD CONSTRAINT FK_PERMICAO_2 FOREIGN KEY (FK_FUNCIONALIDADE_ID_FUNCIONALIDADE) REFERENCES FUNCIONALIDADE (ID_FUNCIONALIDADE) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_1 FOREIGN KEY (FK_FUNCIONARIO_ID_FUNCIONARIO) REFERENCES FUNCIONARIO (ID_FUNCIONARIO) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_2 FOREIGN KEY (FK_USUARIO_ID_USUARIO, FK_USUARIO_FK_FUNCIONARIO_IDFUNCIONARIO) REFERENCES USUARIO (ID_USUARIO, FK_FUNCIONARIO_IDFUNCIONARIO) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_1 FOREIGN KEY (FK_PEDIDO_VENDA_ID_PEDIDO_VENDA, FK_PEDIDO_VENDA_FK_CLIENTES_IDCLIENTE) REFERENCES PEDIDO_VENDA (ID_PEDIDO_VENDA, FK_CLIENTES_IDCLIENTE) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_2 FOREIGN KEY (FK_PRODUTO_ESTOQUE_FK_ESTOQUE_IDESTOQUE, FK_PRODUTO_ESTOQUE_ID_PRODUTO, ???) REFERENCES PRODUTO_ESTOQUE (FK_ESTOQUE_IDESTOQUE, ID_PRODUTO, ???) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_1 FOREIGN KEY (FK_PRODUTO_ESTOQUE_FK_ESTOQUE_IDESTOQUE, FK_PRODUTO_ESTOQUE_ID_PRODUTO, ???) REFERENCES PRODUTO_ESTOQUE (FK_ESTOQUE_IDESTOQUE, ID_PRODUTO, ???) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_2 FOREIGN KEY (FK_PEDIDO_COMPRA_FK_FORNECEDOR_IDFORNECEDOR, FK_PEDIDO_COMPRA_ID_PEDIDO_COMPRA, FK_PEDIDO_COMPRA_FK_PRODUTO_IDPRODUTO) REFERENCES PEDIDO_COMPRA (FK_FORNECEDOR_IDFORNECEDOR, ID_PEDIDO_COMPRA, FK_PRODUTO_IDPRODUTO) ON DELETE RESTRICT;

ALTER TABLE FAZ ADD CONSTRAINT FK_FAZ_1 FOREIGN KEY (FK_FORNECEDOR_ID_FORNECEDOR) REFERENCES FORNECEDOR (ID_FORNECEDOR) ON DELETE RESTRICT;

ALTER TABLE FAZ ADD CONSTRAINT FK_FAZ_2 FOREIGN KEY (FK_PEDIDO_COMPRA_FK_FORNECEDOR_IDFORNECEDOR, FK_PEDIDO_COMPRA_ID_PEDIDO_COMPRA, FK_PEDIDO_COMPRA_FK_PRODUTO_IDPRODUTO) REFERENCES PEDIDO_COMPRA (FK_FORNECEDOR_IDFORNECEDOR, ID_PEDIDO_COMPRA, FK_PRODUTO_IDPRODUTO) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_1 FOREIGN KEY (FK_PRODUCAO_ID_PRODUCAO, FK_PRODUCAO_FK_ITENS_DE_PRODUCAO_IDITENSDEPRODUCAO) REFERENCES PRODUCAO (ID_PRODUCAO, FK_ITENS_DE_PRODUCAO_IDITENSDEPRODUCAO) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_2 FOREIGN KEY (FK_ITENS_DE_PRODUCAO_ID_ITENS_DE_PRODUCAO, FK_ITENS_DE_PRODUCAO_FK_PRODUCAO_IDPRODUCAO, FK_ITENS_DE_PRODUCAO_FK_PRODUTO_IDPRODUTO) REFERENCES ITENS_DE_PRODUCAO (ID_ITENS_DE_PRODUCAO, FK_PRODUCAO_IDPRODUCAO, FK_PRODUTO_IDPRODUTO) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_1 FOREIGN KEY (FK_PRODUTO_ESTOQUE_FK_ESTOQUE_IDESTOQUE, FK_PRODUTO_ESTOQUE_ID_PRODUTO, FK_PRODUTO_ESTOQUE_ID_ESTOQUE, FK_PRODUTO_ESTOQUE_FK_PRODUTO_IDPRODUTO) REFERENCES PRODUTO_ESTOQUE (FK_ESTOQUE_IDESTOQUE, ID_PRODUTO, ID_ESTOQUE, FK_PRODUTO_IDPRODUTO) ON DELETE RESTRICT;

ALTER TABLE TEM ADD CONSTRAINT FK_TEM_2 FOREIGN KEY (FK_ITENS_DE_PRODUCAO_ID_ITENS_DE_PRODUCAO, FK_ITENS_DE_PRODUCAO_FK_PRODUCAO_IDPRODUCAO, FK_ITENS_DE_PRODUCAO_FK_PRODUTO_IDPRODUTO) REFERENCES ITENS_DE_PRODUCAO (ID_ITENS_DE_PRODUCAO, FK_PRODUCAO_IDPRODUCAO, FK_PRODUTO_IDPRODUTO) ON DELETE RESTRICT;