O Que É Chave Primária? (Definição, Conceito e Exemplos)

0
7919

Chave Primária (PK)

Valor que identifica unicamente uma tupla, selecionado dentre chaves candidatas;

Não pode ser NULL;

Pode ser chave natural ou substituta;

Pode ser simples ou composta.

Uma chave primária é uma escolha de um conjunto de atributos que identificam unicamente uma tupla (linha) dentro de uma relação (tabela). Esse conjunto de atributos pode ser também unitário, caso em que somente um atributo faz o papel de PK. Assim, as chaves primárias podem ser classificadas em simples ou compostas.

Outra característica importante é que a chave primária pode ter correspondência com algum elemento do mundo real, como o CPF, caso em que é considerada uma chave natural. A chave pode também assumir um valor aleatório gerado pelo SGBD, caso em que será chamada de surrogate key, ou chave substituta. O único propósito de uma surrogate key é agir como chave primária, ela não tem correspondência com algum dado do mundo real ou qualquer significado implícito.

Ainda a respeito das chaves primárias, quero que você saiba que podem existir campos que contêm restrições de unicidade, ou seja, que só permitem valores únicos, mas que não são chaves primárias. Essa restrição é implementada através de um operador da linguagem SQL chamado UNIQUE (único). Uma diferença entre um atributo marcado com UNIQUE e uma PK é que o UNIQUE permite valores nulos, desde que todos os valores válidos para esse atributo sejam diferentes entre si.

Chave estrangeira (FK)

Identificam registros referenciados de outra tabela;

Tem relação lógica geralmente com a PK da tabela referenciada, mas pode referenciar outros atributos únicos (chaves candidatas);

Se a participação da entidade não for total, atributos que compõem a chave estrangeira podem ser NULL.

QUESTÃO CERTA: Os conceitos básicos para se estabelecer relações entre linhas (tuplas) de tabelas de um banco de dados relacional são: chave primária e chave estrangeira.

QUESTÃO ERRADA: Toda relação deve possuir somente uma chave primária de atributo único.

Errado. A chave primária pode ser composta de mais de um atributo.

QUESTÃO CERTA: É recomendável utilizar chaves primárias compostas como identificadores de relações compostas, oriundas de um relacionamento M:N.

Na implementação de relacionamentos muitos para muitos, a regra é a criação de uma terceira tabela com chave composta (Com a PK das duas tabelas do relacionamento).

QUESTÃO ERRADA: Uma chave primária pode ter valor NULL;

QUESTÃO ERRADA: uma chave primária deve ser composta por um único atributo.

QUESTÃO CERTA: a tabela Funcionário possui chave primária e chave estrangeira.

A chave primária da tabela Funcionário é IdFunc (que vai dar uma identificação única para cada funcionário), e a chave estrangeira é IdDep (que faz referência à tabela Departamento, onde IdDep é chave primária).

Uma relação de tabela funciona pela correspondência de dados em campos chave – geralmente um campo com o mesmo nome em ambas as tabelas. Na maioria dos casos, esses campos correspondentes são a chave primária de uma tabela, que fornece um identificador exclusivo para cada registro, e uma chave estrangeira da outra tabela.

QUESTÃO ERRADA: um departamento só poderá ser cadastrado se antes já tiver um funcionário cadastrado nele.

Como a tabela Funcionário possui uma chave estrangeira para Departamento, se o departamento adequado não estiver cadastrado, não vai ser possível adicionar o (s) funcionário (s) que trabalha (m) nele.

QUESTÃO ERRADA: Na tabela Funcionário, o campo chave estrangeira é IdFunc.

IdFunc é a chave primária de Funcionário

QUESTÃO ERRADA: a tabela Departamento não possui chave primária.

Departamento possui chave primária sim. É IdDep.

QUESTÃO ERRADA: o relacionamento estabelecido entre as tabelas possui grau muitos-para-muitos.

O relacionamento entre as tabelas é de um-para-muitos, como se pode ver no modelo. Neste caso, um departamento pode ter tantos funcionários quanto o necessário, mas um funcionário não pode trabalhar em mais de um departamento.

QUESTÃO CERTA: A definição da chave primária de uma tabela criada no banco de dados pode ser feita com a combinação de vários campos.

Quando a chave primária é simples, ou seja, é formada por um único campo da tabela, esse campo não pode ter dois ou mais registros de mesmo valor, e também não pode conter nenhum registro nulo.

