[firebase-br] Como capturar relacionamentos no firebird

Cássio pajolista em gmail.com
Sex Jul 28 22:53:39 -03 2006


ola pessoal boa noite estou com a seguinte idéia na cachola e gostaria da 
opinao de vcs sobre o assunto e se alguem faz desta maneira este tipo de 
tratametno

primeirametne imagemos um cadastro de cliente com fazendo relacinamento com 
um cadastro de cidades ..

do tipo

/******************************************************************************/
/****         Generated by IBExpert 2005.06.07 28/7/2006 22:45:11 
****/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES NONE;



/******************************************************************************/
/****                                Tables 
****/
/******************************************************************************/



CREATE TABLE CIDADE (
    ID      INTEGER NOT NULL,
    NONE    VARCHAR(100) CHARACTER SET NONE,
    ESTADO  CHAR(2) CHARACTER SET NONE
);

CREATE TABLE CLIENTES (
    ID         INTEGER NOT NULL,
    NOME       VARCHAR(100) CHARACTER SET NONE,
    DADO1      VARCHAR(100) CHARACTER SET NONE,
    DADO2      VARCHAR(100) CHARACTER SET NONE,
    ID_CIDADE  INTEGER
);



/******************************************************************************/
/****                             Primary Keys 
****/
/******************************************************************************/

ALTER TABLE CIDADE ADD CONSTRAINT PK_CIDADE PRIMARY KEY (ID);
ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (ID);


/******************************************************************************/
/****                             Foreign Keys 
****/
/******************************************************************************/

ALTER TABLE CLIENTES ADD CONSTRAINT R_CLI_CIDA FOREIGN KEY (ID_CIDADE) 
REFERENCES CIDADE (ID) ON DELETE SET NULL ON UPDATE SET NULL
  USING INDEX I_CHACIDA;


/******************************************************************************/
/****                              Privileges 
****/
/******************************************************************************/


/* Privileges of users */
GRANT SELECT ON RDB$ROLES TO PUBLIC;


acredito que isto esteja correto , caso nao esteja me corrijam por favor ...


o que eu gostaria de fazer é descobrir uma maneira de identicar este 
relacionamento em minha aplicação em tempo de execução e montar todos este 
relacionamento para o usuario poder cadastrar o cliente dele bunitinho 
pegando a cidade da tabela de cidade por exemplo por um componente 
dblookupfield no delphi ... fazendo desta maneira caso crie um novo 
relaciomando com a tabela de clientes (do tipo por exemplo uma tabela de 
profissão que tenha que ser informada no momento do cadastro de cliente ) e 
aplicação identifique este relacionametno e automaticamente informe os 
campos correspondentes ao forumulario ( tudo em tempo de execução  ) como o 
proprio ibexpert faz com os campos na guia de dados quando há relacionamento 
... grato a todos pela antenção e uma boa noite Obrigado .... 





Mais detalhes sobre a lista de discussão lista