GARANTIR DESCONTO

Fórum Firebird OO #49431

20/02/2005

0

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

Responder

Posts

20/02/2005

Beppe

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...


Responder

Gostei + 0

20/02/2005

Sistemald

Queria tipo criar um domain com varios campos.


Responder

Gostei + 0

20/02/2005

Beppe

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


Responder

Gostei + 0

20/02/2005

Sistemald

Por isto escrevi ´Tipo´.


Responder

Gostei + 0

20/02/2005

Beppe

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


Responder

Gostei + 0

20/02/2005

Sistemald

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.


Responder

Gostei + 0

20/02/2005

Sistemald

Desculpa a ignorancia

Mas o que é ´surrogate´?


Responder

Gostei + 0

20/02/2005

Beppe

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar