Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Alguém pode me ajuda a fazer a modelagem corretamento de um banco de dados para um programa que realiza a venda de produtos e registro de serviços. Qual a melhor forma de eu modelar um banco aonde eu tenho uma tabela Pedido e quero adicionar a essa tabela vários Produtos e Serviços, não apenas 1 produto e 1 serviço, mas vários tipo de serviços e produtos diferentes ligados a tabela Pedido. Eu fiz um diagrama mas não tem certeza se essa é a melhor forma de fazer isso.
Diagrama
/applications/core/interface/imageproxy/imageproxy.php?img=https://uploaddeimagens.com.br/images/000/918/356/full/Diagrama_de_Classe.png&key=a0b71623630f77f8137e10834398ee43fe08d2314ae3df164249ddebda4617de" />
Preciso de Ajuda para modelar corretamente, por favor!
Obrigado, mas nesse caso especifico, que eu postei, qual seria a opção mais adequada?
Já tem alguns anos que eu não faço isso. Eu olhei o conteúdo de cada uma das apostilas antes de informar o link delas.
Dentro dessas apostilas, juntando todas, contém tudo de informação necessária a saber para poder se iniciar a documentação de um sistema. O que já tem pronto é só isso? Nas apostilas informa o que falta para terminar de documentar um sistema.
Uma boa forma de validsr um modelo é "fazer perguntas" para ele.
Pegue os requisitos e veja se o modelo atende e como atende.
Por exemplo :
O sistema permite pedir e faturar mais de um produto por pedido ?
O sistema permite maiscde um serviço por pedido ?
O sistema permite produtos e serviços no mesmo pedido ?
O sistema permite saber a situação de um pedido ?
Por aí ...
Na verdade era isso que eu quero ver, como iria ficar a implementacão do banco de dados, por exemplo:
Um Pedido pode ter varios Produtos e Serviços diferentes.
Um funcionário quando vai fazer um pedido pode colocar um serviço e nesse pedido com o servico ele pode adicionar varios produtos, com quantidades difrentes.
Eu estou tendo problema para modelar e como fazer para implementar nas tabelas etc.
Nesse cadastro acima de Dados de pessoas, em área de administração, as pessoas são classificadas em dois tipos:
Pessoa Fisica = individuo que possui um cpf e identidade RG e identidade profissional
Pessoa Jurídica = empresa que possui um CNPJ, possui um registro municipal, possui um registro estadual, possui um registro no INSS, possui um registro no CAGED, possui um registro no Corpo de Bombeiros, possui filiais, possui sócios, possui pessoas com procuração dos sócios para representar o sócio na ausência dele, possui Atas de reunião de Assembléia Geral Ordinária de eleição de sócios, possui contrato social ou estatuto social, e algumas vezes por procuração diversas pessoas podem representar uma empresa e as filiais da empresa, e outros documentos.
Desde 2013 a FEBRABAN obriga existir CPF ou CNPJ nos boletos bancários, validado junto a Receita Federal.
Quais dificuldades está tendo por exemplo ?
>
1 hora atrás, Motta disse:
Quais dificuldades está tendo por exemplo ?
A minha dificuldade é saber como montar as tabelas do banco de dados para funcionarem adequadamente, e se a modelagem que eu estou pensando esta correta, ex:
Eu tenho que realizar um Pedido, (Que pode ser chamado de Venda), que registra Produtos(ex: Computador) e Serviços(ex: Conserto de Aparelhos).
E em um pedido eu posso ter vários Pedidos diferentes, com quantidades diferentes(Computador - 5 itens, mouse - 10 itens, mesa - 1 itens) e vários Serviços diferentes(Conserto de Computador, Conserto de Rádio, Conserto de Carro) em um único Pedido.
Basicamente é isso...
Fases da Modelagem de Dados no Projeto de um Sistema (resumo me baseio em minha apostila da década de 90).
1º) Coleta de dados: ação de retirar do universo da informação os aspectos de interesse e criar um modelo de representação dos mesmos. Fazer um projeto com bases bem definidas a partir de um problema real e chegar a solução.
2º) Modelagem Conceitual = modelagem E. R. (Entidade - Relacionamento)
3º) Modelagem Lógica = matriz de dados, com uso de vetor para representar fisicamente a estrutura dos objetos.
4º) Modelagem Física = depende da máquina, é a representação fisica (encadeamento) de um arquivo com organização sequencial (lista linear, encadeamento, chave primária, arvore)
5º) Abstração de Dados: é o conjunto de objetos sobre os quais queremos e podemos fazer operações, "não" nos interessando saber como esses objetos são representados. Em uma abstração de dados: conheço os objetos, conheço as operações e seus objetos, não sei como foram implementados.
6º) Implementação = Linguagem de Programação
>
4 horas atrás, Ana Gauna disse:
Nesse cadastro acima de Dados de pessoas, em área de administração, as pessoas são classificadas em dois tipos:
Pessoa Fisica = individuo que possui um cpf e identidade RG e identidade profissional
Pessoa Jurídica = empresa que possui um CNPJ, possui um registro municipal, possui um registro estadual, possui um registro no INSS, possui um registro no CAGED, possui um registro no Corpo de Bombeiros, possui filiais, possui sócios, possui pessoas com procuração dos sócios para representar o sócio na ausência dele, possui Atas de reunião de Assembléia Geral Ordinária de eleição de sócios, possui contrato social ou estatuto social, e algumas vezes por procuração diversas pessoas podem representar uma empresa e as filiais da empresa, e outros documentos.
Desde 2013 a FEBRABAN obriga existir CPF ou CNPJ nos boletos bancários, validado junto a Receita Federal.
Sim, esta parte eu entendi, no diagrama de classes que eu coloquei no começo, na Tabela Cadastro_Pessoa > atributo cad_pessoa_tipo é aonde fica armazenado se é Pessoa física ou jurídica, essas informações são ligados a tabela Cadastro_Dados.
Assim também esta certo néh? Ou eu devo criar uma tabela separada com dados de pessoa física, jurídica, funcionario, admin, fornecedor? Faz sentido?
Montei um ER rspidamente para exemplificar...