Se a chave primária é composta, ou seja, formada por mais de um campo, os valores de cada campo podem se repetir, mas não a combinação desses valores. Exemplo: a tabela ‘Livros_Autores’ tem como chave primária (cod_livro, cod_autor).

QUESTÃO CERTA: Sobre uma tabela de um banco de dados relacional, é correto afirmar que: sua chave primária pode ser composta por mais de um atributo.

QUESTÃO ERRADA: Uma chave primária é composta de um registro único, o qual identifica a entidade.

Uma chave primária pode ser composta por um ou mais campos numa tabela. Quando são utilizados vários campos como chave primária, são denominados por chave composta.

QUESTÃO CERTA: Em relação ao conceito de Chave Primária, assinale a afirmação correta: Identifica unicamente uma tupla.

QUESTÃO CERTA: Chave primária é o atributo que permite identificar uma única ocorrência de uma tupla em uma entidade.

QUESTÃO CERTA: Considere que uma tabela de um banco de dados relacional possui uma chave primária composta por um único atributo

Advertisement
. Essa tabela tem como propriedade: nenhum par de seus registros pode ter o mesmo valor para esse atributo na chave primária.

Como o enunciado diz chave primária “de um único atributo” – a tradução disso é que é uma chave simples, ou seja, uma coluna da nossa tabela solicita apenas um dado (por exemplo: CPF – cada cidadão possui o seu, por isso a denominação chave). Se fosse uma chave composta, essa nossa coluna poderia deter mais de um campo para registro (por exemplo coluna – que é, aqui, sinônimo de atributo – dividida em duas por conta do endereço, em que um atributo pede rua e outro o número).

QUESTÃO ERRADA: a chave primária não pode ser nem do tipo booleano, nem do tipo inteiro.

QUESTÃO ERRADA: a chave primária deve ser do tipo inteiro longo.

QUESTÃO ERRADA: metade dos seus registros, no máximo, pode ter esse atributo com o valor nulo.

QUESTÃO ERRADA: A chave primária é um atributo de uma tabela que, mesmo com valores nulos, identifica univocamente uma coluna.

Errada. Chave primaria identifica um registro em uma linha / tupla e não uma coluna. A chave primária é um atributo de uma tabela que, sem valores nulos, identifica univocamente a tupla (linha).

QUESTÃO CERTA: A chave primária de uma tabela deve ser sempre única e não nula.

Única diz respeito à repetição e não em quantidade de atributos.

QUESTÃO CERTA: Cada registro na tabela possui um valor diferente de chave primária.

QUESTÃO ERRADA: As chaves, primária e estrangeira, de uma tabela, devem ser do tipo numérico.

QUESTÃO CERTA: A respeito das ações ou características que podem ser aplicadas a uma chave primária sem relacionamentos com outra tabela em um banco de dados, assinale a alternativa correta: Não pode ser copiada ou duplicada na mesma tabela.

QUESTÃO CERTA: Considere duas tabelas S (A, B, C) e T (X, Y, Z, A) de um banco de dados relacional, sendo A e X chaves primárias das tabelas S e T, respectivamente, e A chave estrangeira na tabela T, com origem em S. Dessa forma, é correto afirmar que: T é chamada de tabela referenciadora.

Se, em um relacionamento, dizemos que uma chave estrangeira referência outra tabela, podemos afirmar que a tabela de origem é a referenciadora e a de destino é a referenciadaCERTA

QUESTÃO CERTA: Com relação às chaves substitutas em banco de dados, analise as assertivas abaixo: sempre envolvem exatamente um atributo.

CORRETA – Chaves substitutas são compostas por apenas um atributo, independente do seu tipo de dados – é uma espécie de chave primária.

A chave substituta (surrogate key) em um banco de dados é um identificador único para uma entidade no banco de dados. A chave substituta não é derivada dos dados da aplicação.

Podemos imaginar como exemplo de chave substituta um valor ID gerado por uma SEQUENCE ou UUID.

Vamos analisar as alternativas:

II. Elas servem somente para representar o fato de que entidades correspondentes existem. (CORRETA – O valor da chave substituta não tem nenhum significado, pois náo deriva dos dados da aplicação.)

III. Quando uma entidade é excluída, o valor de sua chave substituta deverá ser alocado para a primeira nova entidade adicionada. (ERRADA – o valor não mais utilizado pode ou não ser alocado para uma entidade subsequente. Não há a obrigação de usá-lo, pois não há problema algum se ele nunca mais for usado.)