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_forn | forn_nome | id_produto | qtde |
---|
f1 | João | p1 | 20 |
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
E a tabela com os itens remanescentes da tabela original, contendo apenas um dos atributos da nova tabela formada.
Tabela Fornecedor_produto
id_forn | id_produto | qtde |
---|
f1 | p1 | 20 |
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!