Realizado

Banco De Dados De Sistema De Estoque

Publicado em 19 de Outubro de 2017 dias na TI e Programação

Sobre este projeto

Aberto

O almoxarifado em estudo, pertence a um grupo de empresas do ramo industrial e serve para estocar peças destinadas às várias empresas do grupo. Cada empresa do grupo é considerada um cliente do almoxarifado.
O almoxarifado está organizado em corredores. Cada corredor possui vários receptáculos para peças (um receptáculo é uma bacia retangular de material plástico). Os receptáculos são todos do mesmo tamanho.
Os corredores são numerados e os receptáculos são numerados por corredor. Por exemplo, o receptáculo 2-10 é o décimo receptáculo do segundo corredor.
Em uma das extremidades do almoxarifado encontra-se o setor de recepção de peças. Lá chegam as peças entregues pelos fornecedores. Quando ocorre a chegada de peças, a primeira atividade é registrar na ordem de compra a chegada das peças.
Uma cópia de toda ordem de compra é sempre enviada ao setor de recepção. Assim, neste setor sempre sabe-se quais as peças que estão por ser entregues. As ordens de compra são geradas no setor de compras e apenas repassadas ao almoxarifado.

Uma entrega corresponde sempre a uma ordem de compra. Em uma entrega podem ser entregues diferentes quantidades de diferentes peças.
As peças recebidas são colocadas sobre um estrado. Este estrado é então levado para o almoxarifado por uma empilhadeira e as peças são distribuídas nos receptáculos. Para cada peça, procura-se um receptáculo que já contenha unidades da peça em questão e que ainda tenha espaço para a carga chegada.
Caso não haja um receptáculo nestas condições, procura-se um receptáculo vazio.
A saída do almoxarifado se dá contra pedidos de clientes. Um pedido pode solicitar vários tipos de peças. Todas peças que atendem um pedido são juntadas, embaladas e colocadas em uma rampa de carga onde encosta o caminhão do cliente.

O objetivo do sistema é o de aumentar o lucro do almoxarifado, ajudando sua equipe a guardar e recuperar itens mais rapidamente e a conhecer as quantidades estocadas.
O almoxarifado é de grande porte e constantemente há várias empilhadeiras circulando por ele tanto para estocar entregas quando para buscar peças referentes a um pedido.
Outros detalhes do sistema são fornecidos a seguir.
O almoxarifado somente atende empresas. É Necessário manter um cadastro de clientes com CGC, nome, endereço e telefone de contato. Para cada peça é necessário conhecer seu UPC (“Universal Product Code”), descrição e número interno à organização.

Para cada entrega, o setor de recepção monta uma lista de distribuição, que instrui o operador sobre que peças, em quantidade ele deve estocar em que receptáculos. Para cada pedido, o setor de saída monta uma lista de busca, que instrui o operador sobre que peças, em quantidade ele deve buscar em que receptáculos.
Em termos de processos, é necessário que o sistema processe o seguinte:
- Dê as ordens de distribuição de peças chegada.
- Dê as ordens para busca para cada pedido.
- Mantenha a quantidade estocada de cada item e de cada receptáculo.
- Informe que peças em que quantidade devem ser estocadas ou buscadas em que receptáculos.
Em termos específicos de transações devem ser consideradas:
- Transações de chegada
À Registro da chegada de produtos
À Instruções para estocagem (em que receptáculos)
À Confirmação da estocagem em um receptáculo
- Transações de saída de produtos
À Registro de um pedido
À Geração da lista de busca
À Confirmação da busca
- Consolidação de receptáculos (juntar as peças de mesmo tipo de dois receptáculos diferentes)
Modelagem e Restrições de Integridade
Modelar as tabelas e regras de integridade (em Modelo de Entidade e Relacionamento).
- Tabelas e Atributos
- Restrições de integridades: Primary Keys e Foreign Keys
- Restrições de Integridades: Check constraints
- Elaborar scripts para criação de banco de dados
- Elaborar os scripts para a carga de dados no modelo
Elementos de Programação
Identificar partes potenciais do sistema para implementação dos diversos elementos de programação. Implementar elementos do banco de dados
- Procedures simples, para a manipulação de dados
- Procedure com lógica de negócio
- Triggers
- Funções
Além das regras já descritas, elaborar os procedimentos e gatilhos descritos abaixo:
1. Elabore uma procedure para efetuar o recebimento do estoque de uma peça.
A procedure deverá receber três parâmetros de entrada (pedido, código da peça e quantidade de entrada). Além de gerar uma tabela de PedidoPeça para armazenar as peças de cada pedido, deve também atualizar a quantidade de estoque da tabela de Peças

2. Elabore uma procedure para fazer uma cópia dos dados de um pedido de um determinado mês e ano, em uma tabela denominada Pedidos_finalizados, e todos os seus itens de PedidoPeça sejam armazenados em uma tabela denominada PedidosPeças_finalizados.
Após a cópia, o pedido e seus itens serão excluídos.

3. Elabore uma procedure para efetuar a comparação entre estoque mínimo e estoque atual de uma peça. Caso o estoque esteja abaixo do estoque mínimo, será armazenado em uma tabela peça_requisicao (codigo, qtd em estoque, qtd a comprar). Se for necessário, inclua o atributo estoque mínimo na tabela de peças.


4. Faça um trigger para armazenar em uma tabela chamada Historico_Pecas_Excluidas (código, descrição da peça) todas as peças que foram excluídas da tabela Peças, mais a informação de qual usuário do sistema realizou a exclusão e em qual data e hora. Atenção, essa trigger somente excluirá as peças se eles não tiverem quantidades em estoque. Caso isso aconteça a tabela chamada TentativasLog (data, operação, código da peça, usuário) é alimentada com os dados das peças que seriam excluídas.


5. Faça um trigger para armazenar em uma tabela chamada Histórico_Precos (código da peça, data, preço antigo, preço novo, usuário) as alterações de preços ocorridas nas peças cadastradas na tabela Peças. Atenção, esse trigger somente deverá ser disparado quando houver alteração no atributo valor da peça da tabela.

Categoria TI e Programação
Subcategoria Outros
Tamanho do projeto Pequeño
Isso é um projeto ou uma posição de trabalho? Um projeto
Disponibilidade requerida Conforme necessário
Experiência nesse tipo de projeto Sim (Eu já gerenciei esse tipo de projeto)

Prazo de Entrega: Não estabelecido

Habilidades necessárias