Dependência Funcional e Normalização)

Documentos relacionados
GBC043 Sistemas de Banco de Dados

Normalização: Noções Básicas

Dependência Funcional e Normalização. Relembrando: Primeira Forma Normal (1FN) Relembrando: Segunda Forma Normal (2FN) Terceira Forma Normal (3FN)

Aula 12 BD1 Dependências Funcionais e Normalização. Profa. Elaine Faria UFU

Normalização para Bancos de Dados Relacionais

Banco de Dados. Dependências Funcionais e Normalização de Bancos de Dados Relacionais. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Normalização. Banco de Dados. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Profa. Dra. Cristina Dutra de Aguiar Ciferri.

Banco de Dados. Dependências Funcionais e Normalização de Bancos de Dados Relacionais. João Eduardo Ferreira Osvaldo Kotaro Takai

Normalização para Bancos de Dados Relacionais

Roteiro. Normalização. BCC321 - Banco de Dados I. Ementa. Para que serve a normalização? Posicionamento

Profa. Flávia Cristina Bernardini

NORMALIZAÇÃO. Lílian Simão Oliveira

Ciência da Computação MODELAGEM DE DADOS Professor Décio Jorge Craveiro Machado

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC)

Bancos (Bases) de Dados Aula #6 Dependência Funcional Dependência Multivalorada

Normalização. Normalização. Noção central: qualidade do projeto. Normalização : na Prática. Qual o problema desta imagem? Zoom

Normalização. Anomalias Dependência e determinantes Normalização

26/03/2012. É uma restrição entre dois conjuntos de atributos do banco de dados. Definição formal: Significa que: Exemplos

Normalização. Prof. Rogério Gonçalves Bittencourt, M.Sc.

SISTEMAS DE INFORMAÇÃO

INF1383 -Bancos de Dados

Dependência Funcional e Normalização. Normalização. Relembrando: Primeira Forma Normal (1FN) Relembrando: Segunda Forma Normal (2FN)

Unidade 4 Projeto de BD Relacional

Objetivos:

DCC011 Introdução a Banco de Dados

Introdução aos Sistemas de Bancos de Dados 1 a versão - MAC5760 DCC-IME-USP J.E.FERREIRA e O.TAKAI Terceira Forma Normal (3FN)

Ano: 2014 Banca: FCC Órgão: TJ-AP Prova: Analista Judiciário - Área Apoio Especializado - Tecnologia da Informação

Banco de Dados I Engenharia Reversa e Normalização

Transformação de Diagramas MER em Diagramas DR

Bases de Dados. Parte VIII: Normalização

Teoria e Metodologia de Projeto de Banco de Dados

Parte NORMALIZAÇÃO. As regras mais importantes oferecidas pelo Sistema Gerenciador de Banco de Dados. são:

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

DCC/UFRJ Bancos de Dados IPedro Manoel da Silveira. Projeto de BD Relacionais. Objetivos do Projeto de BD. PMS v2bancos de Dados Relacionais 1

Normalização de Dados. Disciplina: Fundamentos de Banco de dados Docente: Kelyn Schenatto

Qualidade de projeto de BD relacional

Técnicas de Modelação de Dados

Modelo Entidade Relacionamento Estendido (ERE)

Fundamentos de Banco de Dados e Modelagem de Dados

Banco de Dados I 4 Normalização

Banco de Dados Modelagem e Normalização

Banco de Dados Aula 02

Normalização de Dados. Bancos de Dados I Normalização Principais Conceitos

INTRODUÇÃO AO MODELO RELACIONAL

Informática II Cap. 5-1 Modelo Relacional, Normalização e Diagramas E-R

MODELO DE BANCO DE DADOS RELACIONAL

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Modelo Lógico de Dados (MLD) Origens do modelo relacional

2010 Diagrama Entidade - Associação

Normalização de dados e as formas normais. Docente : Pedro F. Carvalho.

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai DCC-IME-USP

Engenharia Reversa de Arquivos e Normalização

DER NORMALIZAÇÃO DE DADOS

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Normalização de Tabelas. Prof. Antonio Almeida de Barros Junior

Banco de Dados. Dependência Funcional e Normalização de Dados. Prof. Walteno Martins Parreira Jr 1

Análise e Projeto de Sistemas

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

4.1 Introdução. Unidade 4 Dependências funcionais e normalização para bancos de dados relacionais. Esta unidade tem como objetivo:

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

Modelo Lógico de Dados. Modelo Relacional

NORMALIZAÇÃO. Adão de Melo Neto

Dependências Funcionais e Formas Normais. Formas Normais Pedro Sousa 1

NORMALIZAÇÃO. Quantidade do Produto. Produto

Banco de Dados I Unidade 3: Projeto de BD Relacional. Cláudio Baptista

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Parte II Modelo de Dados Relacional. Evandro E. S. Ruiz

Informática. Banco de Dados Relacional. Professor Julio Alves.

A Técnica de Normalização (9): de Banco de Dados (2)

Modelo Entidade-Relacionamento (E-R)

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Engenharia Reversa e Normalização

