[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
RE: Re: Convenções para a primeira etapa do projeto
- Subject: RE: Re: Convenções para a primeira etapa do projeto
- From: Francisco Reverbel <reverbel at ime.usp.br>
- Date: Thu, 14 Oct 1999 22:49:11 -0300
Leonardo Rochael Almeida writes:
>
> Olá profesor,
>
> On Thu, 14 Oct 1999, Francisco Reverbel wrote:
>
> > [...]
> >
> > 2) Os códigos das Parts implementadas pelo servidor da equipe NN devem
> > ser prefixados pela string "reposNN-". Exemplo de códigos de peças
> > implementadas pelo servidor da equipe 7:
> >
> > "repos07-001"
> > "repos07-ab"
> > "repos07-qualquer-coisa-pode-aparecer-aqui"
> >
>
> Isso eu não entendi... Qual o propósito do código da peça carregar o nome
> do respositório junto?
É garantir que não haverão duas peças com o mesmo código.
> Eu acho que se deveria padronizar, por exemplo, o
> conjunto de caracteres que pode compor o código da peça (só letras e
> números, ou só números, por exemplo), mas ter o nome do repositório junto,
> pelo que eu me lembre, vai até contra umas recomendações sobre chaves
> primárias em base de dados, a de que sejam completamente arbitrárias, não
> carregando, em si, informações que estão (ou deveriam estar) presentes em
> outros campos, como é o caso do nome do repositório.
Certo, mas essa recomendação não é um dogma absoluto. O livro de bancos
de dados do Valdemar tem uma excelente discussão sobre esse assunto. Ele
diz que caso se considere a possibilidade de embutir informações numa
chave deve-se analisar a situação e avaliar o que se ganha e o que se
perde embutindo informações na chave.
Em nosso caso, escolhendo códigos de peças que são logicamente pares
(id_do_repositório, id_da_peça_dentro_do_repositório)
ganhamos duas coisas:
- É bem fácil garantir que não haverão duas peças com o mesmo código.
- Os códigos de peças serão relativamente "amigáveis" para usuários
humanos. Lembre-se que você precisará digitar ou escolher códigos de
peças quando estiver interagindo com o seu cliente. Seria muito
chato lidar com códigos de peças que fossem como os UUIDs
(identificadores universalmente únicos) do DCE...
Reverbel