Dependências Funcionais e Formas Normais

Slides:



Advertisements
Apresentações semelhantes
Mapeamento Modelo ER – Modelo Relacional
Advertisements

T I  C Módulo 2 Base de dados
Um pouco mais de cardinalidade e Relacionamentos
Base de Dados para a Gestão de Informação de Natureza Pedagógica
Abordagem Entidade Relacionamento
Normalização em BD Relacional
SISTEMAS DE INFORMAÇÃO
NORMALIZAÇÃO Unidade: Sistemas de Gestão de Base de Dados
DESENHO de BASE de DADOS RELACIONAL
Normalização.
Modelo Relacional.
Evolução dos SGBD’s (2ª Parte).
O Modelo E-R Definição: Características
Prof.: Bruno Rafael de Oliveira Rodrigues
Modelo Entidade-Relacionamento
Introdução a Bancos de Dados
Universidade Federal de Santa Catarina
Modelo Relacional parte 1
(Dependência Funcional e Normalização)
Ferramentas CASE ERwin
Processo de Normalização
Linguagem de Banco de Dados - SQL
Programação e Sistemas da Informação
Banco de Dados Aplicado ao Desenvolvimento de Software
Tecnologias de Linguagens para Banco de Dados I
Ricardo de Oliveira Cavalcanti roc3[at]cin.ufpe.br
Normalização Disciplina: Banco de dados II.
SQL Server 2012 Introdução a Modelagem de Dados
Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados.
UML – Diagrama de Classes
2.2.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
INTRODUÇÃO ÁS BASES DE DADOS
Capítulo 7: Design de Bases de Dados
Profª Daniela TLBD.
Projetando uma base de dados
Curso Técnico em Informática Prof. Tales Cabral Colégio da Imaculada.
Normalização Normalização é o conjunto de regras que visa minimizar as anomalias de modificação dos dados e dar maior flexibilidade em sua utilização.
Análise e Projeto de Sistemas
Análise de Sistemas de Informação
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
ANÁLISE DE SISTEMAS 1Trabalho elaborado por Alexandra.
Normalização Álvaro Vinícius de Souza Coêlho
©Silberschatz, Korth and Sudarshan (modificado)7.3.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
Sistemas de Informação (SI)
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Desenvolvimento de uma base de dados
Formas Normais Pedro Sousa 1 Dependências Funcionais e Formas Normais.
©Silberschatz, Korth and Sudarshan (modificado)7.4.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
Bases de dados: cruzamento de tabelas
Modelo de base de dados relacional
©Silberschatz, Korth and Sudarshan (modificado)7.1.1Database System Concepts Capítulo 7: Design de Bases de Dados Objectivos com Design de Bases de Dados.
Banco de Dados I Unidade 3: Projeto de BD Relacional
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Professor Me. Jeferson Bussula Pinheiro.
Modelo Entidade-Relacionamento
Bases de dados relacionais
Modelagem de Dados Consiste em mapear o mundo real do sistema em um modelo que irá representar a realidade e o relacionamento existente entre os dados.
Diagrama de Classes Herança Dependências.
@ Rafael Machado – ACCESS Base de Dados para a Gestão de Informação de Natureza Pedagógica.
Modelo de Entidade-relacionamento
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Gestão de Bases de Dados. Conceitos Básicos Necessidade das bases de dados  Permitem guardar dados dos mais variados tipos;  Permitem um rápido e fácil.
 O Modelo E-R (Entidade-Relação)
Normalização Prof. Juliano. 2 Consistência de Dados Controlar a construção do sistema através da criação de tabelas segundo regras que garantam a manutenção.
Anomalias de Inserção, Remoção e Atualização
Sistemas de Informação Prof. Me. Everton C. Tetila Dependências funcionais e normalização para bancos de dados relacionais Banco de Dados I.
T ABELAS Banco de dados. Banco de dados = Conjunto de dados armazenado eletrônicamente Relação = Conjunto de elementos da mesma estrutura R ELAÇÃO.
Base de Dados Departamento de Informática – Celio Sengo Base de Dados Normalização do DEA e do Modelo Relacional Dr. Célio B. sengo Novembro, 2013.
Transcrição da apresentação:

