[firebase-br] RES: Ajuda para entender um Plan

Rodrigo Madureira Barbosa rodrigo.madu em gmail.com
Sex Out 5 16:03:28 -03 2007


Agora me bateu uma dúvida... Nessas condições, quais seriam as diferenças
entre as duas situações a seguir:

PEDITEM (01)
-----------
KPEDITEM (PK)
KPEDIDO  (FK)
NUMERO
CLIENTE

PEDITEM (02)
-----------
KPEDIDO  (PK) (FK)
KPEDITEM (PK)
NUMERO
CLIENTE

Geralmente eu prefiro usar a 2ª opção, mas existe então uma diferença grande
entre essas duas possibilidades de estrutura ?

Rodrigo Madureira Barbosa – Gerpos Sistemas
Desenvolvedor - (28) 3521-1692
www.gerpos.com.br
rodrigo em gerpos.com.br
rodrigo.madu em gmail.com

"De tanto ver triunfar as nulidades, de tanto ver prosperar a desonra, de
tanto ver crescer a injustiça, de tanto ver agigantarem-se os poderes nas
mãos dos maus, o homem chega a desanimar-se da virtude, a rir-se da honra e
a ter vergonha de ser honesto." (Rui Barbosa)

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Kleber Caneva
Enviada em: sexta-feira, 5 de outubro de 2007 15:39
Para: FireBase
Assunto: Re: [firebase-br] Ajuda para entender um Plan

Cada tabela tem uma PK. Que via de regrã é unica e exclusiva. Outros campos 
tornam-se FK dela.

Exemplo:

PEDIDO
-----------
KPEDIDO  (PK)
NUMERO
CLIENTE

PEDITEM
-----------
KPEDITEM  (PK)
KPEDIDO  (FK)   <--- ao invés de fazer parte da PK, esse campo fica 
relacionado via FK.
NUMERO
CLIENTE


A vantagem desse metodo é que tanto faz eu usar no Order By   KPEDITEM, 
KPEDIDO ou o inverso, ele usará o indice.
Quando você cria indices com um campo só, o FB consegue mesclá-los para 
utilização

[]´s

Kléber Caneva



----- Original Message ----- 
From: "Forrest®" <fernando em gramatura.com.br>
To: <lista em firebase.com.br>
Sent: Friday, October 05, 2007 12:29 PM
Subject: Re: [firebase-br] Ajuda para entender um Plan


Kleber Caneva wrote:

> Isso ocorre porque na sua tabela de CONTAS_RECEBER seus indices são
> compostos, sendo o primeiro campo o TIPO e despois o DOCUMENTO.
>
> No Order By vc está definindo para ordenar por DOCUMENTO, então ele
> não tem indice por esse campo para usar.
>
> Para utilizar incide, vc deveria colcoar o TIPO no Order by antes do
> DOCUMENTO, ou ainda, criar um indice só do campo documento.
>
> Eu particularmente não gosto de trabalhar com indices compostos.
---

Olá Kleber obrigado, também pensei nessa possibilidade e coloque o
indice total no orde by também e mesmo assi gerou o mesmo plan por isso
achei estranho. Como comentado por você, não gosta de indices
compostos, mas em tabelas como estas que precisa de um indice composto
como você trata isso para que não tenha inconscistencia de dados e
manter a integridade entre as tabelas?

T++++++++++++++

-- 



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=kdcc&_l=1,1191598841.79106.31
240.calomba.hst.terra.com.br,4583,Des15,Des15



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista