[firebase-br] Chave Primária Composta (Pros/Contra)

Eduardo Bahiense eduardo em icontroller.com.br
Ter Mar 4 13:41:41 -03 2008


Só uso compostas pelo simples motivo de evitar excesso de metadata.
Se três campos determinam a unicidade de um registro, porque devo criar 
um quarto para servir de chave primária e mais um índice unique, se uma 
constraint pk resolve.
Nossas bases atingem de 3 a 4 GB com mais de 350 tabelas. Não tenho o 
que reclamar de performance e estabilidade. Nunca tivemos corrupção de base.

Abs

Eduardo


HPensador escreveu:
> Bom dia Colegas!
> 
> Gostaria da opinião de vocês sobre a questão de se utilizar chave 
> primária composta.
> 
> Create table exemplo1 (
>   cod_tab1 integer not null,
>   descricao varchar(40) not null,
>   constraint pk_exemp1 primary key(codigo)
> )
> 
> Create table exemplo2 (
>   cod_tab2 integer not null,
>   cod_tab1 integer not null,
>   descricao varchar(40) not null,
>   constraint fk_tab2_tab1 foreign key (cod_tab1) references exemplo1
>    (cod_tab1) on update cascade,
>   contraint pk_exemp2 primary key (cod_tab1, cod_tab2)
> )
> 
> Create table exemplo3 (
>   cod_tab3 integer not null,
>   cod_tab2 integer not null,
>   cod_tab1 integer not null,
>   descricao varchar(40) not null,
>   constraint fk_tab3_tab2 foreign key (cod_tab2) references exemplo2
>     (cod_tab2) on update cascade,
>   constraint fk_tab3_tab1 foreign key (cod_tab1) references exemplo1
>     (cod_tab1) on update cascade,
>   constraint pk_exemp3 primary key (cod_tab1, cod_tab2, cod_tab3)
> )
> 
> Nobres colegas este exemplo retrata um situação atual que estou vivendo 
> e não sei como poderia modificar essa estrutura. Já tentei utilizar 
> Unique, mais não me atende a contento... vejam abaixo a estrutura que 
> necessito montar.
> 
>       estante    prateleira   volume
>         1           1            1
>         1           1            2
>         2           1            1
>         2           1            2
>         2           2            1
>         2           2            2
>         2           3            1
>         2           3            2
> 
> Sds,
> HPensador
> 
> 
> 
> 
> ______________________________________________
> 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