Dependências Funcionais



Documentos relacionados
Forma Normal de Boyce Codd 3 a Forma Normal

Álgebra relacional. Fernando Lobo. Conjunto de operadores que permitem manipular relações: produtos cartesianos e joins.

Databases. Dependências Funcionais

Álgebra relacional. Fernando Lobo. Base de Dados, aula 12

Conversão do modelo UML para o modelo relacional

SQL: Interrogações simples

Dependências Multi-Valor, 4 a Forma Normal

SQL: Definição de tabelas, Modificações à Base de Dados

BANCO DE DADOS I AULA 6. Wlllamys Araújo willamysaraujo7@gmail.com

Introdução às Bases de Dados

Fernando Lobo. Base de Dados, Universidade do Algarve 1/19. Professores da disciplina. Fernando Lobo (T e P) Alvaro Barradas (P) 2/19

Exercícios Teóricos Resolvidos

Normalização: 3 a Forma Normal

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Normalização de Esquemas de Banco de Dados. Prof. Carlos Bazilio

Exemplo Seja a relação Inventário (peça, departamento, cor) com. Está na FNBC (não existem dependências funcionais). Mas, existem anomalias:

Tabelas vista de estrutura

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Como Fazer um Vídeo no Windows Live Movie Maker

MÓDULO 4 DISTRIBUIÇÃO DE FREQÜÊNCIAS

MD Sequências e Indução Matemática 1

Bases de Dados 2007/2008 Exame

Modelo Relacional. 2. Modelo Relacional (Lógico)

36ª Olimpíada Brasileira de Matemática GABARITO Segunda Fase

Aula 4 Estatística Conceitos básicos

MEMOREX BANCO DE DADOS por Paulo Marcelo

Estruturas de Repetição

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática

Capítulo 3: Modelo Relacional!

INTRODUÇÃO AO MODELO DE DADOS RELACIONAL

0, OU COMO COLOCAR UM BLOCO QUADRADO EM UM BURACO REDONDO Pablo Emanuel

ferramentas de produtividade

UNIVERSIDADE FEDERAL DE. Programa de Mestrado em Ciência da

Manual das planilhas de Obras v2.5

Tanto neste nosso jogo de ler e escrever, leitor amigo, como em qualquer outro jogo, o melhor é sempre obedecer às regras.

Banco de Dados Lista de Exercícios 01

"SISTEMAS DE COTAGEM"

- O atributo Cursos contém valores não atómicos!!!

Bacharelado em Ciência da Computação Matemática Discreta

por séries de potências

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Para o PowerPoint, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

01/05/2016. Danillo Tourinho Sancho da Silva, MSc ROTEIRIZAÇÃO TEORIA DOS GRAFOS MOTIVAÇÃO

MODELAGEM DE DADOS - NORMALIZAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Colégio de Aplicação. Universidade Federal do Rio de Janeiro. são. 1 a série ensino médio. Matemática

8. Perguntas e Respostas

QUESTÕES COMENTADAS E RESOLVIDAS

Obrigatoriedade de participação de uma entidade numa associação. Uma entidade pode participar numa associação de duas formas:

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

Gestor de Janelas Gnome

Folha de Cálculo TECNOLOGIAS DA T IINF CO RM 1 A 0 ÇÃO E COMUNICAÇÃO TIC 10

Nível 3 IV FAPMAT 28/10/2007

Técnicas de Normalização por Phaser

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

PROCEDIMENTO DO CLIENTE

Neste tópico, veremos como selecionar e copiar informações entre bancos de dados de empresa no SAP Business One.

Disciplina: Unidade III: Prof.: Período:

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

MATEMÁTICA GEOMETRIA ANALÍTICA I PROF. Diomedes. E2) Sabendo que a distância entre os pontos A e B é igual a 6, calcule a abscissa m do ponto B.

A otimização é o processo de

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.

Capítulo 7. Topologia Digital. 7.1 Conexidade

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

1 Introdução. 2 Material

A B C F G H I. Apresente todas as soluções possíveis. Solução

TUTORIAL PARA PREPARAÇÃO E IMPORTAÇÃO DE DADOS PARA. Os dados de suas coletas devem ser organizados em uma planilha eletrônica, de modo

COMENTÁRIO DA PROVA DE MATEMÁTICA

LABORATÓRIO UNIDADES 1 REVISÃO LINUX E COMANDOS BÁSICOS ABRINDO A MÁQUINA VIRTUAL UBUNTU SERVER PELO VIRTUALBOX

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

XXVI Olimpíada de Matemática da Unicamp. Instituto de Matemática, Estatística e Computação Científica Universidade Estadual de Campinas

