Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Aula Boyce-Codd

Não consegui compreender a aula de Boyce-codd, mesmo assistindo várias vezes ficou muito confuso o conceito do que é de fato. Não consegui enteder quais atributos precisam ser removidos da tabela para essa seja normalizada. Foram usados também, termos não dito antes como "chave candidata", o que deixou tudo mais confuso.

1 resposta
solução!

Oi Maria, como você está?

Não se preocupe, é bastante comum ter dificuldade nesse assunto. São tantas informações! Com a prática e ao ter um repertório maior, a normalização se torna um processo natural.

Para te ajudar a compreender melhor, vou deixar aqui as descrições de alguns termos utilizados nessa aula e explicar um pouquinho sobre eles. Caso fique ainda alguma dúvida, não hesite em me perguntar. Podemos conversar sobre.

Vamos lá:

A forma normal de Boyce-Codd (FNBC) surgiu para resolver alguns problemas de redundância de dados que se mantinham mesmo ao aplicar a 3FN.

Ela é utilizada em casos que a tabela:

  • Tenha duas ou mais chaves candidatas
  • Essas chaves candidatas são compostas
  • Essas chaves tem superposição - superposição acontece quando há atributos em comum

Chave candidata é uma coluna da tabela com potencial para ser chave primária, ou seja, identificadores exclusivos dos dados. Por exemplo: em uma tabela Fornecedor que contenha as colunas id_forn e id_produto, entre outros, a chave primária poderá ser a combinação desses dois atributos - afinal um fornecedor pode fornecer vários produtos (e vice-versa). Tanto id_forn quando id_produto são chaves candidatas à serem uma chave primária composta. Assim como forn_nome e id_produto também seriam uma chave primária composta, com a mesma validade. Isso faz com que essa combinação também seja uma chave candidata.


Tabela Fornecedor

id_fornforn_nomeid_produtoqtde
f1Joãop120

A FNBC atende à dependência funcional trivial. Esse tipo de dependência acontece quando há esse tipo de comportamento: duas ou mais combinações possíveis de se tornarem uma chave primária composta, tendo um atributo em comum (nesse caso, id_produto).

A tabela estará em FNBC quando todos os determinantes forem chaves candidatas.

Para resolver esse problema, identificamos quais são os atributos que estão na dependência funcional trivial, e o levamos à outra tabela.

Tabela Fornecedor

id_fornforn_nome
f1João

E a tabela com os itens remanescentes da tabela original, contendo apenas um dos atributos da nova tabela formada.

Tabela Fornecedor_produto

id_fornid_produtoqtde
f1p120

Poderia também ser utilizado o nome do fornecedor, no lugar do id. Ao ser combinado com id_produto, teremos uma chave primária composta.

Pronto! A tabela já está normalizada de acordo com a FNBC.

Maria, espero que tenha ficado mais claro. Reforço que a prática cotidiana vai te deixar muito mais a vontade para aplicar a normalização. Estou à disposição.

Abração!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software