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

Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem Cprofjr
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Leinylson Fontinele
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Leinylson Fontinele
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
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
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaLeinylson Fontinele
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 

Mais procurados (20)

Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
03 mer2
03 mer203 mer2
03 mer2
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Linguagem C 07 Registros
Linguagem C 07 RegistrosLinguagem C 07 Registros
Linguagem C 07 Registros
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
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
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 

Destaque

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
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDjonathas Cardoso
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dadoselliando dias
 
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)

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
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados I
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
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
 

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.