Clipper On Line • Ver Tópico - Modelo Banco de Dados

Modelo Banco de Dados

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

Modelo Banco de Dados

Mensagempor raquelreis » 28 Dez 2011 12:01

Bom dia à todos,

Estou tentando migrar um banco dbf para Mysql.
O sistema é um controle de estoque.
Estou tendo um pouquinho de dificuldade em escolher como fazer a modelagem.
Tenho uma tabela de estoque, que relacionada à ela tem:
* Produto
Relacionada a tabela de Produto eu tenho:
- Subcategoria
- Categoria (opcional, uma vez que Categoria e Subcategoria estão relacionadas)
- Unidade
- Fabricante.
Como chave primária de Produto, criei uma chave composta de Código+Cor+Tamanho, pois posso ter o mesmo produto(código) com grade(cor e tamanho) diferentes.
1) Problema: Se utilizar um campo auto-incremento como chave primária, ainda posso ter duplicação de produto.
Ex:
chave codigo cor tam
001 s10 2 20
002 s10 2 20
Ou seja, Cadastrei o mesmo produto (duplicidade).
Pendei em usar Unique, mas eu posso ter:
chave codigo cor tam
001 s10 3 20
002 s10 2 20
São produtos diferentes, mas como mesmo código e tamanho.
Então só me restou Chave Primária composta.
2) Meu cliente deseja ter apenas um produto 'S10' que pode ter várias cores e tamanhos. Ex:
codigo cor tam
s10 2 20
2 30
5 20

3) Problema: Como irei fazer o relacionamento entre Estoque e Produto?
Chave estrangeira Composta? Li em alguns fórum que é uma anomalia. Que posso ter muita dificuldade na manutenção...

O que vcs me indicam?

No dbf tenho várias 'tabelas', porém é repetido muita informação.

:)) Ano Novo!
Keel
[]'s

_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
Avatar de usuário

raquelreis
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 87
Data de registro: 18 Jul 2011 15:29
Cidade/Estado: à procura
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Modelo Banco de Dados

Mensagempor rochinha » 29 Dez 2011 18:54

Amiguinha,

Em se tratando de estoque onde voce manipula itens do tipo produto ou kit voce precisará de mais tabelas relacionadas e mais campos de controle.

Em primeiro lugar voce não deve usar a sua chave primaria para este vinculo. Ela servirá para manter a integridade dos registros de forma que não coincidam.

Voce precisará:

Arquivo estoque:
- 1 campo para armazenar o código de barras. Imprescindivel nos casos de vendas rápida no balcão e seu frente de caixa.
- 1 campo de referencia. Necessário para vinculo interno entre a loja e a produção(corte, acabamento, etc)
- 1 campo para data de producao. Interessante para dosar o tempo de vida do item, numa estação ou coleção.
- 1 campo para data de validade. Interessante para se retirar das prateleiras itens fora de estação ou coleção. Vender inverno no verão, só em queima.
- 1 campo para numero de lote. Necessário para dosar coleções de forma que o mesmo item produzido em épocas diferentes não seja relacionado erroneamente.
- 1 campo para o código da matiz, ou seja, coloração. 01-Amarelo, 02-verde, etc. Na sessão tabelas disponibilizei uma tabela.

Arquivo de grade:
- 1 campo código da grade. Que poderá ser composta de código do produto e codigo da matiz, ex: 125420-004, onde 125420 chave primária e 004 cor-Amarelo.
- 1 campo para salvar somente a chave primária do item do estoque. esta se repetira e portanto poderás filtrar por este campo.
- 1 campo para salvar o código da matiz. Interessante para filtrar todos os itens em uma cor.

Como voce irá controlar também o tamanho sugiro acrescentar ao código da grade um numero para este controle, ou seja, dois digito ta de bom tamanho, pois o padrão de medidas mudou e não teremos mais a figura de P,M,G,ExtraGrande,HiperSuperMegaUltralálálá e sim um controle diferenciado.

O exemplo ficaria, 125420-004-12. Desta forma voce poderia gerar os disparos de manutenção das quantidades para cada trecho do código.

Lembrando, chave-primária será o controle do registro e a chave da grade a chave de controle que voce quer manipular.

Com a chave primária, ex: 125420 voce terá apenas um registro no estoque e sua grade poderá ter quantas cores quizer com quantos tamanhos forem possíveis.

Assim como o cadastro de clientes só tem um registro para cada. Cada cliente possui vários registros de pedidos e cada pedidos possui vários registros de itens.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4207
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 495 vezes
Mens.Curtidas: 182 vezes

Modelo Banco de Dados

Mensagempor raquelreis » 30 Dez 2011 09:02

Bom dia Rochinha,
Muito obrigada pela dica....

Hehe, depois que postei, pensei melhor e vi que estava indo pelo caminho errado.
Sempre penso nos 3N, mas dessa vez parece que esqueci...
Se não me engano na 3 FN, diz que o que se repete = outra tabela.
Pensei em algo parecido com o que você falou...
fiz uma tabela de produto e outra com produto característica, e no estoque
uso a combinação de chave(campo normal) e uso outro para PK, como dito com vc.
Vou modelar e vê se dá certo.

Vlw pelas dicas....
Keel
[]'s

_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
Avatar de usuário

raquelreis
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 87
Data de registro: 18 Jul 2011 15:29
Cidade/Estado: à procura
Curtiu: 0 vez
Mens.Curtidas: 0 vez




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro