SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Universidade Federal do Ceará
            Bacharelado em Sistemas e Mídias Digitais
                       Bancos de Dados Multimídia
                             Ticianne Darin

Introdução a Bancos de Dados: Normalização
Exercício Resolvido

1.      Considere o esquema de relação MATRICULA ( D, P, S, H, E, N), onde:
        D = disciplina; P = professor; S= sala; H = horário (dia e hora);
        E= Estudante e N = Nota

     a) Indique todas as FDs que você identifica na relação MATRICULA.
        Explique o significado de cada FD.
     b) Encontre as chaves da relação MATRICULA.
     c) Em qual forma normal se encontra a relação MATRICULA?
     d) Como você normalizaria a relação MATRICULA? Justifique sua
        resposta.

RESPOSTAS
  a) Indique todas as FDs que você identifica na relação MATRICULA.

           D -> P (Uma Disciplina só pode ser lecionada por um único
            professor)
           E, D -> N (um estudante só pode ter uma nota em uma determinada
            disciplina)
           S, H -> D (uma sala só pode ser alocada para uma disciplina em uma
            determinada hora)
           E, H -> S (um estudante só pode estar em uma única sala em uma
            determinada hora)
           E, H -> D (um estudante só pode estar matriculado em uma única
            disciplina em uma determinada hora)
           S, H -> P (uma dada sala só pode ser alocada para um único
            professor em um dado horário)
           E, H -> P (O estudante só pode ter aula com um professor em um
            determinado horário)
           P, H -> D (O professor só pode ministrar uma disciplina em um
            determinado horário)
           P, H -> S (O professor só pode lecionar em uma sala em um dado
            horário)


     b) Encontre as chaves da relação MATRICULA.
        Para encontrar as chaves da relação devemos observar qual o conjunto
        mínimo de atributos determinam todos os outros atributos. A primeira
        dica é observar nas FDs quais atributos não são encontrados por
nenhum outro (os atributos que não estão na “parte direita” de nenhuma
      FD). Após isso, vamos verificar quais os atributos são candidatos a
      fazerem parte da chave. No nosso exemplo, vamos iniciar incluindo os
      atributos não encontrados em nenhuma FD:
       - HE
      Vamos agora, encontrar o fecho de (HE) e verificar se achamos todos os
      atributos (utilizando a cobertura mínima do item anterior):
      (HE)+ = {H,E, S, D, P, N}
      De fato, apenas com esses atributos eu consigo encontrar todos os
      outros. Logo, (HE) é chave da relação MATRÍCULA.
      Nota: Uma relação pode conter uma ou mais chaves.

c) Em qual forma normal se encontra a relação MATRICULA?
      Podemos dizer que a forma normal de uma relação corresponde ao nível
      mais alto de normalização em que ela se encontra. Portanto,
      começamos perguntando: Está em BCNF? Não!
      Para ser BCNF deve-se satisfazer:
              - A FD é trivial ou
              - A1 ... An é uma superchave.
      Note que apenas a FD4 não viola BCNF, as demais violam BCNF. Então
      não está em BCNF!
      Então passamos para a próxima forma normal: Está em 3NF? Não!
      Uma relação R está em 3NF se para cada FD A1...An → B1...Bm que é
      válida em R, uma das condições é satisfeita:
             1) A1 ... An → B1 ... Bm é trivial (Bi’s Ai’s),
             2) A1 ... An inclui uma chave de R, ou
             3) Cada Bi ocorre na chave de R.
      Análogo ao caso de BCNF apenas a FD4 corresponde a condição 2
      enquanto que as outras FDs não se enquadram em nenhuma das
      condições acima. Logo, não está em 3NF!
      Está em 2NF? Nenhuma das dependências possui é parcial e todos os
      atributos são atômicos. Logo, MATRICULA está na Segunda Forma
      Normal.

d) Como você normalizaria a relação MATRICULA? Justifique sua resposta.
      Aplicamos o algoritmos de decomposição em 3NF.
      PASSO 1: Calcula a cobertura mínima:
              A: Reescreve todas as FDs com apenas um elemento do lado
      direito
              B: Remove FDs redundantes (através do cálculo do fecho dos
      atributos do lado esquerdo, para ver se – sem utilizar a DF em questão,
      é possível chegar até o atributo do lado direito):
                    E, H -> D
                    S, H -> P
                    E, H -> P
                    P, H -> D
              C: Remove os atributos redundantes
                    Não há.
              D: Reagrupa os atributos do lado direito.
      Logo, a cobertura mínima é:
FD1: D -> P
             FD2: E, D -> N
             FD3: S, H -> D
             FD4: E, H -> S
             FD5: P, H -> S

PASSO 2: Para cada X do lado esquerdo de uma FD em G, crie um esquema de
relação {XA1... An} em D, onde: X -> A1, ..., X -> An são todas as FDs em G com
X do lado esquerdo.
      R1 (D,P)
      R2 (E,D,N)
      R3 (S,H,D)
      R4 (E,H,S)
      R5 (P,H,S)

PASSO 3: Coloque todos os atributos restantes em uma única relação.
    Todos os atributos foram contemplados.

PASSO 4: Se uma chave de R não está contida em nenhum dos esquemas de
relação, crie uma relação que contenha os atributos da chave.
      A chave encontrada (EH) já está contida na relação R4.

Após obter a decomposição 3NF para MATRICULA, devemos testar se ela está
em BCNF ou se pode obter uma decomposição BCNF, por ser uma forma mais
forte. Caso contrário (isto é, caso se percam dependências funcionais) a relação
deve permanecer em 3NF.

Para verificar se as DFs resultantes violam BCNF, devemos testar para cada uma
se o determinante (lado esquerdo da DF) é uma superchave da relação (isto é, a
partir do fecho dele é possível encontrar todos os atributos da relação
MATRICULA). Percebemos, neste caso, que todas as DFs, exceto EH->S, violam
a BCNF.

Para decompor em BCNF basta escolher uma das DFs que viola a BCNF na
relação Matrícula, para decompor Matrícula em duas relações: R1 (contendo todos
os atributos da dependência funcional escolhida) e R2 (contendo todos os
atributos de Matrícula, exceto o atributo que está sendo determinado na DF
escolhida). Repetir isto para a relação R2 gerada, até que não haja mais violação
da BCNF no resultado.

Escolheremos a DF SH->D. Neste caso, a decomposição de matrícula seria:
      R1(S,H,D): ok
      R2(S,H,P,E,N)
Decompõe R2 por P,H->S:
      R21(P,H,S): ok
      R22(H,P,E,N)
Não é mais possível decompor utilizando as DFs escolhidas, por isso haveria aqui
perda de DFs, embora fosse possível fazer uma decomposição sem perda na
junção.
Iniciando por outra DF, como exemplo:
Escolheremos a DF D->P. Neste caso, a decomposição de matrícula seria:
       R1(DP): ok
       R2(D,S,H,E,N)
Decompõe R2 por S,H>D:
       R21(S,H,D): ok
       R22(S,H,E,N): não é possível decompor por mais nenhuma DF que viole
BCNF

Realizado este teste para as demais DFs, percebe-se que ao decompor em BCNF
há perda de dependências funcionais para esta relação. Por isso, deve
permanecer em 3NF.

Mais conteúdo relacionado

Mais procurados

Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dadoselliando dias
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo FísicoCentro Paula Souza
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Leinylson Fontinele
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 

Mais procurados (20)

Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 

Destaque

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Vitor Leal Diniz
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalvitorleyva
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosCláudio Amaral
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de DadosDiolene Sampaio
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
Normalização básica
Normalização básicaNormalização básica
Normalização básicaNadia Habu
 