Engenharia Reversa e Normalização

Transcrição:

Dependência Funcional e Normalização)

Qualidade de Projeto O objetivo é evitar os problemas que podem provocar falhas no projeto do banco de dados, bem como eliminar a mistura de assuntos e as correspondentes redundâncias desnecessárias de dados Erros encontrados: Repetição de informação Perda de informações Como avaliar se um esquema de relação é bom ou ruim?

Qualidade de Projeto Medidas informais para mensurar a qualidade de um projeto de esquema de relação: Semântica de atributos Redução de valores redundantes nas tuplas Redução de valores nulos nas tuplas Prevenção de tuplas espúrias ou erradas

Semântica de Atributos Modelar um esquema de relação de modo que seja fácil explicar seu significado (ou semântica) Não combine os atributos de diferentes tipos de entidades e relacionamentos dentro de uma única relação Se um esquema de relação corresponder a um tipo de entidade ou a um tipo de relacionamento, haverá uma justificativa direta para seu significado Problemas de ambiguidade semântica a relação não poderá ser explicada facilmente

Semântica de Atributos EMP_PROJ SSN PNUMERO HORAS ENOME PNOME PLOCALIZAÇÃO EMP_DEPT ENOME SSN DATANASC ENDEREÇO DNUMERO DNOME DGERSSN Embora não haja nada logicamente errado com essas duas relações, elas são consideradas pobres

Redução de valores redundantes Agrupar os atributos em esquemas de relações tem um efeito significativo no espaço de armazenamento, mesmo com a repetição de atributos Modelar esquemas de relações básicas de forma que nenhuma anomalia de inserção, exclusão ou alteração possa ocorrer na relação Se houver a possibilidade de ocorrer alguma anomalia, registre-a claramente e tenha certeza que os programas que atualizam o banco de dados operarão corretamente

Anomalias EMP_PROJ SSN PNUMERO HORAS ENOME PNOME PLOCALIZAÇÃO Atualização: Mudança no nome do projeto requer várias mudanças Inserção: Para inserir um novo empregado é necessário incluir os valores dos atributos para o departamento É difícil incluir um departamento que ainda não tenha empregado Exclusão: Ao apagar um empregado, as informações relativas ao departamento serão apagadas

Redução de valores nulos Até onde for possível, evite colocar os atributos em uma relação básica cujos valores frequentemente possam ser nulos Se os nulos forem inetiváveis, tenha certeza de que eles se aplicam somente em casos excepcionais e não na maioria das tuplas da relação

Geração de tuplas ilegítimas Projete os esquemas de relações de forma que possam ser unidos (join) com igualdade de condições sobre os atributos que sejam chaves primárias ou chaves estrangeiras, de modo a garantir que nenhuma tupla ilegítima seja gerada Evite as relações que contenham o relacionamento entre os atributos que não sejam combinações (chave estrangeira, chave primária)

Dependência Funcional É o conceito mais importante da teoria de projetos de esquemas relacionais É uma restrição entre dois conjuntos de atributos do banco de dados Definição: Um atributo B de um esquema de relação R é funcionalmente dependente de outro atributo A de R se um valor de A determina um único valor para B em qualquer momento Se B é funcionalmente dependente de A, então A determina funcionalmente B Notação: A B É uma propriedade semântica, identificada pelo projetista da base de dados Pode ser verificada na instância da base, mas nunca definida a partir dela

Redução de valores redundantes Aluno = {Nome, Idade, Curso} {<Paulo, 25, computação>, <Ana, 18, eletrônica>, <Silvio, 18, odontologia>, <Zenir, 25, computação>} A relação Alunos atende as seguintes DFs? Nome Curso Nome Idade Curso Idade Idade Curso

Normalização O processo de normalização sujeita um esquema de relação a uma série de testes para certificar-se de que ele satisfaça uma certa forma normal Forma Normal: definição das relações baseada na análise de dependências funcionais A normalização pode ser vista como o processo de análise de determinados esquemas de relações com base em suas DFs e chaves primárias para alcançar as propriedades desejáveis Os esquemas insatisfatórios são decompostos em relações menores que passam nos testes Tipos de formas normais: 1FN, 2FN e 3FN

1ª Forma Normal Uma relação está na 1FN se: Parte da definição formal do Modelo Relacional Todo os atributos da relação devem ser atômicos e monovalorados Cada ocorrência da chave primária deve corresponder a uma e somente uma informação de cada atributo, ou seja, a entidade não deve conter grupos repetitivos (multivalorados) Gerar uma nova relação contendo o grupo de repetição e a chave primária da relação original Decompor em tantas entidades quanto for o número de conjuntos de atributos repetitivos

1ª Forma Normal Atributos não atômicos Alunos = {Nome, Idade, Endereço} Alunos = {Nome, Idade, Rua, Cidade, CEP, UF} Atributos multivalorados Alunos = {RA, Idade, Disciplinas} Alunos = {RA, Idade} Disciplinas = {RA, Disciplina} Nas novas entidades criadas, a chave primária é a concatenação da chave primária da entidade original mais o(s) atributo(s) do grupo repetitivo visualizado com a chave primária deste grupo

