[firebase-br] Duvida

Walter R. Ojeda Valiente sistemas2000profesional em gmail.com
Sex Nov 7 23:30:11 -03 2014


Tienes un error de concepto.

La Primary Key no debería tener campos subrogados, o sea campos que tienen
algún significado, que sirven para alguna otra cosa. Desde luego que puedes
tener una Primary Key como la que has definido, pero eso no es lo correcto.

Lo correcto es que tu Primary Key sea numérica y auto-incremental.

Para evitar que algunos valores se repitan en una columna o más de una
columna se usan las Unique Keys.

En el caso de los índices compuestos el Firebird los va utilizando de
izquierda a derecha. Así que si tu índice está compuesto por Material y
Lote eso es todo lo que necesitas.

Tener muchos índices tiene la ventaja de que puedes usarlos en forma
independiente, y la desventaja que se tarda más tiempo en crearlos, y que
ocupan más espacio en el disco duro.

Saludos.

Walter.


2014-11-06 9:52 GMT-04:00 Julio F. Figueiredo <tuskinhu em gmail.com>:

> CREATE TABLE MATERIAISSALDOS (
>     MATERIAL INTEGER NOT NULL,
>     LOTE DM_LOTE NOT NULL,
>     COD_ESTOQUE INTEGER NOT NULL,
>     COD_EMPSIS INTEGER NOT NULL,
>     DATA DATE,
>     ENTRADAS DOUBLE PRECISION NOT NULL,
>     SAIDAS DOUBLE PRECISION NOT NULL,
>     SALDO COMPUTED BY ((ENTRADAS - SAIDAS)));
>
> ALTER TABLE MATERIAISSALDOS
> ADD CONSTRAINT PK_MATERIAISSALDOS
> PRIMARY KEY (MATERIAL,LOTE,COD_ESTOQUE,COD_EMPSIS);
>
>
> Tenho essa tabela criada, a minha dúvida é:
>
> Nela eu farei na grande maioria das vezes buscas por Material e Lote.
> A PK compreende vários outras colunas.
> No caso de um Join/Busca com Material e Lote, será utilizado a PK (esta só
> bastaria pra uma busca indexada) ou deveria ter um índice composto Material
> e Lote ou ainda mais ter 2 índices separados (um pra material e outro para
> lote).
>
> Como o FB se comporta neste caso?
>
> ________________________________________
> Att,
> *Julio F. Figueiredo*
> *Analista de Sistemas*
> ______________________________________________
> 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