Dependências Funcionais e Formas Normais Pedro Sousa

Introdução As dependências funcionais e as formas normais estabelecem critérios de qualidade de desenho no modelo Relacional. Permitem detectar e prevenir a redundância e a coerência da informação. Fundamenta-se nas dependências entre os atributos das relações Foi extensivamente usado como critério de desenho de sistemas de informação. Ao nível do modelo Relacional, deve ser usado para detectar eventuais problemas associados à da redundância e coerência da informação. Ao nível do modelo Entidade Associação, pode ser usado para identificar entidades e determinar os seus atributos. Formas Normais Pedro Sousa

O problema da Redundância dos Dados A redundância dos dados tem implicações ao nível da coerência e da completude da informação neles contidas São bem conhecidos os seguintes problemas, designados por anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base de dados. Anomalia de eliminação: quando se elimina uma instância de um facto, perde-se instâncias de outros factos independentes. Anomalia de actualização: quando a actualização de um facto implica a alteração de uma série de instâncias de outros factos independentes. Formas Normais Pedro Sousa

Exemplo Introdutório Consideremos a seguinte Entidade /Relação Encomenda Quantidade Nº Encomenda NºEncomenda | Nº Peça | Quantidade| Preço Unitário | | | Encomenda Nº da Peça Preço Unitário Anomalia de inserção: Só podemos indicar o preço de cada peça se existirem encomendas pendentes. Anomalia de eliminação: Ao eliminar uma encomenda, perde-se a informação relativa ao preço de cada peça. Anomalia de actualização: A alteração do preço de uma peça implica a alteração do mesmo em todas as encomendas existentes. Formas Normais Pedro Sousa

Exemplo Introdutório Dependências Funcionais Encomenda Quantidade Nº Encomenda NºEncomenda | Nº Peça | Quantidade| Preço Unitário | | | Encomenda Nº da Peça | | | Preço Unitário O problema reside nas relações de dependências entre os atributos da Entidade/Relação: o Nº da encomenda determina Nº da peça, a Quantidade e o Preço Unitário. O Nº da peça determina o Preço Unitário. Diagrama de Dependências Funcionais Nº Encomenda Nº Peça Quantidade Preço Unitário Formas Normais Pedro Sousa

Diagrama de Dependências Funcionais Outro Exemplo Que informação está contida neste Diagrama de Dependências Funcionais? Nome-Director Nome-Armazém Endereço-Armazém Peça Nº Data-Inventário QuantidadeExistente Nome-Fornecedor Nº-Encomenda QuantidadeEntregue De que modo essa informação é pode ser útil no desenvolvimento de esquemas Relacionais ou mesmo Conceptuais (ER)? Formas Normais Pedro Sousa

Definições Elementares Seja uma relação R com conjuntos de atributos X e Y: Diz-se que X determina Y se para todo o valor de X existe um só valor de Y. Por outras palavras, sempre que dois tuplos têm um valor de X comum, têm também o valor de Y em comum. Diz-se também que X é determinante, e representa-se graficamente por X-> Y. A dependência funcional é um questão semântica. Não pode ser deduzida com base num conjunto de tuplos. Estes apenas podem confirmar que determinada dependência não existe. Formas Normais Pedro Sousa

Propriedades das Dependências Funcionais (regras de Armstrong) Reflexividade Se Y está contido em X, então X-> Y Incremento Se X -> Y, então X Z -> YZ Transitividade Se X -> Y e Y -> Z, então X-> Z Formas Normais Pedro Sousa

Regras Derivadas Auto-Reflexividade Decomposição União Composição X -> X Decomposição Se X -> Y Z, então X-> Y e X -> Z União Se X-> Y e X -> Z então X -> YZ Composição Se X-> Y e A -> B então XA -> YB Formas Normais Pedro Sousa

Dependência total e atributos chaves Seja X um atributo e Y o conjunto de atributos { y1, y2, ...yn} tal que {y1, y2, ...yn} determina X Dizemos que X é completamente dependente de Y, se qualquer subconjunto dos elementos de Y não determina X. Dizemos que X é um atributo chave se pertence à chave primária da Relação (ou ao identificador da Entidade) Formas Normais Pedro Sousa

As Formas Normais 1 Forma Normal 2 Forma Normal 3 Forma Normal Forma Normal Boyce Codd 4 Forma Normal 5 Forma Normal Formas Normais Pedro Sousa

As Formas Normais Seja uma relação (ou entidade ) X com atributos {i1,..,in, a1,...,am} Seja {i1,..,in} os atributos que constituem a chave de X. A 1ª Forma Normal prende-se com a estrutura de cada atributo de X. A 2ª Forma Normal prende-se com a dependência entre os atributos {a1,...,am} e os atributos {i1,..,in}. A 3ª Forma Normal prende-se com as dependências mútuas entre os atributos {a1,...,am}. A BCNF prende-se com existência de várias chaves Formas Normais Pedro Sousa

1ª Forma Normal Uma relação está na 1ª Forma normal se todos os seus atributos são valores escalares. Todas as relações “normalizadas” estão na 1ª Forma Normal “Relação” não Normalizada Relação Normalizada Pessoa Residência João Zé Cidade Data Lisboa Faro 01-02-92 11-12-94 10-10-84 Pessoa João Zé Cidade Data Lisboa Faro 01-02-92 11-12-94 10-10-84 Formas Normais Pedro Sousa

Problemas com a 1ª Forma Normal Exemplo A 1ª FN não assegura a resolução do problema das anomalias! ID_Pessoa | Projecto | OrçamentoProjecto | TempoGastoProjecto | | | ID_Pessoa OrçamentoProjecto Projecto TempoGastoProjecto Esta relação está na 1ª FN mas apresenta as anomalias de inserção, de actualização e de eliminação! Formas Normais Pedro Sousa

Eliminação das Anomalias do Exemplo Anterior A eliminação das anomalias implica a fragmentação da relação inicial em duas novas relações ID_Pessoa | Projecto | TempoGastoProjecto | | Projecto | OrçamentoProjecto | OrçamentoProjecto Projecto ID_Pessoa Projecto TempoGastoProjecto Estas relações não têm as anomalias ! Formas Normais Pedro Sousa

A 1 Forma Normal e os Modelos Conceptuais Qual o relação entre os atributos multivalor os atributos compostos e a 1 Forma Normal ? Encomenda Nº Encomenda Nr-da-Peça Identificação Ano Em ambos os casos, os atributos Nr-da-Peça e identificação não são atributos escalares! Esta é a razão pela qual a conversão ER para Relacional começa pela conversão dos atributos multivalor e compostos em atributos simples Formas Normais Pedro Sousa

A 2ª Forma Normal Uma Relação está na 2ª Forma normal se está na 1ª Forma Normal e cada atributo não chave é completamente dependente dos atributos chave. Ou seja, todos os atributos que não pertencem a nenhuma chave são completamente dependentes de pelo menos uma chave. Todos as entidades ou associações na 1FN e com uma chave simples estão necessariamente na 2FN. Nada se diz quanto às dependências mútuas entre os atributos que pertencem às chaves. Nada se diz quanto às dependências mútuas entre os atributos que não pertencem às chaves. Formas Normais Pedro Sousa

2ª Forma Normal Exemplos Consideremos a a Relação R(A,B,C,D) e a dependência A -> D (as dependências AB ->C e AB ->D são implícitas) Esta relação não está na 2ª FN. A decomposição da relação R com vista à 2ª FN passa por criar as seguintes Relações: R1(A,B,C) com a dependência AB -> C R2(A,D) com a dependência A -> D cada atributo não chave é completamente dependente dos atributos chave Formas Normais Pedro Sousa

