Criando uma Chave Primária composta no SQL Server - Bóson Treinamentos em Ciência e Tecnologia
Início » SQL com SQL Server » Criando uma Chave Primária composta no SQL Server
Postado Em 06/07/2017 [data do post] por Fábio dos Reis [autor do post] em SQL com SQL Server [categoria do post]
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.
coluna1 tipo_dados constraints,
coluna2 tipo_dados constraints,
coluna3 tipo_dados constraints,
PRIMARY KEY (coluna1,coluna2,...)
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:
Cod1 nchar(4) NOT NULL,
Cod2 nchar(4) NOT NULL,
Cod3 nchar(4) NOT NULL,
IDProduto smallint,
PRIMARY KEY (Cod1, Cod2, Cod3)
É 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
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
3 Comentários em Criando uma Chave Primária composta no SQL Server
Emerson // 21/07/2017 em 11:13 // Responder
O video do tema abaixo não está mais disponivel ?
"Criando uma Chave Primária composta no SQL Server"
Fábio dos Reis // 22/07/2017 em 10:40 // Responder
Ainda não foi postado Emerson, irá ao YouTube na semana que vem!
Adriano de Jesus da Silva // 11/11/2019 em 17:13 // Responder
Quando temos uma chave candidata a chave primaria, mais ela pode ser editável, como proceder nesse caso?