Seminovos LM: Os seminovos que você procura com a qualidade que você precisa
Seminovos LM: Os seminovos que você procura com a qualidade que você precisaSeminovos LM: Os seminovos que você procura com a qualidade que você precisa
Seminovos LM: Os seminovos que você procura com a qualidade que você precisaLM Frotas
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - AlexandrukHebert Alquimim
 
Mat exercicios deteminantes 2 e 3 ordem
Mat exercicios deteminantes  2 e 3 ordemMat exercicios deteminantes  2 e 3 ordem
Mat exercicios deteminantes 2 e 3 ordemtrigono_metria
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componenteselliando dias
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
Bdm   aula 5 - construindo modelos er e mapeamento er-relacionalBdm   aula 5 - construindo modelos er e mapeamento er-relacional
Bdm aula 5 - construindo modelos er e mapeamento er-relacionalTicianne Darin
 
Ecletismo, art nouveau e caricatura ap
Ecletismo, art nouveau e caricatura apEcletismo, art nouveau e caricatura ap
Ecletismo, art nouveau e caricatura apescola
 

Destaque (20)

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
Apostila modelagem de banco de dados
Apostila modelagem de banco de dadosApostila modelagem de banco de dados
Apostila modelagem de banco de dados
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de Dados
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
Apostila banco de dados
Apostila banco de dadosApostila banco de dados
Apostila banco de dados
 
Er biblioteca
Er bibliotecaEr biblioteca
Er biblioteca
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
Seminovos LM: Os seminovos que você procura com a qualidade que você precisa
Seminovos LM: Os seminovos que você procura com a qualidade que você precisaSeminovos LM: Os seminovos que você procura com a qualidade que você precisa
Seminovos LM: Os seminovos que você procura com a qualidade que você precisa
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - Alexandruk
 
Mat exercicios deteminantes 2 e 3 ordem
Mat exercicios deteminantes  2 e 3 ordemMat exercicios deteminantes  2 e 3 ordem
Mat exercicios deteminantes 2 e 3 ordem
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
Bdm   aula 5 - construindo modelos er e mapeamento er-relacionalBdm   aula 5 - construindo modelos er e mapeamento er-relacional
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
 
Ecletismo, art nouveau e caricatura ap
Ecletismo, art nouveau e caricatura apEcletismo, art nouveau e caricatura ap
Ecletismo, art nouveau e caricatura ap
 
Calculo de endereço ip
Calculo de endereço ipCalculo de endereço ip
Calculo de endereço ip
 

Mais de Ticianne Darin

Ihc2016.2 aula. 13 Avaliação em IHC
Ihc2016.2 aula. 13  Avaliação em IHCIhc2016.2 aula. 13  Avaliação em IHC
Ihc2016.2 aula. 13 Avaliação em IHCTicianne Darin
 
Ihc2016.2 aula. 12 construindo versões interativas dos designs
Ihc2016.2 aula. 12   construindo versões interativas dos designsIhc2016.2 aula. 12   construindo versões interativas dos designs
Ihc2016.2 aula. 12 construindo versões interativas dos designsTicianne Darin
 
Ihc2016.2 aula. 11 projetando a interação
Ihc2016.2 aula. 11   projetando a interaçãoIhc2016.2 aula. 11   projetando a interação
Ihc2016.2 aula. 11 projetando a interaçãoTicianne Darin
 
Hd 2016.1 aula.16 - panorama do design no brasil
Hd 2016.1 aula.16 - panorama do design no brasilHd 2016.1 aula.16 - panorama do design no brasil
Hd 2016.1 aula.16 - panorama do design no brasilTicianne Darin
 
Ihc2016.2 aula. 10 coleta e análise de dados
Ihc2016.2 aula. 10  coleta e análise de dadosIhc2016.2 aula. 10  coleta e análise de dados
Ihc2016.2 aula. 10 coleta e análise de dadosTicianne Darin
 
Hd 2016.1 aula.15 - design pós-moderno
Hd 2016.1 aula.15 - design pós-modernoHd 2016.1 aula.15 - design pós-moderno
Hd 2016.1 aula.15 - design pós-modernoTicianne Darin
 
