Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Chave Primária - Visivel ou não...
Message
 
To
All
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Chave Primária - Visivel ou não...
Miscellaneous
Thread ID:
00842006
Message ID:
00842006
Views:
52
Alow! Alow! Alow!

Estou com uma dúvida cruel... Tenho um sistema que a chave primária da tabela é o próprio código do produto. Exemplo da estrutura:
PRODUTOS.DBF
   CÓDIGO C (15) -> Primary Key
   DESCRIÇÃO C (50)
Tenho 2 alternativas para melhorar a estrutura acima...
Alternativa 1
   CHAVE I -> Primary Key
   CÓDIGO C (15) -> Candidate
   DESCRICAO C (50)

Alternativa 2
   CÓDIGO I -> Primary Key
   DESCRICAO C (50)
Meus comentários - Alternativa 1 x Alternativa 2:

Usando a alternativa 1, a chave primária ficaria oculta ao usuário, que estaria visualizando apenas o campo código. O usuário poderia alterar livremente o campo código (desde que não fosse um valor repetido) sem perder a integridade dos dados (que seria feita através do campo chave) ... O usuário também poderia definir um formato para o código, algo do tipo: A-01, A-02, B-01, ... ou qualquer outra combinação lógica de letras / sequenciais. Até aqui, só vantagens para essa alternativa. Agora vem o abacaxi... Imagine no formulário de vendas, tenho uma grid listando os produtos, o usuário digitaria o valor referente ao campo código nesta grid, e eu encontraria a descrição. Até aqui tudo normal, a não ser pelo fato de eu ter que gravar o campo CHAVE do produto na tabela dos pedidos_itens. Toda vez eu teria que converter o valor CODIGO em um valor CHAVE, tanto na hora de gravar, quanto na hora de ler... Alguém tem alguma dica para resolver isso?

Usando a alternativa 2 o usuário não poderia nem definir o formato do seu código (A-01, etc...) nem alterar o campo código se necessário, já que o campo código e a chave primária seria uma só coisa... A grande vantagem está no desenvolvimento do sistema: eu não precisaria ficar convertendo código em chave primária e vice-versa... o usuário digitou o código (que seria um sequencial numérico) e se esse produto existir, era só jogar esse valor para a tabela, sem ter que procurar código e gravar chave primária...

Qual a opinião de vocês a respeito disso...

[]s!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Rodolfo Duarte
Next
Reply
Map
View

Click here to load this message in the networking platform