2ª Forma Normal Exemplos Estudante Nº Cadeira Nome Nota Exame Professor Estudante Cadeira Exame Nº Nome Nota Professor Exame está na 2FN Exame não está na 2FN Atributos da Associação Exame: Nº -Estudante,Nome-Cadeira, Professor,Nota Identificador da Associação Exame: Nº -Estudante,Nome-Cadeira Dependências da associação Exame: Nº-Estudante, Nome-Cadeira Professor,Nota Nome-Cadeira Professor O atributo Professor não pode ser atributo de Exame! Formas Normais Pedro Sousa

2ª Forma Normal Exemplos Cada encomenda refere-se apenas a uma quantidade de uma única peça.Considere a Relação (ou Entidade) Encomenda. Encomenda(NrEncomenda, NºPeça,PreçoUnitário, Quantidade,PreçoTotal) Encomenda Nº da Peça Preço Unitário Quantidade NrEncomenda Preço Total NrEncomenda Nº Peça Quantidade Preço Unitário Preço Total Esta Entidade/Relação está na 2ª Forma Normal ? Formas Normais Pedro Sousa

Problemas com a 2ª Forma Normal As 2ª Forma Normal não garante a não redundância da informação, sendo portanto possível que os problemas das anomalias existam também nas relações na 2FN. Por exemplo, a informação sobre o preço de cada peça. A redundância surge devido às dependências entre os atributos não chave. NrEncomenda Nº Peça Quantidade Preço Unitário Preço Total Formas Normais Pedro Sousa

Eliminação das Anomalias A eliminação das anomalias implica a eliminação das dependências entre os atributos não chave. Tal implica a decomposição da Entidade/Relação original em duas. Preço Total Preço Total Quantidade NrEncomenda Quantidade Nº Peça NrEncomenda Preço Unitário Nº Peça Nº Peça Preço Unitário Está na 2FN Estão na 2FN Formas Normais Pedro Sousa

A 3ª Forma Normal Todos os atributos não chave são completamente dependentes dos atributos chave e são independentes entre si. Ou seja, a 3FN implica a 2FN e que não existam dependências entre os atributos não chave. Todas as entidades que apenas têm um atributo não chave estão na 3FN, se estiverem na 2FN. Nada se diz quanto às dependências mútuas entre os atributos que pertencem às chaves. Formas Normais Pedro Sousa

3ª Forma Normal: Exemplo 1 Consideremos a a Relação R(A,B,C) e a dependência B-> C Esta relação não está na 3ª FN. A decomposição da relação R com vista à 3ª FN passa por criar as seguintes Relações: R1(B,C) com a dependência B -> C R2(A,B) com a dependência A -> B cada atributo não chave é completamente independente dos restantes atributos não chave Formas Normais Pedro Sousa

3ª Forma Normal: Exemplo 2 Nº Empregado Empregado Do está na 3FN Nome Departamento Chefe Da Divisão Nº Empregado Nome Empregado v Departamento Departamento Divisão Chefe não está na 3FN Nº Empregado Nome, Departamento, Divisão,Chefe Departamento Divisão Divisão Chefe Formas Normais Pedro Sousa

3ª Forma Normal: Exemplo 3 Nº Empregado, Nº Departamento Orçamento, Nº Horas, Nº Projecto Nº Projecto Orçamento Nº Empregado Empregado Nome Nº Horas Nº Projecto Nº Horas Trabalha Orçamento Trabalha Projecto Nº Projecto Orçamento Nº Departamento Departamento Piso Trabalha não está na 3FN, porque Projecto determina Orçamento e não é chave Formas Normais Pedro Sousa

Problemas com a 3ª Forma Normal Os problemas da 3FN surgem quando: Existem dependências entre os atributos dos identificadores, por exemplo: Existem vários identificadores compostos, com pelo menos um atributo comum, por exemplo: Seja a Entidade/Relação X com os seguintes atributos e identificadores a1 X a2 a1 a3 a3 a1 a3 a4 a1,a2 a3,a4 a3,a2 a1,a4 X(a1, a2, a3, a4) Formas Normais Pedro Sousa