Ihc2016.2 aula 9 engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9    engenharia cognitiva e teoria da açãoIhc2016.2 aula 9    engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9 engenharia cognitiva e teoria da açãoTicianne Darin
 
Ihc2016.2 aula 7 critérios de qualidade de uso
Ihc2016.2 aula 7   critérios de qualidade de usoIhc2016.2 aula 7   critérios de qualidade de uso
Ihc2016.2 aula 7 critérios de qualidade de usoTicianne Darin
 
Hd 2016.1 aula.14 - art deco e streamline
Hd 2016.1 aula.14 - art deco e streamlineHd 2016.1 aula.14 - art deco e streamline
Hd 2016.1 aula.14 - art deco e streamlineTicianne Darin
 
Ihc2016.2 aula 6 interface e modelo de interação
Ihc2016.2 aula 6   interface e modelo de interaçãoIhc2016.2 aula 6   interface e modelo de interação
Ihc2016.2 aula 6 interface e modelo de interaçãoTicianne Darin
 
Hd 2016.1 aula.13 - estilo internacional
Hd 2016.1 aula.13 - estilo internacionalHd 2016.1 aula.13 - estilo internacional
Hd 2016.1 aula.13 - estilo internacionalTicianne Darin
 
Ihc2016.2 aula 5 contexto de uso e interação
Ihc2016.2 aula 5   contexto de uso e interaçãoIhc2016.2 aula 5   contexto de uso e interação
Ihc2016.2 aula 5 contexto de uso e interaçãoTicianne Darin
 
Hd 2016.1 aula.12 - de stijl
Hd 2016.1 aula.12 - de stijlHd 2016.1 aula.12 - de stijl
Hd 2016.1 aula.12 - de stijlTicianne Darin
 
Ihc2016.2 aula 4 design conceitual
Ihc2016.2 aula 4   design conceitualIhc2016.2 aula 4   design conceitual
Ihc2016.2 aula 4 design conceitualTicianne Darin
 
Hd 2016.1 aula.11_bauhaus
Hd 2016.1 aula.11_bauhausHd 2016.1 aula.11_bauhaus
Hd 2016.1 aula.11_bauhausTicianne Darin
 
Hd 2016.1 aula.10_construtivismo russo
Hd 2016.1 aula.10_construtivismo russoHd 2016.1 aula.10_construtivismo russo
Hd 2016.1 aula.10_construtivismo russoTicianne Darin
 
Hd 2016.1 aula 9_influências das vanguardas europeias - surrealismo
Hd 2016.1 aula 9_influências das vanguardas europeias - surrealismoHd 2016.1 aula 9_influências das vanguardas europeias - surrealismo
Hd 2016.1 aula 9_influências das vanguardas europeias - surrealismoTicianne Darin
 
Hd 2016.1 aula 8_influências das vanguardas europeias - dadaísmo
Hd 2016.1 aula 8_influências das vanguardas europeias - dadaísmoHd 2016.1 aula 8_influências das vanguardas europeias - dadaísmo
Hd 2016.1 aula 8_influências das vanguardas europeias - dadaísmoTicianne Darin
 
Hd 2016.1 aula 7_influências das vanguardas europeias - futurismo
Hd 2016.1 aula 7_influências das vanguardas europeias - futurismoHd 2016.1 aula 7_influências das vanguardas europeias - futurismo
Hd 2016.1 aula 7_influências das vanguardas europeias - futurismoTicianne Darin
 
Ihc2016.2 aula 3 introdução ao design de interação
Ihc2016.2 aula 3   introdução ao design de interaçãoIhc2016.2 aula 3   introdução ao design de interação
Ihc2016.2 aula 3 introdução ao design de interaçãoTicianne Darin
 

Mais de Ticianne Darin (20)

