Primary key dupla

Firebird

15/07/2004

Boa Tarde!

Como posso criar uma tabela com mais de uma Primary Key no Interbase? Exemplo:

Tenho 2 tabelas:
1) LOGRADOURO (Utilizada para cadastro de Ruas, avenidas, CEP...)
Campos:
CODIGO INTEGER NOT NULL (Chave Primaria)

2) BAIRRO (Cadastro de Bairros)
CODIGO INTEGER NOT NULL (Chave Primaria)

E preciso de uma nova tabela com relacionamento n:m -> LOGRADOURO_BAIRRO
Campos:
LOG_CODIGO INTEGER NOT NULL, (Chave primaria)
BAIRRO_CODIGO INTEGER NOT NULL (Chave Primaria)

Quando vou adicionar dus chaves Primárias o Interbase dá um erro.

O que eu faço?????

Att.


Michaell

Michaell

Curtidas 0

Melhor post

Michaell

Michaell

15/07/2004

Como faço para incluir ou excluir uma Primary key depois de criar a tabela??
É possível criar uma Foreign key para o campo CODIGO de uma nova tabela TESTE referenciando uma ou as duas Primary keys da tabela LOGRADOURO_BAIRRO??? Como?
Qual a diferença em criar uma Primary key com a cláusula CONSTRAINT ou não??

Att.


GOSTEI 1

Mais Respostas

Lucianols

Lucianols

15/07/2004

Create table LOGRADOURO_BAIRRO (

LOG_CODIGO INTEGER NOT NULL,
BAIRRO_CODIGO INTEGER NOT NULL,

primary key (LOG_CODIGO, BAIRRO_CODIGO));


GOSTEI 1
Lucianols

Lucianols

15/07/2004

Como diz jack estrupador... ´Vamos por partes´.. Ok.

Adicionar chave primaria...
´ alter table TABELA add primary key (CAMPO); ´
não podemos esquecer que chave primaria deve ser not null.

Excluindo a chave primaria...
´ alter table TABELA drop constraint CAMPO; ´

Adicionando Chave Estrangeira....

´ alter table logradouro_bairro add foreign key (BAIRRO_CODIGO)
references teste(codigo); ´

´ alter table logradouro_bairro add foreign key (LOG_CODIGO)
references teste(codigo); ´

Clausula constrant....

´ Fico te devendo essa, cinseramente não sei a diferença... acho que e a mesma coisa, mas deve ter um motivo, vc deve perguntar para um dos moderadores que sabem bastante sobre ib/fb´

Espero ter podido ajudar ....


GOSTEI 1
POSTAR