Ok, no exemplo abaixo vou exibir o nome da rua na consulta de alunos,
a partir dai basta você aplicar a mesma idéia para os outros relacionamentos:


Select a.Codigo,a.Nome,r.Nome as NomeDaRua
>From Alunos a
Left Join Ruas r on a.CodigoRua = r.Codigo              

Veja que quando queremos fazer relacionamentos, precisamos dar um "apelido" 
(alias) para as tabelas.
Neste exemplo a tabela Alunos recebeu o apelido "a"  e a tabela Ruas o apelido 
"r"
O relacionamento é feito pelo "Left Join" onde informamos a tabela de 
relacionamento bem como os campos que se relacionam após a cláusula "on".

Acredito que a partir deste embrião você pode fazer todos os relacionamentos 
que precisa e deixar de usar os lookups que realmente são muito lentos.

[]s

Alexandre





  ----- Original Message ----- 
  From: Luis Hilário Tobler Garcia 
  To: Nicolas 
  Sent: Monday, August 04, 2008 8:44 PM
  Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta


  Então Nicolas,
  eu só uso queries, tenho relacionamento entre as tabelas, mas não sei como 
implementar a sua sugestão, o que eu tenho que fazer para exibir, por exemplo, 
o nome da rua, no dbgrid da consulta de alunos?

  ps: segue abaixo o código SQL de minhas 4 tabelas.

  Obrigado, Hilário.


  CREATE TABLE Cidades
  (Codigo DMCodigo,
   Nome DMNomeMedio,
   UF DMUF,
   DDD DMDDD,
   UltimaAlteracao DMData,
   DataCadastro DMData,
   CodigoUsuario DMCodigo,
   PRIMARY KEY(Codigo),
   FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));

  CREATE TABLE Bairros
  (Codigo DMCodigo,
   Nome DMNomeMedio,
   CodigoCidade DMCodigo,
   UltimaAlteracao DMData,
   DataCadastro DMData,
   CodigoUsuario DMCodigo,
   PRIMARY KEY(Codigo),
   FOREIGN KEY(CodigoCidade) REFERENCES Cidades(Codigo),
   FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));

  CREATE TABLE Ruas
  (Codigo DMCodigo,
   Tipo DMTipoRua,
   Nome DMNomeMedio,
   CodigoBairro DMCodigo,
   UltimaAlteracao DMData,
   DataCadastro DMData,
   CodigoUsuario DMCodigo,
   PRIMARY KEY(Codigo),
   FOREIGN KEY(CodigoBairro) REFERENCES Bairros(Codigo),
   FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));

  CREATE TABLE Alunos
  (Codigo DMCodigo,
   Nome DMNomeLongo,
   NomeResponsavel DMNomeLongo,
   RGResponsavel DMRG,
   CPFResponsavel DMCPF,
   DataNascimento DMData,
   DiaNascimento DmDia,
   Sexo DMUmCaracter,
   CEP DMCEP,
   CodigoRua DMCodigo,
   Numero DMNumero,
   Complemento DMComplemento,
   TelefoneResidencial DMTelefone,
   TelefoneComercial DMTelefone,
   TelefoneCelular DMTelefone,
   Email DMNomeMedio,
   ProximaAvaliacaoFisica DMData,
   DiadoPagamento DMDia,
   ProximoPagamento DMData,
   Observacoes DMNomeLongo,
   Situacao DMSituacao,
   UltimaAlteracao DMData,
   DataCadastro DMData,
   CodigoUsuario DMCodigo,
   PRIMARY KEY(Codigo),
   FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));



    ----- Original Message ----- 
    From: Nicolas 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Monday, August 04, 2008 5:41 PM
    Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta


    Minha sugestão é deixar de usar campos lookup, e usar query com 
relacionamento entre tabelas,
    dai vc cria índices para os campos de relacionamento e suas consultas irão 
ganhar velocidade.

    []s

    Alexandre

    ----- Original Message ----- 
    From: Luis Hilário Tobler Garcia 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Monday, August 04, 2008 4:33 PM
    Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta

    Boa tarde pessoal,
    mesmo sem nenhuma sugestão do grupo, consegui achar ONDE está o problema, 
porém ainda estou tentando achar uma boa solução, o problema está nos campos 
Lookup, segue abaixo a estrutura de dados, eu ficarei grato em receber, se 
alguém tiver alguma sugestão ou critica construtiva sobre como continuar 
disponibilizar os dados lookups do endereço no DBGrid da consulta de Alunos com 
uma velocidade de acesso aos dados razoável.

    Valeu, Hilário.

    CIDADES
    Codigo
    Nome
    UF
    DDD

    BAIRROS
    Codigo
    Nome
    NomeCidade (Lookup de CIDADES)
    UFCidade (Lookup de CIDADES)
    DDDCidade (Lookup de CIDADES)

    RUAS
    Codigo
    Tipo
    Nome
    CodigoBairro
    NomeBairro (Lookup de BAIRROS)
    NomeCidade (Lookup de BAIRROS)
    UFCidade (Lookup de BAIRROS)
    DDDCidade (Lookup de BAIRROS)

    ALUNOS
    Codigo
    Nome
    NomeResponsavel
    RGResponsavel
    CPFResponsavel
    DataNascimento
    DiaNascimento
    Sexo
    CEP
    CodigoRua
    NomeRua (Lookup de RUAS)
    NomeBairro (Lookup de RUAS)
    NomeCidade (Lookup de RUAS)
    UFCidade (Lookup de RUAS)
    DDDCidade (Lookup de RUAS)
    Numero
    Complemento
    TelefoneResidencial
    TelefoneComercial
    TelefoneCelular
    Email
    ProximaAvaliacaoFisica
    DiadoPagamento
    ProximoPagamento
    Observacoes
    Situacao

    ----- Original Message ----- 
    From: Luis Hilário Tobler Garcia 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Monday, July 28, 2008 3:59 PM
    Subject: [delphi-br] [DELPHI-Total] consulta lenta

    Boa tarde pessoal,
    estou tendo um problema de lentidão em BD. Faço tudo com queries e depois 
que o banco passou a ter uns 60 registros em umas 4 tabelas, para abrir uma 
consulta demora uma eternidade, em um Pentium II 400 demora uns 3 minutos para 
abrir esta janela. Alguém saberia como resolver isso?

    ps: Uso Interbase 6.5

    Valeu, Hilário

    [As partes desta mensagem que não continham texto foram removidas]

    [As partes desta mensagem que não continham texto foram removidas]

    No virus found in this incoming message.
    Checked by AVG - http://www.avg.com 
    Version: 8.0.138 / Virus Database: 270.5.12/1590 - Release Date: 4/8/2008 
08:09

    [As partes desta mensagem que não continham texto foram removidas]



     
No virus found in this incoming message.
Checked by AVG - http://www.avg.com 
Version: 8.0.138 / Virus Database: 270.5.12/1590 - Release Date: 4/8/2008 08:09


[As partes desta mensagem que não continham texto foram removidas]

Responder a