Serviço de Clientes. Gestix Enterprise. Gestix.com

Tarefa 18: Criar Tabelas Dinâmicas a partir de Listas de Excel

Laboratório de Banco de Dados II Aula 1. Stored Procedures

Eventos independentes

Banco de Dados. Microsoft Access. Índice

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

ponto P terá as projecções P 1 e P 2. E o eixo X passa para X. Vamos ver o que acontece no plano do

Um jogo de preencher casas

Como criar um blog. Será aberta uma janela onde você deverá especificar o título do blog, o endereço do blog, e o modelo.

Sistemas de Apoio à Decisão

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Exemplos de Problemas Aplicando o Princípio Fundamental da Contagem. Professor: Flávio dos Reis Moura Skype; mineironegrogalo75

Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX.

Sistemas Lineares. Módulo 3 Unidade 10. Para início de conversa... Matemática e suas Tecnologias Matemática

Introdução. Introdução. Objetivos da Aula. Bases Computacionais da Ciência(BC-0005)

1. A corrida de vetores numa folha de papel.

Microsoft Access INTRODUÇÃO. Sumário INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO. O que é Banco de Dados?

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Transcrição:

Dependências Funcionais Fernando Lobo Base de Dados, Universidade do Algarve 1 / 26 Motivação: Normalização Por vezes o esquema relacional tem falhas. Geralmente são derivadas de falhas no modelo conceptual. Vamos aprender a teoria de Normalização de relações, a qual permite eliminar certo tipo de falhas. 2 / 26

Exemplo Filmes1( nome, ano, duração, nomeestúdio, moradaestúdio ) nome ano duração nomeestúdio moradaestúdio Star Wars 1977 124 Fox 10 Elm St., Los Angeles Empire Strikes Back 1980 143 Fox 10 Elm St., Los Angeles Gone With the Wind 1939 181 Paramount 44 Pine St., Los Angeles Lion King 1994 124 Disney 56 Oak St., Los Angeles Return of the Jedi 1983 165 Fox 10 Elm St., Los Angeles Pocahontas 1995 115 Disney 56 Oak St., Los Angeles Qual o problema desta relação? 3 / 26 Problemas 1 Redundâcia a morada de um estúdio aparece repetida várias vezes. 2 Pode dar origem a anomalias em updates. ex: actualizar a morada no 1 o tuplo e não o fazer no 2 o e 5 o tuplo. 3 Pode dar origem a anomalias em deletes. ex: se apagarmos o filme Gone With the Wind, o estúdio Paramount desaparece da BD! 4 / 26

Normalização Estudo de Normalização de relações permite-nos decompor uma relação em várias relações de modo a que não haja este tipo de anomalias. Antes de aprender a fazê-lo, precisamos de aprender o conceito de Dependência Funcional. 5 / 26 Dependências Funcionais Generalização do conceito de chave. Notação: X Y Significado: se fixarmos valores para os atributos X, os valores dos atributos Y são únicos (i.e., não há repetidos). Nota: X e Y são conjuntos de atributos. Usaremos..., X, Y, Z para representar conjuntos de atributos; A, B, C,... para atributos individuais. Por vezes vamos omitir o uso de chavetas para representar conjuntos, i.e. usaremos ABC em vez de {A,B,C}. 6 / 26

No nosso exemplo... Filmes1( nome, ano, duração, nomeestúdio, moradaestúdio ) nome ano duração nomeestúdio moradaestúdio Star Wars 1977 124 Fox 10 Elm St., Los Angeles Empire Strikes Back 1980 143 Fox 10 Elm St., Los Angeles Gone With the Wind 1939 181 Paramount 44 Pine St., Los Angeles Lion King 1994 124 Disney 56 Oak St., Los Angeles Return of the Jedi 1983 165 Fox 10 Elm St., Los Angeles Pocahontas 1995 115 Disney 56 Oak St., Los Angeles nome ano duração nomeestúdio moradaestúdio nomeestúdio moradaestúdio 7 / 26 Definição é independente da instância A definição de DF é independente da instância da relação. Uma DF é uma asserção que é obedecida por todas as possíveis instâncias de uma relação. O mesmo acontece com o conceito de chave. 8 / 26

Chaves e Superchaves X é uma superchave da relação R se: X todos os atributos de R. X é uma chave da relação R, se nenhum subconjunto próprio de X for superchave de R (i.e., X é uma superchave mínima ). NOTA: Y é subconjunto próprio de X, se Y X Y X X é chave de R X é superchave de R. 9 / 26 Exemplo Filmes1( nome, ano, duração, nomeestúdio, moradaestúdio ) Com DF s: nome ano duração nomeestúdio moradaestúdio nomeestúdio moradaestúdio {nome,ano} é chave de Filmes1. Porquê? Quantas superchaves há na relação Filmes1? 10 / 26

