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

Douglas Silva forum_firebird em daunebr.com
Qui Jan 28 09:24:37 -03 2010


Nao sei pq ter excecoes.

Se vc tem uma tabela que com certeza ela tera menos de 32mil registros, use smallint como PK, autoincrement. Sempre.
Se vc tem mais do que isto, use integer.

Pra nao ter cmapos duplicados use UNIQUE.




________________________________
From: Carlos Roberto da Silva <ralhos em gmail.com>
To: FireBase <lista em firebase.com.br>
Sent: Thu, January 28, 2010 8:24:18 AM
Subject: Re: [firebase-br] Opinião ID ou código

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.
> 



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



Mais detalhes sobre a lista de discussão lista