2ª Forma Normal Uma relação está na 2FN se: Está na 1FN Não existe atributo não chave que é dependente de somente uma parte da chave primária Dependência funcional Total Dependência Funcional Total X Y Na ocorrência de uma chave primária concatenada, dizemos que um atributo ou um conjunto de atributos depende de forma completa ou total desta chave primária concatenada, se e somente se, a cada valor da chave (e não parte dela) está associado um valor para cada atributo Se a remoção de qualquer atributo A de X implicar que a dependência não mais será assegurada

2ª Forma Normal A resolução da aplicação da segunda forma normal é realizada através da exclusão dos atributos que não dependem totalmente da chave primária, da tabela original, e constituindo-se com estes uma nova tabela, que terá como chave primária o atributo participante da chave primária da tabela origem

2ª Forma Normal Turma = {Número, Sigla, Sala, NrHoras} Depende de parte da chave primária Turma = {Número, Sigla, Sala} Disciplina= {Sigla, NrHoras}

3ª Forma Normal Uma relação está na 3FN se: Está na 2FN Não existem atributos não chave que sejam dependentes de outros atributos não chave Dependência transitiva Dependência Transitiva Quando um atributo ou conjunto de atributos A depende de outro atributo B que não pertence à chave primária, mas é dependente funcional desta, dizemos que A é dependente transitivo de B

3ª Forma Normal Disciplina = {Sigla, LivroTexto, Depto, ChefeDepto} Disciplina = {Sigla, LivroTexto, Depto} Chefia= {Depto,ChefeDepto}

Definição Geral Segunda Forma Normal Um esquema de relação R está na 2FN se cada atributo não primário de R não for parcialmente dependente de nenhuma chave de R Terceira Forma Normal Um esquema de relação R está na 3FN se para cada dependência funcional X A, X é uma superchave de R ou A é um atributo primário de R

Forma Normal de BOYCE / CODD (FNBC) As definições da 2FN e 3FN não cobriam certos casos, que ocorrem somente quando as seguintes condições aparecem juntas: a entidade tenha várias chaves candidatas estas chaves candidatas sejam concatenadas as chaves concatenadas compartilham pelo menos um atributo comum A FNBC é uma extensão da 3FN, que não resolvia certas anomalias presentes na informação contida em uma entidade Definição: uma entidade está na FNBC se e somente se todos os determinantes forem chaves candidatas. A definição é em termos de chaves candidatas e não sobre chaves primárias

Exemplo FILHO = {Nome Filho,endereço, data nasc, nome escola, num sala, nome prof } Hipotese: vamos assumir que um professor possa estar associado a mais de uma escola e uma sala Condições: as chaves candidatas são: nome filho + endereço, nome filho + num sala, nome filho + nome prof todas as três chaves apresentam mais de um atributo todas as três chaves compartilham o mesmo atributo: nome filho

Exemplo Aplicando FNBC: A entidade filho deve ser dividida em duas entidades FILHO = {Nome Filho,endereço, data nasc, nome escola, num sala} SALA = {nome escola, num sala, nome prof }

Dependências Multivaloradas São consequências da 1 FN Ocorrem quando dois ou mais atributos independentes multivalorados existem na mesma relação do BD Problema apresentado: Necessidade de repetir cada um dos valores de um atributo com cada valor do outro atributo, para manter as instâncias da relação de maneira consistente Um atribuito B de um esquema de relação R é multidependente de outro atributo A de R se um valor para A é associado a uma coleção específica de valores para B, independentemente de qualquer valor que um terceiro atributo C de R possa assumir Se B é multidependente de A, então A multidetermina B Notação: A B

Dependências Multivaloradas RelaçãoR = {atributoa, {atributob}, {atributoc}} atributoa atributob independentemente dos valores do atributoc

Quarta Forma Normal (4FN) Uma relaçao R está na 4FN se: Não existe dependência multivalorada Forma prática de se tratar a 4FN: Prevenir dependências multivaloradas no processo inicial de transformação da relação não normalizada (contendo o(s) grupo(s) de repetição para a 1FN) Para cada grupo de repetição separado, gerase uma nova relação correspondente contendo este grupo de repetição e a chave primária da relação original Determinar a chave primária da nova relação

Quarta Forma Normal (4FN) Relação = {Código Fornecedor, Código Peça, Código Comprador} {<1111,BA3, 113>, <1111,CJ10,113>, <1111,88A, 435>, <1111,BA3, 537>} Fatos multivalorados: as diversas peças compradas e os diversos compradores Dependência Multivalorada entre: Código Fornecedor e Código Peça, e entre Código Fornecedor e CódigoComprador É necessária a realização de uma divisão da entidade original, em duas outras, ambas herdando a chave Código Fornecedor e concatenando, em cada nova entidade, com os atributos Código Peça e Código Comprador

Quarta Forma Normal (4FN) FORNECEDOR-PEÇA = {Cód Forn, Cód Peça} FORNECEDOR-COMPRADOR {Cód Forn, Cód Comp}