Criando uma Chave Primária composta no SQL Server
Como criar uma Chave Primária composta no SQL Server
Uma chave primária composta é a combinação de mais de uma coluna em uma tabela, utilizadas para especificar a chave primária. Assim, cada linha na tabela poderá ser identificada de forma única e exclusiva.
Geralmente, criamos chaves compostas quando não há um campo que, por si só, possa ser usado para identificar as linhas da tabela de forma exclusiva, necessitando que seja realizada uma combinação de dois ou mais campos para tal.
Neste caso, as chaves estrangeiras também devem incluir todas as colunas da chave composta.
As colunas que compõem uma chave primária composta podem ser de tipos diferentes, se for necessário.
Vejamos como criar uma chave primária composta em SQL, usando o Microsoft SQL Server.
Sintaxe:
CREATE TABLE tabela ( coluna1 tipo_dados constraints, coluna2 tipo_dados constraints, coluna3 tipo_dados constraints, ..., PRIMARY KEY (coluna1,coluna2,...) );
Exemplos:
1 – Vamos criar uma tabela de nome teste, que conterá uma chave primária composta por três campos: Cod1, Cod2 e Cod3. Cada um desses campos terá um tamanho fixo de 4 caracteres:
CREATE TABLE teste ( Cod1 nchar(4) NOT NULL, Cod2 nchar(4) NOT NULL, Cod3 nchar(4) NOT NULL, Data datetime, IDProduto smallint, PRIMARY KEY (Cod1, Cod2, Cod3) ) GO
É importante que as colunas que comporão a chave primária sejam definidas como NOT NULL, pois não pode haver nulos em nenhuma coluna que seja parte constituinte de uma PK.
2 – Vamos supor que a tabela já tenha sido criada sem a especificação dos campos de chave primária. Neste caso, podemos usar uma declaração ALTER TABLE para criar a PK envolvendo as três colunas desejadas – se as colunas não existirem, devem ser adicionadas antes:
--Alterando uma tabela já existente (teste) para incluir colunas na PK: ALTER TABLE dbo.teste ADD CONSTRAINT PK_teste_mult PRIMARY KEY (Cod1, Cod2, Cod3) GO
Neste caso adicionamos uma nova restrição, de nome PK_teste_mult, para definir a chave primária da tabela, informando os campos que farão parte dessa nova chave.
Anterior: Criação de Tabelas: Comando CREATE TABLE
Próximo: Auto incremento com IDENTITY
Bom dia !
O video do tema abaixo não está mais disponivel ?
“Criando uma Chave Primária composta no SQL Server”
Att..
Ainda não foi postado Emerson, irá ao YouTube na semana que vem!
Abraço!
Olá,
Quando temos uma chave candidata a chave primaria, mais ela pode ser editável, como proceder nesse caso?