banco de dados i 2007 móduloii: modelagementidade- …clodis/bdi/bdi_2007_modulo2... · 2020. 10....
Post on 09-Nov-2020
1 Views
Preview:
TRANSCRIPT
Clodis Boscarioli
Módulo II: Modelagem Entidade-Relacionamento versus Relacional
(Aula 5)
Banco de Dados I
2007
Agenda:
� Normalização:� Conceitos Gerais;� Definições;� 1NF;� 2NF;� 3NF;� BCNF.
� Exercício de fixação.
Introdução
� Entendendo as dependências funcionais somos capazes de especificar aspectos semânticos dos esquemas de relação.
� Para tal, presumimos que:
� um conjunto de dependências funcionais seja específico para cada relação; e,
� Que cada relação tenha uma chave primária designada.
� Essas informações, combinadas a testes para formas normais, direcionam o processo de normalização dos projetos de esquemas relacionais.
Conceitos
� A normalização de dados pode ser vista como o processo de análise de determinados esquemas de relações com base em suas dependências funcionais e chaves primárias para alcançar as propriedades desejáveis:
� Minimização de redundâncias;
� Minimização de modificações.
� O esquemas de relações insatisfatórias, que não alcançam certas condições – os testes de forma normal -, são decompostas em esquemas de relações menores que passam nos testes e, conseqüentemente, possuem as propriedades desejadas.
Conceitos
� A forma normal de uma relação refere-se à condição da mais altaforma normal alcançada e, conseqüentemente, indica o grau no qual foi normalizada.
� A normalização sempre deve estar acompanhada da garantia de duas propriedades:
� Junção sem perdas: Garante que o problema de geração de tuplas ilegítimas não ocorra (propriedade crítica que deve sempre ser garantida);
� Preservação de dependências: Garante que cada dependência funcional será representada em alguma relação individual resultante da decomposição.
Definições
� Superchave:
� Uma superchave de um esquema de relação R = {A1, A2, ..., An} é um conjunto de atributos S ⊆ R que contenha a propriedade na qual não haverá duas tuplas t1 e t2, em qualquer estado da relação r de R, cujat1[S] = t2[S].
� Uma chave K é uma superchave com a propriedade adicional de que a remoção de qualquer atributo de J fará com que K não seja mais uma superchave.
� Atributo primário:
� Um atributo de um esquema de relação R é chamado atributo primáriode R se for membro de alguma chave candidata de R. O atributo é dito não primário se não for um atributo primário – isto é, se não for membrode alguma chave candidata.
Primeira Forma Normal (1NF)
� Impedimento para a criação de atributos multivalorados, atributos compostos e combinações entre eles.
� Estabelece-se que o domínio de um atributo só deva incluir os valores atômicos e que o valor de qualquer atributo em uma tupla deve ter um único valor no domínio daquele atributo.
� A 1NF impede as “relações dentro de relações” ou “relações como valores de atributos dentro de tuplas”.
Primeira Forma Normal
� Considerando o departamento que possui um atributo multivalorado: localizações. Há três técnicas básicas para alcançar a primeira forma normal:
1. Remover o atributo DLocalizações que viola a 1NF e colocá-lo em uma relação separada, junto com a chave primária que identifica a entidade “departamento”.
2. Ampliar as chaves de forma a separar as tuplas da relação original DEPARTAMENTO, criando uma para cada localização de “departamento”.
3. Se um número máximo de valores puder ser estabelecido para o atributos, por exemplo, se é sabido que há no máximo três locais para cada departamento, substituir o atributo Dlocalizações por três atributos atômicos.
Segunda Forma Normal (2NF)
� Baseada no conceito de dependência funcional total.
� Uma dependência funcional X � Y será uma dependência funcional total se a remoção de qualquer atributo A de X implicar que a dependência não mais será assegurada, isto é, para qualquer atributo A ∈ X, (X – {A}) não determina funcionalmente Y.
� Uma dependência funcional X � Y é uma dependência parcial se um atributo A ∈ X puder ser removido de X e a dependência mesmo assim continuar existindo, ou seja, para algum A ∈ X, (X – {A}) � Y.
Segunda Forma Normal
� Exemplo de dependências funcionais totais e parciais:
� Considere o esquema:SSN, PNumero, Horas, Enome, Pnome, Plocalização
� {SSN, PNumero} � Horas: é uma dependência funcional total (não são asseguradas nem SSN � Horas nem PNumero�Horas).
� {SSN, PNumero} � Enome: é uma dependência funcional parcial porque SSN � Enome é assegurada.
Segunda Forma Normal
� Um esquema de relação R está na 2NF se todo atributo não primário A em R tem dependência funcional total da chave primáriade R.
� O teste para a 2NF envolve verificar se os atributos do lado esquerdo das dependência funcionais fazem parte da chave primária. Se a chave primária contiver um único atributo, a necessidade do teste não se aplica.
� A relação do slide anterior está na 1NF mas não está na 2NF. O atributo não primário enome viola a 2NF em razão da dependência funcional SSN � Enome. Enome é parcialmente dependente da chave primária (já que depende de SSN).
Segunda Forma Normal
� Um esquema pode ser normalizado na 2NF por meio da criação de várias relações na 2NF nas quais os atributos não primários só estarão associados a dependências funcionais total.
� Considere o esquema abaixo e suas dependências funcionais:
SSN, PNumero, Horas, Enome, Pnome, Plocalização
SSN, PNumero � Horas
SSN � Enome
PNumero � Pnome, Plocalização
Segunda Forma Normal
� Normalizando, cria-se três esquemas:
Esquema1: SSN, Pnumero, Horascom a dependência funcional: SSN, PNumero � Horas
Esquema 2: SSN, Enomecom a dependênia funcional: SSN � Enome
Esquema 3: PNumero, Pnome, Plocalização com a dependência funcional: PNumero � Pnome, Plocalização
Terceira Forma Normal (3NF)
� De acordo com a definição original de Codd, um esquema de relação R está na 3NF se satisfizera 2NF e se nenhum atributo não primário de R for transitivamente dependente da chave primária.
� Está baseada no conceito de dependência transitiva.
� Uma dependência funcional X � Y, em um esquema de relação R, será uma dependência transitiva se existir um conjunto de atributos Z que não é nem uma chave candidata nem um subconjunto de qualquer chave de R, e ambas X � Z e Z � Y forem asseguradas.
Terceira Forma Normal
� Como exemplo, considere o seguinte esquema com sua dependências funcionais:
Enome, SSN, DataNasc, Endereço, Dnumero, Dnome, DgerSSN
SSN � Enome, DataNasc, Endereco, DNumeroDNumero � Dnome, DgerSSN
A dependência funcional SSN � DgerSSN é transitiva para Dnumero, pois ambas as dependências SSN � Dnumero e Dnumero � DgerSSN são asseguradas e Dnumero não é nem chave primária nem um subconjunto da chave da relação.
�A normalização na 3NF para o exemplo se dá por meio da decomposição:
Esquema 1: Enome, SSN, DataNasc, Endereço, Dnumero
com a dependência funcional: SSN � Enome, DataNasc, Endereco, DNumero
Esquema 2: Dnumero, Dnome, DgerSSN
com a dependência funcional: DNumero � Dnome, DgerSSN
Terceira Forma Normal
Generalização
� As definições tratadas até aqui dizem respeito a parcialidade e transitividade de dependencias funcionais com respeito à chave primária da relação.
� Estas definições devem ser expandidas para a consideração de todas as chaves candidatas.
� 2NF: um esquema de relação R está na segunda forma normal se cada atributo não primário A de R não forem parcialmente dependente de nenhuma chave de R.
� 3NF: um esquema de relação R está na terceira forma normal se sempre que uma depependência funcional não trivial X � A for determinada em R, então: (A) qualquer X é uma superchave de R; ou (B) A é um atributo primário de R.
Mais um exemplo:
� Esquema Lotes:
Num_ID_Propriedade, Municipio_nome, Num_lote, Area, Preço, Imposto
� Dependências funcionais:
DF 1: Num_ID_Propriedade � Municipio_nome, Num_lote, Area, Preço, Imposto
DF 2: Municipio_nome, Num_lote � Num_ID_Propriedade, Area, Preço, Imposto
DF 3: Municipio_nome � ImpostoDF 4: Area � Preço
Colocando na 2NF:
� O esquema de relação Lotes viola a definição GERAL da 2NF porque Imposto é parcialmente dependente da chave candidata{Municipio_nome, Num_lote} em razão da terceira dependência funcional.
� Construímos então o esquema Lotes 1 removendo o atributo Imposto que viola a 2NF de Lotes, para colocá-lo com Municipio_nome em outro esquema: Lotes 2.
� Lotes1 : Num_ID_Propriedade, Municipio_nome, Num_lote, Area, PreçoCom as DFs 1, 2 e 4
� Lotes2: Municipio_nome, ImpostoCom a DF 3.
Note que a DF 4 não viola a 2NF.
Colocando na 3NF:
� Lotes2 está na 3NF.
� Lotes1 não está pois a dependência funcional 4 viola a definiçãoGERAL.
� Área não é uma superchave;
� Preço não é um atributo primário em Lotes1.
� Construímos:
� Lotes1a: Num_ID_Propriedade, Municipio_nome, Num_lote, AreaCom as DFs 1 e 2.
� Lotes1b: Area, PreçoCom a DF 4.
Forma Normal de Boyce-Codd (BCNF)
� Foi proposta como uma forma normal mais simples de 3NF, mas é considerada mas rígida que a 3NF.
� Toda relação BCNF está também em 3N, mas o contrário pode não ser verdadeiro.
� Definição: Um esquema de relação R está na BCNF sempre que uma dependência funcional não trivial X �A for mantida em R, então X será uma superchave de R.
BCNF
� Suponha a seguinte situação para o último exemplo modelado:
Existem milhares de lotes cadastrados mas eles estão localizados em apenas duas cidades. E as áreas dos lotes nas duas cidades são definidas de formas diferentes. Assim a dependência funcional Area �Municipio_nome deveria valer.
� Ainda assim, Lotes1a estaria na 3NF pois Municipio_nome é um atributo primário.
BCNF
� Mas existe redundância de informação, pois a área que determina o município, como dito pela nova dependência funcional, pode ser representada uma única vez, em uma relação a parte.
� A BCNF sugere a decomposição do esquema Lotes1a em:
Lotes1ax : Num_ID_propriedade, Area, Num_lotecom as DFs 1 e 2.
Lotes1ay : Area, Municipio_nomecom a DF 5.
� Cuidado com a decomposição com perdas na junção!
Referências
� Sistemas de Banco de Dados. (Cap. 7) AbrahamSilberchatz, Henry F. Korth e S. Sudarshan. 3ª Edição.Makron Books, 1999.
� Introdução a Banco de Dados (Apostila). (Cap. 9) Osvaldo Kotaro Takai, Isabel Cristina Italiano, João Eduardo Ferreira. DCC-IME-USP, 2005.
� Sistemas de Banco de Dados. (Cap. 9-10) Ramez Elsmari e Shamkant B. Navathe. 4ª Edição. EditoraPearson Addison Wesley, 2005.
top related