Firebird - quatro chaves primárias

Pessoal bom dia
Estou desempregado, já trabalhei com Delphi e Cobol, agora voltei a desenvolver em Delphi e estou sem saber a solução das chaves primárias e preciso de um favor de vocês.
Utilizo Delphi Embarcadero® RAD Studio 11 Version 28.0.48361.3236, Firebird 4.0, IBExpert 4.14.1.
Preciso criar uma chave primária de quatro colunas (BCO_AGENCIA, BCO_DIG_AGENCIA , BCO_CONTA, BCO_DIG_CONTA), mas o Projeto tem que ver duplicidade somente na chave (PK_CAD_BANCO).
Motivo:
A coluna BCO_AGENCIA poderá haver duplicidade, mas a chave (PK_CAD_BANCO) não poderá existir duplicidade.
Exemplo: (valores fictícios)
AGência BB Conta
6522-0 7020-X
6522-0 6021-2
6522-0 2535-8
6522-0 1258-X
6522-0 2255-X

***-------------------- CADASTRO DE BANCOS
CREATE TABLE CAD_BANCOS
(
BCO_AGENCIA INTEGER NOT NULL,
BCO_DIG_AGENCIA CHAR (01) NOT NULL,
BCO_CONTA INTEGER NOT NULL,
BCO_DIG_CONTA CHAR (01) NOT NULL,
BCO_NOME CHAR (15),
BCO_SIGLA CHAR (02),
BCO_TIPO CHAR (20),
BCO_DDD_FIXO INTEGER,
BCO_TEL_FIXO INTEGER,
BCO_DDD_CEL INTEGER,
BCO_TEL_CEL INTEGER,
BCO_CONTATO CHAR (15),
CONSTRAINT PK_CAD_BANCO
PRIMARY KEY (BCO_AGENCIA, BCO_DIG_AGENCIA , BCO_CONTA, BCO_DIG_CONTA)
);

Desde já, obrigado

Sugiro é buscar dúvidas em um forum de SQL.

Esse forum é indicado para dúvidas na ferramenta Scriptcase.

De qualquer forma não é indicado criar PK composta.
Crie um índice único para essa chave e deixe a PK como id (inteiro autoincrementado)

2 Curtidas

Meu amigo boa tarde

Me desculpe eu não sabia, só entrei porque vi algumas respostas sobre SQL

Mas já estou saindo

Muito obrigado pelo retorno

Abraços