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

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

3 Comentários em Criando uma Chave Primária composta no SQL Server

  1. Bom dia !

    O video do tema abaixo não está mais disponivel ?

    “Criando uma Chave Primária composta no SQL Server”

    Att..

  2. Adriano de Jesus da Silva // 11/11/2019 em 17:13 // Responder

    Olá,

    Quando temos uma chave candidata a chave primaria, mais ela pode ser editável, como proceder nesse caso?

Escreva um comentário

Seu e-mail não será divulgado


*