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

414
7730

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.)

414 COMENTÁRIOS

  1. Hi there! This post couldnít be written much better! Looking through this article reminds me of my previous roommate! He always kept talking about this. I will send this article to him. Pretty sure he will have a great read. Many thanks for sharing!

  2. Hello there, just became alert to your blog through Google, and found that it is really informative. I am going to watch out for brussels. I will appreciate if you continue this in future. A lot of people will be benefited from your writing. Cheers!

  3. Wow that was unusual. I just wrote an very long comment but after I clicked submit my comment didn’t show up. Grrrr… well I’m not writing all that over again. Anyways, just wanted to say wonderful blog!

  4. Hello there! I know this is kind of off topic butI was wondering if you knew where I could find a captcha plugin for my comment form?I’m using the same blog platform as yours and I’m having trouble finding one?Thanks a lot!

  5. Thank you, I have recently been searching for information aboutthis subject for a while and yours is the best I’ve came upon tillnow. However, what in regards to the bottom line? Are you positive aboutthe source?

  6. I would like to thank you for the efforts you’ve put in writing this blog. I really hope to see the same high-grade blog posts by you in the future as well. In fact, your creative writing abilities has encouraged me to get my very own blog now

  7. Oh my goodness! Awesome article dude! Many thanks, However I am encountering issues with your RSS. I donít know why I can’t join it. Is there anybody getting similar RSS issues? Anyone that knows the answer can you kindly respond? Thanx!!

  8. An interesting discussion is worth comment. I do believethat you ought to write more about this subject matter, itmay not be a taboo matter but usually people don’t speak about these subjects.To the next! Many thanks!!

  9. Kelvin Kaemingk has over two decades of helping people make smarter decisions regarding their mortgage and money decisions. He began his career in financial planning and migrated into the mortgage space in 2002. He is passionate and committed to helping people throughout their lives, make the best financial decisions for themselves and their families. As a father of three, and now Papa K (grandpa) to one, a team builder and recruiter, Kelvin thrives on helping others realize their potential, often referenced as “Everyone’s biggest fan”. Kelvin Kaemingk is the Area Manager for loanDepot and Co-Host of the Real Estate Chalk Talk radio program based in the Minneapolis – St. Paul area. Kelvin Kaemingk, NMLS 251124 | Branch NMLS 1139048

  10. I’m extremely impressed with your writing skills as well as with the layout on your blog. Is this a paid theme or did you customize it yourself? Either way keep up the excellent quality writing, it is rare to see a nice blog like this one nowadays.

  11. Howdy! I know this is kinda off topic but I was wondering if youknew where I could get a captcha plugin for my comment form?I’m using the same blog platform as yours and I’m having difficulty finding one?Thanks a lot!

  12. Hey there! I could have sworn I’ve been to this blog before but after reading through some of the post I realized it’s new to me. Anyhow, I’m definitely happy I found it and I’ll be book-marking and checking back often!

  13. I do agree with all the concepts you’ve presented on your post. They are really convincing and will definitely work. Still, the posts are very brief for beginners. May you please prolong them a bit from subsequent time? Thanks for the post.

  14. Hi there! I just wanted to ask if you ever have any issues with hackers? My last blog (wordpress) was hacked and I ended up losing months of hard work due to no data backup. Do you have any solutions to stop hackers?

  15. Thanks for any other great post. The place else could anybody get that type of information in such an idealmeans of writing? I have a presentation subsequent week, and I am on the search for such information.

  16. I just like the valuable info you supply to yourarticles. I will bookmark your blog and take a look at again right here frequently.I am moderately sure I’ll learn lots of new stuff proper right here!Good luck for the next!Here is my blog Zenzi CBD

  17. Hey There. I found your blog the usage of msn. That is an extremelywell written article. I will make sure to bookmark it and return to learn extra of your useful info.Thank you for the post. I’ll certainly comeback.

  18. I just like the valuable info you provide on your articles. I’ll bookmark your blog and take a look at once more here regularly. I am fairly sure I’ll be informed lots of new stuff right here! Good luck for the following!

  19. I’m now not positive the place you are getting your info, however great topic. I needs to spend a while studying much more or figuring out more. Thank you for fantastic information I used to be searching for this information for my mission.

  20. Oh my goodness! Incredible article dude! Thanks, However I am having problems with your RSS. I donít understand why I cannot join it. Is there anybody having similar RSS issues? Anybody who knows the solution will you kindly respond? Thanx!!

  21. What’s Taking place i’m new to this, I stumbled upon this I have discovered It absolutely
    helpful and it has helped me out loads. I hope to contribute & assist other customers like its aided me.
    Great job.

    Feel free to surf to my webpage vpn special

  22. ラブドール 他のウェブサイトからのダッチワイフのトリックを避ける方法は?プレッパーとセックスドール–黙示録に落ち着くセックスドール着用役員スカーフがオールドファームにぶら下がっているダービーセックスドールは、臨床治療に役立つ可能性があります。

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui