[firebase-br] Como capturar relacionamentos no firebird

Paulo Portellaa pportellaa em hotmail.com
Sáb Jul 29 13:32:51 -03 2006



Alter Table Clientes Add Constraint FK_CLIENTES Foreign Key (id) references 
Cidade (ID) on delete cascade on update cascade.

seriam 2 opcoes pro codigo no final

on delete -> ao deletar a cidade, ele automaticamente deletaria TODOS OS 
CLIENTES.
on update -> ao Atualizar o Nome por exemplo da Cidade, tambem atualizaria 
TODOS os clientes.

[]s
Portella.


"Cássio" <pajolista em gmail.com> escreveu na 
mensagem news:004701c6b2b1$d27ed200$050b00c9 em pc1...
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 ....


______________________________________________
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