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

Felix felix2005 em oi.com.br
Qua Jan 27 18:00:31 -03 2010


Existe a seguinte premissa: nunca deixe a PK na mão do usuário.

Mas, como toda regra tem exceção...

Matrícula - pode até ser definida pelo usuário, pois 2 alunos NÃO poderão
ter o mesmo n. de matricula, certo? O sistema terá obrigação de verificar se
essa já está cadastrada e impedir qq tipo de duplicidade.
cod. de turma - eu faria controle interno da PK. O usuário pode até ser
informado do valor, mas não poderia alterar...
cod. de disciplina - Tb controle interno da PK.


Fco. Felix
Desenvolvimento de Sistemas
www.soltecnologia.com.br

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Marco Antonio Abreu
Enviada em: quarta-feira, 27 de janeiro de 2010 16:14
Para: FireBase
Assunto: [firebase-br] Opinião ID ou código

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.

-- 
Marco Antonio Abreu
mabreu.ti em gmail.com
System Analist/Developer
______________________________________________
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