Ihc2016.2 aula. 13 Avaliação em IHC
Ihc2016.2 aula. 13  Avaliação em IHCIhc2016.2 aula. 13  Avaliação em IHC
Ihc2016.2 aula. 13 Avaliação em IHC
 
Ihc2016.2 aula. 12 construindo versões interativas dos designs
Ihc2016.2 aula. 12   construindo versões interativas dos designsIhc2016.2 aula. 12   construindo versões interativas dos designs
Ihc2016.2 aula. 12 construindo versões interativas dos designs
 
Ihc2016.2 aula. 11 projetando a interação
Ihc2016.2 aula. 11   projetando a interaçãoIhc2016.2 aula. 11   projetando a interação
Ihc2016.2 aula. 11 projetando a interação
 
Hd 2016.1 aula.16 - panorama do design no brasil
Hd 2016.1 aula.16 - panorama do design no brasilHd 2016.1 aula.16 - panorama do design no brasil
Hd 2016.1 aula.16 - panorama do design no brasil
 
Ihc2016.2 aula. 10 coleta e análise de dados
Ihc2016.2 aula. 10  coleta e análise de dadosIhc2016.2 aula. 10  coleta e análise de dados
Ihc2016.2 aula. 10 coleta e análise de dados
 
Hd 2016.1 aula.15 - design pós-moderno
Hd 2016.1 aula.15 - design pós-modernoHd 2016.1 aula.15 - design pós-moderno
Hd 2016.1 aula.15 - design pós-moderno
 
Ihc2016.2 aula 9 engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9    engenharia cognitiva e teoria da açãoIhc2016.2 aula 9    engenharia cognitiva e teoria da ação
Ihc2016.2 aula 9 engenharia cognitiva e teoria da ação
 
Ihc2016.2 aula 7 critérios de qualidade de uso
Ihc2016.2 aula 7   critérios de qualidade de usoIhc2016.2 aula 7   critérios de qualidade de uso
Ihc2016.2 aula 7 critérios de qualidade de uso
 
Hd 2016.1 aula.14 - art deco e streamline
Hd 2016.1 aula.14 - art deco e streamlineHd 2016.1 aula.14 - art deco e streamline
Hd 2016.1 aula.14 - art deco e streamline
 
Ihc2016.2 aula 6 interface e modelo de interação
Ihc2016.2 aula 6   interface e modelo de interaçãoIhc2016.2 aula 6   interface e modelo de interação
Ihc2016.2 aula 6 interface e modelo de interação
 
Hd 2016.1 aula.13 - estilo internacional
Hd 2016.1 aula.13 - estilo internacionalHd 2016.1 aula.13 - estilo internacional
Hd 2016.1 aula.13 - estilo internacional
 
Ihc2016.2 aula 5 contexto de uso e interação
Ihc2016.2 aula 5   contexto de uso e interaçãoIhc2016.2 aula 5   contexto de uso e interação
Ihc2016.2 aula 5 contexto de uso e interação
 
Hd 2016.1 aula.12 - de stijl
Hd 2016.1 aula.12 - de stijlHd 2016.1 aula.12 - de stijl
Hd 2016.1 aula.12 - de stijl
 
Ihc2016.2 aula 4 design conceitual
Ihc2016.2 aula 4   design conceitualIhc2016.2 aula 4   design conceitual
Ihc2016.2 aula 4 design conceitual
 
Hd 2016.1 aula.11_bauhaus
Hd 2016.1 aula.11_bauhausHd 2016.1 aula.11_bauhaus
Hd 2016.1 aula.11_bauhaus
 
Hd 2016.1 aula.10_construtivismo russo
Hd 2016.1 aula.10_construtivismo russoHd 2016.1 aula.10_construtivismo russo
Hd 2016.1 aula.10_construtivismo russo
 
Hd 2016.1 aula 9_influências das vanguardas europeias - surrealismo
Hd 2016.1 aula 9_influências das vanguardas europeias - surrealismoHd 2016.1 aula 9_influências das vanguardas europeias - surrealismo
Hd 2016.1 aula 9_influências das vanguardas europeias - surrealismo
 