Uma pergunta :
O Modelo permite acompanhar a variação de preços de um serviço/produto ?
Verá que o seu não.
O Modelo permite se aplicar descontos ?
.....
>
7 horas atrás, Fmix disse:
Sim, esta parte eu entendi, no diagrama de classes que eu coloquei no começo, na Tabela Cadastro_Pessoa > atributo cad_pessoa_tipo é aonde fica armazenado se é Pessoa física ou jurídica, essas informações são ligados a tabela Cadastro_Dados.
Assim também esta certo néh? Ou eu devo criar uma tabela separada com dados de pessoa física, jurídica, funcionario, admin, fornecedor? Faz sentido?
Eu acho que teria que ter uma tabela para a pessoa fisica, uma tabela para a pessoa juridica, depois da tabela criada, identificava quem é essa pessoa fisica (cliente, médico, advogado, sócio de empresa, procurador de empresa, contador, auditor, etc), e na tabela de pessoa juridica identificava depois quem é essa pessoa juridica (se é um cliente, fornecedor de que material, se é fornecedor de que tipo de serviços, se é fabricante de qual equipamento, se é fabricante de qual software, identifica pelo cnpj quais empresas são as filiais dessa empresa, quem são os sócios da empresa, quem são os procuradores da empresa, etc), porque quando aparece algum problema a ser resolvido a pessoa que controla a emissão de notas fiscais, faturas, boletos, tem que saber quem é a pessoa correta que ele tem que falar para poder resolver o problema com algum pagamento ou recebimento ou orçamento.
>
3 horas atrás, Ana Gauna disse:
Eu acho que teria que ter uma tabela para a pessoa fisica, uma tabela para a pessoa juridica, depois da tabela criada, identificava quem é essa pessoa fisica (cliente, médico, advogado, sócio de empresa, procurador de empresa, contador, auditor, etc), e na tabela de pessoa juridica identificava depois quem é essa pessoa juridica (se é um cliente, fornecedor de que material, se é fornecedor de que tipo de serviços, se é fabricante de qual equipamento, se é fabricante de qual software, identifica pelo cnpj quais empresas são as filiais dessa empresa, quem são os sócios da empresa, quem são os procuradores da empresa, etc), porque quando aparece algum problema a ser resolvido a pessoa que controla a emissão de notas fiscais, faturas, boletos, tem que saber quem é a pessoa correta que ele tem que falar para poder resolver o problema com algum pagamento ou recebimento ou orçamento.
Ana Gauna, você quis dizer assim:

Como eu faço pra relaciona a tabela pedido_item só com 1 produto OU 1 serviço?
E também como eu relaciono a tabela pessoa com apenas 1 pessoa_fisica OU 1 pessoa_juridica?

1º passo: alguém faz um pedido
2º passo: tem que identificar quem fêz o pedido, um indivíduo (pessoa fisica) ou uma empresa (pessoa juridica)
3º passo: tem que ligar a pessoa ao pedido de serviço ou pedido de produtos (ou ambos).
4º passo: tem que identificar que tipo de pedido foi feito, se foi de pedido de produtos ou se foi de serviços.
Se conferir todos os graficos que fêz, notei que tem informações que não estão em comum em todos.
Cada tipo de gráfico de modelagem de dados as os campos de dados tem que ter algo em comum.
Nesse ultimo que fêz faltou o item de tabela pessoa-dados para ligar a pessoa juridica e pessoa fisica.
Nesse último grafico olha como fêz no anterior, o item serviço, produto e pedido-item, compara eles.
Achei online uma explicação melhor para entender o Modelo Entidade-Relacionamento = http://www.inf.ufsc.br/~r.fileto/Disciplinas/INE5423-2010-1/Aulas/02-MER.pdf
Obrigado!
Depois, com essa ajuda, estou conseguindo implementar o banco de dados de uma melhor forma...
De nada.
A FEBRABAN este ano de 2017 está fazendo alteração nas regras de boleto bancário vencido, de inadimplentes, em rotina de sistema bancário junto com o Banco Central do Brasil. Até o final deste ano de 2017 várias regras terão alteração.
https://portal.febraban.org.br/pagina/3150/1094/pt-br/servicos-novo-plataforma-boletos
Achei apostilas online de modelagem de dados, isso deve ajudar:
http://www.unilivros.com.br/pdf/dbmod.pdf
http://faa.edu.br/revistas/docs/saber_digital/2008/artigos/ciencias_exatas_e_da_terra/v1_n1_art03.pdf
https://www.ime.usp.br/~jef/apostila.pdf
http://jkolb.com.br/wp-content/uploads/2016/10/modelagem_relacional.pdf