Normalizaç˜ao: Dependências Multi-Valor, 4
Transcrição
Normalizaç˜ao: Dependências Multi-Valor, 4
Normalização: Dependências Multi-Valor, 4a Forma Normal Fernando Lobo Base de Dados, Universidade do Algarve 1 / 20 Dependências Multi-Valor (DMV’s) DMV dá origem a um tipo de redundância que não está relacionada com DF’s. Ocorre quando representamos na mesma relação dois ou mais conjuntos de atributos multi-valor. São obviamente resultantes de um mau modelo conceptual. 2 / 20 Exemplo Actores( nome telefone rua cidade ) nome Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt telefone 650-111333 650-111333 650-111333 996-444777 996-444777 996-444777 rua Oak St. Aloha St. Edison St. Oak St. Aloha St. Edison St. cidade Hollywood Hawaii New York Hollywood Hawaii New York Problema: estamos a representar numa só relação que um actor tem vários telefones e várias moradas. 3 / 20 Dependências Multi-Valor (DMV’s) Notação: X Y . Significado: Quando fixamos os valores dos atributos X , os valores nos atributos Y são independentes dos valores dos restantes atributos da relação. Dito de outra forma. Seja Z = atrib(R) − X − Y , os valores de Z e Y aparecem na relação R em todas as combinações possı́veis. 4 / 20 Definição formal de DMV X Y , é uma DMV na relação R se: para cada par de tuplos de R, t e u, que tenham os mesmos valores para os componentes dos atributos X , existir um outro tuplo z em R tal que: 1 z tem os mesmos componentes que t e u nos atributos X . 2 z tem os mesmos componentes que t nos atributos Y . 3 z tem os mesmos componentes que u nos restantes atributos de R (atrib(R) − X − Y ). Nota: X e Y são conjuntos de atributos. 5 / 20 Por outras palavras . . . Dados 2 tuplos que tenham os mesmos componentes em X , podemos trocar os componentes em Y e obtemos um tuplo que terá forçosamente de existir em R. X Y outros 6 / 20 Exemplo Actores( nome telefone rua cidade ) nome Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt telefone 650-111333 650-111333 650-111333 996-444777 996-444777 996-444777 rua Oak St. Aloha St. Edison St. Oak St. Aloha St. Edison St. cidade Hollywood Hawaii New York Hollywood Hawaii New York DMV’s: nome telefone nome rua cidade 7 / 20 Exemplo (cont.) Consideremos nome telefone. Consideremos dois tuplos que tenham o mesmo nome, por exemplo o 1o e 5o tuplos: (Brad Pitt, 650-111333, Oak St., Hollywood) (Brad Pitt, 996-444777, Aloha St., Hawaii) Terá forçosamente de existir na relação Actores um tuplo que: 1 tenha o mesmo nome (Brad Pitt). 2 concorde com o 1o tuplo no atributo telefone (650-111333). 3 concorde com o 5o tuplo nos atributos rua e cidade (Aloha St., Hawaii). Verifique . . . 8 / 20 Regras sobre DMV’s Regra da Promoção: Toda a DF é uma DMV. Se X → Y , então X Y. I se X → Y , então a troca de componentes dos atributos Y em 2 tuplos que tenham os mesmos componentes X , resultará nos próprios tuplos (porque os componentes de Y são únicos). Regra do Complemento: Se X Y , então X Z (em que Z são todos os atributos com excepção de (X ∪ Y )). 9 / 20 Regras sobre DMV’s (cont.) “Splitting rule” no lado direito não se aplica como nas DF’s. Exemplo: I nome rua cidade I não implica que: nome rua, nome cidade Verifique . . . 10 / 20 DMV trivial Uma DMV X Y é trivial numa relação R se: I Y ⊂ X , ou I X ∪ Y = todos os atributos de R. Nota: é diferente da definição de DF trivial. 11 / 20 DMV’s e redundância A redundância derivada de uma DMV é diferente da redundância derivada de uma DF que viole BCNF. i.e., por vezes uma relação está em BCNF mas continua a ter redundância devido ao efeito multiplicativo provocado pela DMV. 12 / 20 Exemplo Actores( nome telefone rua cidade ) nome Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt telefone 650-111333 650-111333 650-111333 996-444777 996-444777 996-444777 rua Oak St. Aloha St. Edison St. Oak St. Aloha St. Edison St. cidade Hollywood Hawaii New York Hollywood Hawaii New York Estará em BCNF? Qual a chave? Que DF’s existem? 13 / 20 Exemplo Actores( nome telefone rua cidade ) nome Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt Brad Pitt telefone 650-111333 650-111333 650-111333 996-444777 996-444777 996-444777 rua Oak St. Aloha St. Edison St. Oak St. Aloha St. Edison St. cidade Hollywood Hawaii New York Hollywood Hawaii New York Chave = {nome, telefone, rua, cidade} DF’s = {} =⇒ Actores está em BCNF. 14 / 20 4a Forma Normal (4FN) Uma relação R está na 4FN se: sempre que existir uma DMV X Y não trivial, X for superchave de R. 15 / 20 Exemplo Actores( nome telefone rua cidade ) DMV’s: nome telefone nome rua cidade Não está na 4FN porque nome telefone é uma DMV não trivial, e nome não é superchave de Actores. 16 / 20 BCNF versus 4FN Se R está na 4FN, então também está em BCNF. Justificação: uma violação de BCNF também é uma violação da 4FN. I lembrem-se que X → Y =⇒ X Y . Mas R pode estar em BCNF e não estar na 4FN. I a relação Actores que temos estado a ver é um exemplo. 17 / 20 Decomposição para 4FN Parecido com decomposição para BCNF. Seja X Y , uma violação da 4FN para uma relação R, decompomos R em: I R1 (XY ) I R2 (XZ ) em que Z são todos os atributos de R com excepção de (X ∪ Y ). Decompor novamente R1 e R2 caso seja necessário. 18 / 20 Exemplo Actores( nome telefone rua cidade ) FD’s: DMV’s: chave: {} nome telefone nome rua cidade {nome, telefone, rua, cidade} Ambas as DMV’s violam 4FN. Decompomos em: Actores1 (nome telefone) Actores2 (nome rua cidade) // com nome telefone // com nome rua cidade Actores1 e Actores2 estão na 4FN I DMV’s passaram a ser triviais. 19 / 20 Relação entre as várias formas normais 4FN =⇒ BCNF =⇒ 3FN. 20 / 20
Documentos relacionados
Parte 05 - Professor Marcelo Nogueira
Decompor a entidade em uma ou mais entidades, sem grupos repetitivos; Destacar um ou mais atributos como chave primária da(s) nova(s) entidade(s), e este será concatenado com a chave primária d...
Leia mais