Hd 2016.1 aula 8_influências das vanguardas europeias - dadaísmo
Hd 2016.1 aula 8_influências das vanguardas europeias - dadaísmoHd 2016.1 aula 8_influências das vanguardas europeias - dadaísmo
Hd 2016.1 aula 8_influências das vanguardas europeias - dadaísmo
 
Hd 2016.1 aula 7_influências das vanguardas europeias - futurismo
Hd 2016.1 aula 7_influências das vanguardas europeias - futurismoHd 2016.1 aula 7_influências das vanguardas europeias - futurismo
Hd 2016.1 aula 7_influências das vanguardas europeias - futurismo
 
Ihc2016.2 aula 3 introdução ao design de interação
Ihc2016.2 aula 3   introdução ao design de interaçãoIhc2016.2 aula 3   introdução ao design de interação
Ihc2016.2 aula 3 introdução ao design de interação
 

Exercício resolvido normalização

  • 1. Universidade Federal do Ceará Bacharelado em Sistemas e Mídias Digitais Bancos de Dados Multimídia Ticianne Darin Introdução a Bancos de Dados: Normalização Exercício Resolvido 1. Considere o esquema de relação MATRICULA ( D, P, S, H, E, N), onde: D = disciplina; P = professor; S= sala; H = horário (dia e hora); E= Estudante e N = Nota a) Indique todas as FDs que você identifica na relação MATRICULA. Explique o significado de cada FD. b) Encontre as chaves da relação MATRICULA. c) Em qual forma normal se encontra a relação MATRICULA? d) Como você normalizaria a relação MATRICULA? Justifique sua resposta. RESPOSTAS a) Indique todas as FDs que você identifica na relação MATRICULA.  D -> P (Uma Disciplina só pode ser lecionada por um único professor)  E, D -> N (um estudante só pode ter uma nota em uma determinada disciplina)  S, H -> D (uma sala só pode ser alocada para uma disciplina em uma determinada hora)  E, H -> S (um estudante só pode estar em uma única sala em uma determinada hora)  E, H -> D (um estudante só pode estar matriculado em uma única disciplina em uma determinada hora)  S, H -> P (uma dada sala só pode ser alocada para um único professor em um dado horário)  E, H -> P (O estudante só pode ter aula com um professor em um determinado horário)  P, H -> D (O professor só pode ministrar uma disciplina em um determinado horário)  P, H -> S (O professor só pode lecionar em uma sala em um dado horário) b) Encontre as chaves da relação MATRICULA. Para encontrar as chaves da relação devemos observar qual o conjunto mínimo de atributos determinam todos os outros atributos. A primeira dica é observar nas FDs quais atributos não são encontrados por
  • 2. nenhum outro (os atributos que não estão na “parte direita” de nenhuma FD). Após isso, vamos verificar quais os atributos são candidatos a fazerem parte da chave. No nosso exemplo, vamos iniciar incluindo os atributos não encontrados em nenhuma FD: - HE Vamos agora, encontrar o fecho de (HE) e verificar se achamos todos os atributos (utilizando a cobertura mínima do item anterior): (HE)+ = {H,E, S, D, P, N} De fato, apenas com esses atributos eu consigo encontrar todos os outros. Logo, (HE) é chave da relação MATRÍCULA. Nota: Uma relação pode conter uma ou mais chaves. c) Em qual forma normal se encontra a relação MATRICULA? Podemos dizer que a forma normal de uma relação corresponde ao nível mais alto de normalização em que ela se encontra. Portanto, começamos perguntando: Está em BCNF? Não! Para ser BCNF deve-se satisfazer: - A FD é trivial ou - A1 ... An é uma superchave. Note que apenas a FD4 não viola BCNF, as demais violam BCNF. Então não está em BCNF! Então passamos para a próxima forma normal: Está em 3NF? Não! Uma relação R está em 3NF se para cada FD A1...An → B1...Bm que é válida em R, uma das condições é satisfeita: 1) A1 ... An → B1 ... Bm é trivial (Bi’s Ai’s), 2) A1 ... An inclui uma chave de R, ou 3) Cada Bi ocorre na chave de R. Análogo ao caso de BCNF apenas a FD4 corresponde a condição 2 enquanto que as outras FDs não se enquadram em nenhuma das condições acima. Logo, não está em 3NF! Está em 2NF? Nenhuma das dependências possui é parcial e todos os atributos são atômicos. Logo, MATRICULA está na Segunda Forma Normal. d) Como você normalizaria a relação MATRICULA? Justifique sua resposta. Aplicamos o algoritmos de decomposição em 3NF. PASSO 1: Calcula a cobertura mínima: A: Reescreve todas as FDs com apenas um elemento do lado direito B: Remove FDs redundantes (através do cálculo do fecho dos atributos do lado esquerdo, para ver se – sem utilizar a DF em questão, é possível chegar até o atributo do lado direito): E, H -> D S, H -> P E, H -> P P, H -> D C: Remove os atributos redundantes Não há. D: Reagrupa os atributos do lado direito. Logo, a cobertura mínima é:
  • 3. FD1: D -> P FD2: E, D -> N FD3: S, H -> D FD4: E, H -> S FD5: P, H -> S PASSO 2: Para cada X do lado esquerdo de uma FD em G, crie um esquema de relação {XA1... An} em D, onde: X -> A1, ..., X -> An são todas as FDs em G com X do lado esquerdo. R1 (D,P) R2 (E,D,N) R3 (S,H,D) R4 (E,H,S) R5 (P,H,S) PASSO 3: Coloque todos os atributos restantes em uma única relação. Todos os atributos foram contemplados. PASSO 4: Se uma chave de R não está contida em nenhum dos esquemas de relação, crie uma relação que contenha os atributos da chave. A chave encontrada (EH) já está contida na relação R4. Após obter a decomposição 3NF para MATRICULA, devemos testar se ela está em BCNF ou se pode obter uma decomposição BCNF, por ser uma forma mais forte. Caso contrário (isto é, caso se percam dependências funcionais) a relação deve permanecer em 3NF. Para verificar se as DFs resultantes violam BCNF, devemos testar para cada uma se o determinante (lado esquerdo da DF) é uma superchave da relação (isto é, a partir do fecho dele é possível encontrar todos os atributos da relação MATRICULA). Percebemos, neste caso, que todas as DFs, exceto EH->S, violam a BCNF. Para decompor em BCNF basta escolher uma das DFs que viola a BCNF na relação Matrícula, para decompor Matrícula em duas relações: R1 (contendo todos os atributos da dependência funcional escolhida) e R2 (contendo todos os atributos de Matrícula, exceto o atributo que está sendo determinado na DF escolhida). Repetir isto para a relação R2 gerada, até que não haja mais violação da BCNF no resultado. Escolheremos a DF SH->D. Neste caso, a decomposição de matrícula seria: R1(S,H,D): ok R2(S,H,P,E,N) Decompõe R2 por P,H->S: R21(P,H,S): ok R22(H,P,E,N)
  • 4. Não é mais possível decompor utilizando as DFs escolhidas, por isso haveria aqui perda de DFs, embora fosse possível fazer uma decomposição sem perda na junção. Iniciando por outra DF, como exemplo: Escolheremos a DF D->P. Neste caso, a decomposição de matrícula seria: R1(DP): ok R2(D,S,H,E,N) Decompõe R2 por S,H>D: R21(S,H,D): ok R22(S,H,E,N): não é possível decompor por mais nenhuma DF que viole BCNF Realizado este teste para as demais DFs, percebe-se que ao decompor em BCNF há perda de dependências funcionais para esta relação. Por isso, deve permanecer em 3NF.