O que é uma chave primária?

Uma mulher digita em um teclado enquanto olha para um monitor de computador grande.

Autores

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

O que é uma chave primária?

Uma chave primária é uma coluna ou um conjunto de colunas em uma tabela de banco de dados que contém valores que identificam exclusivamente cada linha ou registro. Por exemplo, uma coluna de ID de funcionário pode ser uma chave primária em uma tabela de informações de funcionários.
 

As chaves primárias desempenham um papel importante em bancos de dados relacionais, reforçando a integridade dos dados e permitindo a recuperação bem-sucedida de dados. Além disso, as chaves primárias podem ser referenciadas por outro tipo de chave para definir relações entre tabelas em bancos de dados relacionais.

Exemplos frequentemente citados de chaves primárias encontradas em vários bancos de dados incluem:

  • Números das carteiras de motorista
  • Números de ID do funcionário
  • Números de ID do produto
  • Números de previdência social
  • Números de identificação do estudante
Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Compreendendo chaves e bancos de dados relacionais

Antes de explorar os detalhes sobre as chaves primárias, é útil compreender os sistemas de bancos de dados relacionais e os papéis que chaves como as chaves primárias desempenham no design de banco de dados.

Bancos de dados relacionais armazenam dados estruturados em várias tabelas, com pontos de dados relacionados entre diferentes tabelas. Esses bancos de dados são gerenciados por sistemas de gerenciamento de banco de dados relacional (RDBMS), como IBM Db2, Oracle Database, Microsoft SQL Server e sistemas de código aberto como PostgreSQL e mySQL.

A linguagem de consulta estruturada (SQL) é uma linguagem de programação comum usada para interações com bancos de dados, embora alguns sistemas de gerenciamento de banco de dados ofereçam suporte a outras linguagens.

No contexto de bancos de dados, uma chave é uma coluna ou uma coleção ordenada de colunas usadas para identificar linhas de dados em uma tabela. As chaves ajudam a organizar os bancos de dados ao mostrar relações entre tabelas relacionadas, identificar registros únicos e garantir precisão e integridade dos dados. Esses benefícios contribuem para consultas SQL bem-sucedidas e eficientes.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Quais são as características de uma chave primária?

Uma chave primária, também conhecida como chave primária SQL, fornece um identificador exclusivo para cada registro associado a um valor de chave primária. As características importantes das chaves primárias incluem:

  • Sem valores nulos
  • Nenhum valor duplicado
  • Pode ser uma coluna existente na tabela (chave natural) ou adicionada como uma nova coluna (chave substituta)
  • Pode incluir uma única coluna ou várias colunas (como uma chave primária composta)

Uma chave primária pode ser uma coluna existente dentro de uma única tabela, caso em que é chamada de chave natural. No entanto, às vezes não há nenhuma coluna única na tabela que atenda à restrição de chave primária — a regra de que os valores devem ser únicos e não nulos.

Nesses casos, pode-se gerar uma nova coluna com valores únicos, não derivados dos dados existentes da tabela, para servir como chave primária. Essa chave primária gerada artificialmente é conhecida como chave substituta.

Os sistemas de gerenciamento de bancos de dados relacionais geralmente têm a capacidade de gerar valores únicos para uma coluna, os quais podem ser usados como chaves substitutas. Um exemplo é o recurso de incremento automático do mySQL.

As chaves primárias também podem ser chaves compostas, ou seja, formadas por mais de uma coluna de valores.

Chaves primárias compostas — combinações únicas de colunas que podem ser usadas para identificar registros — podem servir como alternativa à geração de chaves substitutas. Por exemplo, uma coluna de sobrenomes de clientes pode ser combinada com uma coluna de datas de nascimento para formar uma chave primária composta.

Quais tipos de dados são usados em chaves primárias?

O SQL oferece suporte a uma variedade de tipos de dados, desde timestamp (representações de datas e horários) até varchar (cadeias de caracteres de comprimento variável). Mas nem todo tipo de dado é uma boa escolha para chaves primárias.

Recomenda-se frequentemente que colunas com valores numéricos, especialmente inteiros, sejam usadas como chaves primárias, já que esses valores costumam ser processados mais rapidamente por sistemas de gerenciamento de banco de dados relacionais.

Quais são os outros tipos importantes de chaves?

Outras chaves usadas no gerenciamento de banco de dados incluem:

  • Chaves exclusivas
  • Chaves do candidato
  • Superchaves
  • Chaves estrangeiras

Chaves exclusivas

As chaves primárias são um subconjunto das chaves exclusivas. As chaves exclusivas seguem o que se conhece como restrição de exclusividade — a regra de que os valores de uma chave só são válidos se forem exclusivos. Embora todas as chaves primárias sejam chaves exclusivas, nem todas as chaves exclusivas são chaves primárias. Isso porque, diferentemente das chaves primárias, as chaves exclusivas podem incluir valores nulos.

Chaves candidatas

As chaves candidatas são chaves que poderiam servir como chaves primárias, pois contêm valores exclusivos e nenhum valor nulo. A diferença entre chaves primárias e chaves candidatas é que uma tabela existente pode ter várias chaves candidatas, mas apenas uma chave primária.

Superchaves

