Normalização de banco de dados
Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Normalização
Dependência Funcional
Um
atributo B de um esquema de relação R é funcionalmente dependente de um outro atributo A de R se um valor para A determina um único valor para B em qualquer momento. Se B é funcionalmente dependente de A, então A determina funcionalmente B. Notação: A B
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Normalização
Dependência Funcional relaçãoR (atributoA, atributoB, atributoC) atributo A atributo B
1 valor de A (não existe outro)
somente um único valor do atributo B
lado à esquerda
lado à direita
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Normalização
Exemplo cliente (nro_cliente, nome, endereço} nro_cliente {nome, endereço} nro_cliente nome endereço
pp (nro_pedido, nro_peça, qtidade_comprada, preço_cotado} {nro_pedido, nro_peça} {qtidade_comprada, preço_cotado} nro_pedido nro_peça qtidade_comprada preço_cotado
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Normalização
Dependência Multivalorada
Um
atributo B de um esquema de relação R é multidependente de um outro atributo A de R se um valor para A é associado a uma coleção específica de valores para B, independentemente de qualquer valor que um terceiro atributo C de R possa assumir Se B é multidependente de A, então A multidetermina B Notação: A B
Profa. Dra. Cristina Dutra de Aguiar Ciferri Normalização
Dependência Multivalorada relaçãoR (atributoA, {atributoB}, {atributoC}) atributo A atributo B
1 valor de A (não existe outro) vários valores para o atributo B
independentemente dos valores do atributo C
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Normalização
Exemplo vendedor ( nro_vend, { cliente (nro_cli, nome_cli) }, { filho (nome_filho_vend, parentesco) }) nro_vend cliente (nro_cli, nome_cli) nro_vend filho (nome_filho_vend, parentesco)