Problemas com a 3ª Forma Normal: Exemplo Relação Usa Peça Quantidade Director Projecto Projecto | Director | Peça | Quantidade | | | Problemas: O director de cada projecto é armazenado várias vezes O director de um projecto só é armazenado quando o projecto encomendar peças Um projecto não pode ser armazenado enquanto o seu director não for conhecido A mudança de um director de um projecto implica a mudança de vários tuplos Estes problemas resultam de: peça ser partilhada por determinantes, e dependência entre Director e Projecto Formas Normais Pedro Sousa

A Forma Boyce Cood (BCNF) Quando todos os determinantes são chave Não existem dependências entre os atributos não chave Não existem dependências entre sub-conjuntos dos atributos das chaves. A BCNF só se distingue da 3FN quando: Existem mais do que uma chave As chaves são formadas por vários atributos Formas Normais Pedro Sousa

Exemplo -1 Chaves Disjuntas Seja a Relação Fornecedor : Fornecedor (F#, Nome, Estado, Cidade) F# Nome Estado Cidade Em que FN esta Relação está ? Que anomalias são possíveis na relação Fornecedor ? Que inconvenientes existem na existência de 2 chaves candidatas ? Formas Normais Pedro Sousa

Exemplo - 2 Chaves Sobrepostas Seja a Relação Venda : Venda (F#, P#, Fnome,Quantidade) F# P# Quantidade FNome Em que FN esta Relação está ? Que anomalias são possíveis na relação ? Quais são as decomposições mais convenientes ? Formas Normais Pedro Sousa

Exemplo -3 Seja a Relação Aulas : Aulas (Disciplina,Professor,Aluno) Em que FN esta Relação está ? Que anomalias são possíveis na relação ? Quais são os inconvenientes das seguintes decomposições ? V1 (Aluno,Professor) e V2 (Professor,Disciplina) V1 (Aluno,Disciplina) e V2 (Professor,Disciplina) V1 (Aluno,Disciplina) e V2 (Professor,Aluno) Formas Normais Pedro Sousa

Notas sobre a decomposição de Relações/Entidades A decomposição de uma relação ou entidade com vista à sua normalização pode implicar a perca de informação. O Problema da Perca de Informação Entre as decomposições que não implicam a perca de informação, importa decidir sobre a mais correcta. O Problema da Perca das Dependências Formas Normais Pedro Sousa

Decomposição com perdas de informação Seja R1(A,B,C), e A-> B e C-> B. Consideremos a decomposição de R1 em R2(A,B) e R3(B,C) ,e a sua posterior restituição em R´1. Existe perda de informação! (ou seja, R´1 tem mais tuplos do que R1) R´1 A | B | C a1 | b1 | c1 a1 | b1 | c2 a3 | b1 | c1 a3 | b1 | c2 a2 | b2 | c3 a2 | b2 | c4 a4 | b2 | c3 a4 | b2 | c4 R1 R3 A | B | C a1 | b1 | c1 a3 | b1 | c2 a2 | b2 | c3 a4 | b2 | c4 B | C b1 | c1 b1 | c2 b2 | c3 b2 | c4 Decomposição R2 A | B a1 | b1 a3 | b1 a2 | b2 a4 | b2 União Formas Normais Pedro Sousa

Decomposição sem perdas de informação A decomposição de uma relação diz-se sem perdas quando esta pode ser obtida a partir do join natural das relações resultantes da decomposição A decomposição de uma relação R(X,Y,Z) (em que X, Y, Z são conjuntos de atributos) em R1(X,Y) e R2(X,Z) é sem perdas se X->Y ou se X->Z. (Teorema de Heath´s) Formas Normais Pedro Sousa

Decomposição sem perdas de Informação: Exemplo R1: X-> Y, YZ-> X R3: X | Y | Z x1 | y1 | z1 x2 | y2 | z2 x3 | y2 | z1 x4 | y1 | z2 R´1 X | Z x1 | z1 x2 | z2 x3 | z1 x4 | z2 Decomposição X | Y | Z x1 | y1 | z1 x2 | y2 | z2 x3 | y2 | z1 x4 | y1 | z2 R2: X-> Y X | Y x1 | y1 x2 | y2 x3 | y2 x4 | y1 União Formas Normais Pedro Sousa

Exemplos de Decomposições Seja a Relação Fornecedor (F#, Estado, Cidade). Decomposição 1 F1 (F#, Estado) e F2(F#,Cidade) Decomposição 2 F1 (F#, Estado) e F2(Cidade,Estado) A 1ª não implica perdas, enquanto na segunda perde-se a dependência F#->Cidade Formas Normais Pedro Sousa

Exemplo Encomenda não está na 1FN. Encomenda Porquê ? Quais são as anomalias que se podem verificar? Codigo-Peça Preço Item NrEncomenda Encomenda Quantidade Data NrCliente NomeCliente Formas Normais Pedro Sousa

Exemplo Este esquema está na 1FN, mas não está na 2FN. Encomenda Porquê ? Quais são as anomalias que se podem verificar? Encomenda NrEncomenda Data NrItem Quantidade PreçoUnitário Detalhe Da 1 N NrCliente NomeCliente Detalhe(NrItem, NrEncomenda,PreçoUnitário, Quantidade) Encomenda(NrEncomenda,Data,NrCliente,NomeCliente) Formas Normais Pedro Sousa

Exemplo Este esquema está na 2FN, mas não está na 3FN. Encomenda Item Porquê ? Quais são as anomalias que se podem verificar? Quantidade NrEncomenda 1 N Item Detalhe Encomenda Data NrCliente PreçoUnitário NrItem NomeCliente Detalhe(NrItem, NrEncomenda, Quantidade) Item(NrItem, PreçoUnitário) Encomenda(NrEncomenda,Data,NrCliente,NomeCliente) Formas Normais Pedro Sousa

Exemplo Este esquema está na 3FN Encomenda Item Cliente Quantidade NrEncomenda 1 N Item Encomenda Detalhe Data N PreçoUnitário Do NrItem N Cliente NrCliente Detalhe(NrItem, NrEncomenda,PreçoUnitário, Quantidade) Item(NrItem, PreçoUnitário) Encomenda(NrEncomenda,Data,NrCliente) Cliente(NrCliente,NomeCliente) NomeCliente Formas Normais Pedro Sousa

Formas Normais: Exercício 1 B D Qual o Identificador ? Em que FN está ? E1 B AB C C D A AB CE Qual o Identificador ? Em que FN está ? E2 B E AB C D C D E Formas Normais Pedro Sousa

Formas Normais: Exercício 2 B D Qual o Identificador ? Em que FN está ? E3 B D B C ABD C D A A BCD Qual o Identificador ? Em que FN está ? E4 B B ACD C CD AB D Formas Normais Pedro Sousa

Exercício 3 Considere a relação R(a,b,c,d,e), em que {a,b} é a chave primária e d->e . - Indique todas as dependências da relação R. - Qual a forma normal da relação R? - Assuma agora que a chave primária R é {a,b,d}. Em que forma normal a relação R passa a estar? Formas Normais Pedro Sousa

Exercício 4 Considere a relação R(a,b,c,d), em que {a,b} é a chave primária. - Indique uma dependência funcional entre os atributos de R de forma a que R não esteja na 2ª forma normal. - Indique uma dependência funcional entre os atributos de R de forma a que R esteja na 2ª forma normal mas não esteja na 3ª forma normal. - Indique uma dependência funcional entre os atributos de R de forma a que R esteja na 3ª forma normal mas não esteja na Boyce Codd. Formas Normais Pedro Sousa

Exercício 5 Considere a relação R (a,b,c) e a sua decomposição nas relações R1(b,c) e R2(a,c). - Qual ou quais as dependências que têm necessariamente que existir entre os atributos a, b e c para que a decomposição de R em R1 e R2 não represente perda de informação? - Assumindo a existência da ou das dependências anteriores, escreva uma expressão em álgebra relacional que permita reconstituir R a partir de R1 e R2 ? - Formas Normais Pedro Sousa