Bom dia, estou com um trabalho de faculdade e sou iniciante. Preciso realizar o seguinte:
Criar um pequeno sistema para gerenciar o cadastro de mercadorias de uma loja e cadastro de clientes (a parte de clientes já finalizei, com tela e tudo mais. já o restante estou sofrendo). O sistema deverá ser capaz de Cadastrar produto e sua grade, Alterar um produto existente e sua grade, Excluir um produto e sua grade, Ter uma área para exibição dos produtos cadastrados e outra para a exibição da grade;
O cadastro do produto deve conter os seguintes campos:
-Código (sequencial e único); Descrição; Marca; Fornecedor; Observações;
O cadastro da grade do produto deve conter os seguintes campos:
-Tamanho; Código de Barras; Preço;Quantidade;
Alguém poderia me ajudar?
Pensei em inicialmente fazer uma tela de login, onde dependendo do botão clicado ele redimensiona para a página de cadastro cliente ou produto.
Então, realmente, não precisa de dois bancos de dados.
Toda essa informação se refere a um único domínio, que é o que constitui o sistema que você precisa desenvolver.
Agora, eu nem faço ideia do que seria a tal grade
Isso foi igual quando pesquisamos uma palavra no dicionário, tipo: admoestador: s.m.: aquele que admoesta. e quando você pesquisa admoesta, está lá: característica do admoestador.
O que diferencia o produto da grade? Quais seriam as colunas/atributos do produto e da grade?
@java.go, com o que você passou na descrição do seu problema não é necessário criar tabelas diferentes para produtos e grade. Pelo que eu entendi, a grade seria apenas a maneira de mostrar as informações dos produtos, contudo todos os campos que você disse que devem estar na grade, pode ser colocadas na mesma tabela de produtos.
Com a pouca informação que tive, acredito que seu banco de dados terá 2 tabelas: Cliente e Produto , sendo que elas não terão relacionamento. Caso o seu sistema fosse para controle de vendas além de cadastros, seria necessário a criação de mais 1 tabela, que poderíamos chamar de venda. Que teria as informações do cliente que realizou a compra e os produtos que o mesmo adquiriu.
Respondendo a sua dúvida, tabelas se comunicam por meio de relacionamentos de chaves primárias. Para ilustrar, a tabela de vendas teria a sua chave primaria e unica que a identificaria, teria também o código do cliente e do produto. Criando então o relacionamento, pois informações de outras tabelas estariam contidas em outra.
Exatamente @EduardoParreira. Consegui fazer uma boa parte. A dúvida agora e onde estou apanhando é criar a conexão entre essas duas tabelas.
Para que quando cadastrado as informações, como tamanho, quantidade e valor ela cai dentro do produto ou seja o cód do produto. E também para que quando eu clique no produto (cód) ele apareça todos as informações referente a aquele produto. Como quantos tem, quais os tamanhos…
Na parte que precisarei de relacionamento as tabelas são:
• produto • produtoGrade
em produto tenho:
• codProduto (chave primária e onde devem estar ligados os dados)
• descricao
• marca
• fornecedor
• observacao
e em produtoGrade tenho:
• codBarras
• tamanho
• preco
• quantidade
Ao cadastrar um produto na grade ele deve estar ligado ao código de um produto da tabela produto. E a mesma coisa, quando visualizar um produto na tabela produto, ele deve mostrar os produtos da grade desse produto (jTable).
Isso. Um exemplo seria uma tabela categoria e a outra produtos.
Creio que a lógica é a mesma, porem no meu caso é produto e produtoGrade.
Então quando eu seleciono um produto na jtable1 ele mostra todos os produtoGrade daquele produto selecionado na outra jtable2. Deu para entender mais ou menos?
“Então quando eu seleciono um produto na jtable1 ele mostra todos os produtoGrade daquele produto selecionado na outra jtable2. Deu para entender mais ou menos?”. Essa parte eu não entendi. Mas como disse sim para minha pergunta, vou tentar explicar de maneira simples:
Concorda comigo que as informações da tabela produtoGrade é um complemento da tabela de Produto ? Com isso, voce pode colocar todos os atributos dela na tabela Produto. Assim, podemos desenhar melhor esse relacionamento:
O relacionamento entre a tabela produto e grade é uma relação de N para N (Um produto pode estar em varias grades, assim como uma grade pode ter vários produtos). Para esse tipo, uma das alternativas é criar uma tabela auxiliar que irá registrar essa relação, no caso acima criei a ProdutosGrades, onde nela terá apenas o código do produto e o código da grade que ele pertence.
De modo resumido e pelo que eu entendi essa seria a melhor solução para o seu problema.
Observações:
Toda tabela deve ter pelo menos uma chave primária. Então, a tabela ProdutosGrade teria que ter também uma chave primária além dos dois atributos que coloquei.
Muito cuidado com modelagem do banco de dados, uma modelagem equivocada pode causar sérios problemas no sistema.
Sempre que estiver com a descrição dos requisitos, elabore um esquema para organizar as ideias. Não sou muito experiente, mas percebi em você uma certa dificuldade para dizer o que de fato precisava, o que de fato era o problema. Como dica, eu sempre separo as ideia em palavras chaves, e depois com calma vou realizando as ligações que as mesmas podem ter ou não, uma especie de brainstorming de ideia com você mesmo.
No mais, continue sempre a praticar. Banco de Dados é uma parte muito importante na área da tecnologia, e só se aprende fazendo.
tenho essa duvida só que no sistema, na parte de implementação, tipo já fiz o sistema e tudo, só que estou com problema para fazer que todos atletas que eu criar seja de determinando evento que eu selecionei na tela de seleção de evento.