Firebird OO

Firebird

20/02/2005

Não se é possivel,

Em varias tabelas tenho que criar campo de endereço, que é composto de:

[b:eebf2bb300]cep, rua , bairro, cidade , uf[/b:eebf2bb300]

Gostaria de criar isto um unica vez e depois usar nas tabelas que eu preciso, desta forma quando eu precisar modificar alguma propriedade modifico apenas uma vez.


Sistemald

Sistemald

Curtidas 0

Respostas

Beppe

Beppe

20/02/2005

Não sei se te entendi, mas acho que seria de criar uma tabela contendo estes campos e criar uma chave primária do tipo ´surrogate´.

CREATE TABLE Endereco
(
    ID INTEGER,
    Rua VARCHAR(60),
    CEP CHAR(8),
    Cidade VARCHAR(30),
    ...
)


Para o campo ID, use um [b:d77e192938]generator[/b:d77e192938]. Este mesmo campo será a chave estrangeira em cada tabela que precise de um endereço, como uma tabela de clientes, fornecedores, etc...


GOSTEI 0
Sistemald

Sistemald

20/02/2005

Queria tipo criar um domain com varios campos.


GOSTEI 0
Beppe

Beppe

20/02/2005

Domains servem apenas para definir as características de UM único campo...


GOSTEI 0
Sistemald

Sistemald

20/02/2005

Por isto escrevi ´Tipo´.


GOSTEI 0
Beppe

Beppe

20/02/2005

Perfeitamente. Você quer tipo um domain que não seja tipo um domain. Agora está claro.


GOSTEI 0
Sistemald

Sistemald

20/02/2005

Isso mesmo, pois se eu criar outra tabela, toda vez que for mostrar por exemplo um registro de cliente vou ter que fazer uma consulta na tabela de nedereços para mostrar o endereço do cliente.
imagine um banco com 1000 clientes teria que fazer 1000 consultas.


GOSTEI 0
Sistemald

Sistemald

20/02/2005

Desculpa a ignorancia

Mas o que é ´surrogate´?


GOSTEI 0
Beppe

Beppe

20/02/2005

Vc verá que é uma questão de custo x benefício...

Surrogate, é um campo cujo valor não importa ao usuário, mas sim ao sitema, geralmente para localização ou diferenciamento. É gerado pelo sistema, como um generator.


GOSTEI 0
POSTAR