[firebase-br] Opinião ID ou código

Carlos Roberto da Silva ralhos em gmail.com
Qui Jan 28 08:24:18 -03 2010


Nos meus primeiros projetos em Delphi/FireBird, optei por utilizar os
campos digitados pelo usuário, como PK, e isso me gerou vários
transtornos.
Até hoje, 7 anos depois, tenho problemas por isso, com algumas tabelas
chegando a ter 5 campos fazendo parte da PK.
Agora, nos meus novos projetos, utilizo um ID - Integer, como PK. Claro,
esta é a regra, tendo execeções.


Em Qua, 2010-01-27 às 17:13 -0200, Marco Antonio Abreu escreveu:
> Olá pessoal.
> 
> Estou modelando um novo BD e estou com uma dúvida. Eu tenho vários cadastros
> com códigos que serão informados pelos usuários, tais como matrícula, cod.
> de turma, cod. de disciplina etc. Nessa base terei também os lançamentos de
> presenças/faltas, aulas, notas etc dos alunos, professores, turmas... A
> minha dúvida é se devo utilizar esses códigos informados pelos usuários como
> PK ou se devo criar um campo ID, integer, por exemplo, como PK e deixar o
> campo informado apenas como atributo dos cadastros.
> 
> O primeiro caso é mais fácil de manipular os dados já que não precisarei
> acessar o cadastro para buscar o ID que deverei utilizar para cada
> transação. Por outro lado a utilização dos campos de código (varchar) como
> como chave espalhados por várias tabelas e muitas linhas deixará o BD maior
> e mais lento (isto ainda é verdade?). Ressalto que a performance é algo
> muito importante neste projeto, mas tb não posso sacrificar facilidades a de
> acesso a ponto de ficar difícil a utilização do BD pela aplicação, tendo de
> acessar o cadastro para obter o ID da entidade a cada transação. Alguém já
> passou por isso?
> 
> abs.
> 






Mais detalhes sobre a lista de discussão lista