DF s triviais X Y é trivial se Y X Exemplos nome ano nome nome nome 11 / 26 Regras sobre DF s X A 1 A 2... A n É equivalente a: X A1 X A2... X A n Em inglês, Splitting Rule. 12 / 26

Não se pode fazer o mesmo do lado esquerdo Exemplo: nome ano duração não é equivalente a: nome duração ano duração Porquê? 13 / 26 Regras sobre DF s (cont.) Transitividade: Se X Y e Y Z, então X Z. Augmentation : Se X Y, então XZ Y. 14 / 26

De onde vêm as DF s 1 Chaves obtidas no modelo conceptual. 2 Relações muitos-um. 3 Conhecimento do problema. 15 / 26 Exemplo: casos 1 e 2 Filme PK nome PK ano duracao acores 0..* produz 0..1 Estudio PK nome morada Filmes( nome, ano, duração, acores, nomeestúdio ) nome ano duração acores nome ano nomeestúdio 16 / 26

Exemplo: conhecimento sobre o problema (caso 3) Não pode haver 2 disciplinas que funcionam no mesmo dia da semana, à mesma hora, e na mesma sala. sala dia hora disciplina 17 / 26 Fecho de um conjunto de atributos Notação: o fecho de X designa-se por X +. Significado: X + é o conjunto de todos os atributos que são funcionalmente determinados por X. Algoritmo para calcular X + : 1 X + = X 2 Se A 1, A 2,..., A m B, e todos os A s estão contidos em X +, adicionar B a X +. 3 Termina quando não conseguirmos adicionar mais nada a X +. 18 / 26

Exemplo Dada a relação R(ABCDEF ) com as seguintes DF s: AB C BC A BC D D E CF B (AB) + =? = AB = ABC // porque AB C = ABCD // porque BC D = ABCDE // porque D E 19 / 26 Projecção de DF s Nota: Projecção = eliminar algumas colunas. Motivação: Normalização, o processo de partir um esquema relacional em 2 ou mais esquemas. Exemplo: R(ABCD) com DF s: AB C, C D, e D A. Decompor em R1 (ABC) e R 2 (AD). Quais as DF s em R1? AB C, mas também C A. 20 / 26

Projecção de DF s (cont.) Dada uma relação R com um conjunto de DF s, projectar R em R 1. Quais as DF s de R 1? 1 Começar com as DF s de R e encontrar todas as DF s não triviais que se podem deduzir a partir delas. 2 Ficar apenas com as DF s cujos atributos façam parte do esquema de R 1. 21 / 26 Algoritmo para projectar as DF s de uma relação R numa relação R 1 1 Seja T o eventual output. Inicialmente, T =. 2 Para cada subconjunto X de atributos de R 1, calcular X + (usando as DF s de R). 3 Inserir X A em T, para todo o A (X + X ), desde que A seja atributo de R 1. 22 / 26

Simplificação Calcular o fecho de todos os subconjuntos de atributos é trabalhoso. Simplificação n o 1: Não é necessário calcular o fecho do conjunto vazio, nem do conjunto de todos os atributos. Simplificação n o 2: Se X + = todos os atributos, não é necessário calcular o fecho de subconjuntos que contenham X. 23 / 26 Exemplo Seja R(ABCD) com DF s A B, B C, C D. Projectar R em R 1 (ACD) (i.e., eliminar o atributo B). Fechos A + = ABCD C + = CD D + = D (CD) + = CD T A C, A D C D T é o conjunto de DF s de R 1. Mas podemos eliminar A D porque pode ser deduzida a partir das outras duas. DF s de R 1 : A C, C D. 24 / 26

Equivalência de conjuntos de DF s Dois conjuntos de DF s S e T são equivalentes, se o conjunto de instâncias que satisfaz S for o mesmo que o conjunto de instâncias que satisfaz T. No exemplo que vimos há pouco: {A C, A D, C D} é equivalente a {A C, C D} 25 / 26 Base mínima de DF s Seja S um conjunto de DF s para uma relação R. Qualquer conjunto de DF s equivalente a S é uma base para S. Uma base mínima para uma relação R, é uma base B que satisfaça: 1 Todas as DF s em B, têm no lado direito um só atributo. 2 Se removermos uma das DF s de B, deixa-se de ter uma base. 3 Se removermos um atributo do lado esquerdo de uma das DF s de B, deixa-se de ter uma base. 26 / 26