As superchaves são semelhantes às chaves primárias compostas, pois podem incluir várias colunas e ser usadas para identificar registros. No entanto, as superchaves podem incluir mais colunas ou informações do que o estritamente necessário para identificar um registro de forma exclusiva, enquanto as chaves primárias compostas não incluem mais colunas ou dados do que o necessário.

Chaves estrangeiras

Uma chave estrangeira em uma tabela se refere a uma chave primária específica em outra tabela para definir um relacionamento entre essas tabelas. Por exemplo, uma chave estrangeira em uma tabela com informações de pedidos de clientes pode se referir a uma coluna de chave primária com IDs exclusivos de clientes que faz parte de outra tabela contendo dados desses clientes. Dessa forma, um pedido feito por um determinado cliente pode ser vinculado a informações importantes sobre ele, como seu endereço de e-mail e data de nascimento.

A importância das restrições de integridade referencial na definição de relacionamentos entre tabelas

Para entender como as chaves primárias e estrangeiras definem relacionamentos entre tabelas em bancos de dados relacionais, é útil considerar as restrições de integridade referencial.

As restrições de integridade referencial, também conhecidas como restrições referenciais ou restrições de chave estrangeira, são regras que exigem que os valores da chave estrangeira em uma tabela correspondam aos valores da chave primária em outra tabela.

Por exemplo, em um banco de dados de funcionários, uma restrição de integridade referencial pode especificar que cada funcionário da tabela EMPLOYEE deve ser membro de um departamento existente listado na tabela DEPARTMENT.

Nesse caso, a chave primária da tabela DEPARTMENT é uma coluna que armazena números exclusivos de departamentos, enquanto a chave estrangeira da tabela EMPLOYEE é uma coluna que armazena esses mesmos números exclusivos de departamentos. Essas colunas correspondentes indicam que as tabelas obedecem à restrição de chave estrangeira.

Como a tabela DEPARTMENT contém a chave primária referenciada pela chave estrangeira da tabela EMPLOYEE, a chave da tabela EMPLOYEE é considerada como tendo uma dependência da tabela DEPARTMENT. Por sua vez, a tabela DEPARTMENT é considerada a “tabela pai” nesse relacionamento entre tabelas.

As restrições de integridade referencial podem impedir a inserção de dados incorretos em bancos de dados. Tais restrições, por exemplo, impediriam um usuário de adicionar um registro de funcionário na tabela EMPLOYEE (conforme ilustrado abaixo) se o número do departamento nesse registro de funcionário não existisse na tabela DEPARTMENT.

Um diagrama que mostra como as restrições de chave primária e de chave estrangeira podem impedir a inserção de um registro inválido em uma tabela.

Quais outros conceitos e práticas estão relacionados às chaves primárias?

Índices

Os sistemas de gerenciamento de banco de dados relacionais podem criar ou exigir a criação de um índice exclusivo correspondente a cada chave primária no banco de dados. No contexto do design do banco de dados, um índice é um conjunto de ponteiros que se refere às linhas em uma tabela. Os índices podem ser usados para melhorar o desempenho, incluindo a otimização da recuperação de dados.

Modelagem de dados

Modelagem de dados oferece uma representação visual de um esquema de banco de dados, ou um blueprint para os relacionamentos de dados entre tabelas em um banco de dados. Os modelos de dados podem incluir informações sobre as chaves primárias e estrangeiras usadas para manter esses relacionamentos.

Instruções SQL

As instruções SQL são comandos usados para interagir com bancos de dados relacionais. Conforme a sintaxe SQL, as chaves primárias de tabelas podem ser atribuídas ou adicionadas usando as instruções CREATE TABLE ou ALTER TABLE.

Por exemplo, considere uma instrução CREATE TABLE para uma tabela de nomes de funcionários chamada EMP, usando o IBM Db2. Os nomes das colunas são ID (para o ID do funcionário), FIRSTNME e LASTNAME (com no máximo 15 caracteres para cada). Quando a coluna ID é selecionada como chave primária, a instrução pode ser assim:

CREATE TABLE EMP
    (ID INT NOT NULL,
    FIRSTNME VARCHAR (15) NOT NULL,
    LASTNAME VARCHAR (15) NOT NULL,
  PRIMARY KEY (ID));

 

Em instruções ALTER TABLE (para tabelas existentes) no Db2, a cláusula usada para adicionar uma chave primária é ADD PRIMARY KEY, enquanto chaves estrangeiras são adicionadas com ADD CONSTRAINT, em combinação com uma referência à tabela pai.

Soluções relacionadas
Software e soluções de bancos de dados

Use soluções de bancos de dados da IBM para atender a diversas necessidades de cargas de trabalho em toda a nuvem híbrida.

Explore as soluções de banco de dados
Banco de dados nativo da nuvem com o IBM Db2

Explore o IBM Db2, um banco de dados relacional que oferece alto desempenho, escalabilidade e confiabilidade para armazenar e gerenciar dados estruturados. Está disponível como SaaS no IBM Cloud ou para auto-hospedagem.

Descubra o Db2
Serviços de consultoria de dados e análise de dados

Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights, que proporciona vantagem comercial.

Conheça os serviços de análise de dados
Dê o próximo passo

Use soluções de bancos de dados da IBM para atender a diversas necessidades de cargas de trabalho em toda a nuvem híbrida.

Explore as soluções de banco de dados Descubra o IBM Db2