Normalização Álvaro Vinícius de Souza Coêlho

Slides:



Advertisements
Apresentações semelhantes
Abordagem Entidade Relacionamento
Advertisements

Normalização em BD Relacional
Banco de Dados I Aula 24. Agenda Conceitos: Relacionamentos Trabalho: construção dos relacionamentos.
DESENHO de BASE de DADOS RELACIONAL
Normalização.
MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e capítulo 7 do livro de ELMASRI e NAVATHE Juliana Amaral e Rodrigo.
O Modelo E-R Definição: Características
Funcionalidades de um SGBD
Prof.: Bruno Rafael de Oliveira Rodrigues
Sistemas de Informação Redes de Computadores
Linguagens relacionais
Projeto de Banco de Dados
Modelo Relacional Professor Edson Emílio Scalabrin telefone: 0xx download:
Sistema Gerenciador de Banco de Dados SGBD
Introdução a Bancos de Dados
Universidade Federal de Santa Catarina
Normalização.
Prof. Carlos H. Marcondes
(Dependência Funcional e Normalização)
Processo de Normalização
Diagrama de Classes.
Linguagem de Banco de Dados - SQL
Banco de Dados Aplicado ao Desenvolvimento de Software
Ricardo de Oliveira Cavalcanti roc3[at]cin.ufpe.br
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Diagrama de Classes.
Normalização Disciplina: Banco de dados II.
Prof. Alfredo Parteli Gomes
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.
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Capítulo 7: Design de Bases de Dados
Profª Daniela TLBD.
MODELAGEM EM BANCO DE DADOS
REGRAS DE PRODUÇÃO DO MODELO LÓGICO
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 de Sistemas de Informação
Prof. Christiano Lima Santos
A abordagem de banco de dados para gerenciamento de dados
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
Banco de Dados Aplicado ao Desenvolvimento de Software
ANÁLISE DE SISTEMAS 1Trabalho elaborado por Alexandra.
Teste.
©Silberschatz, Korth and Sudarshan (modificado)7.3.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Formas Normais Pedro Sousa 1 Dependências Funcionais e Formas Normais.
Banco de Dados I Unidade 3: Projeto de BD Relacional
Profa. Ana Karina Barbosa Abril/2008
Modelo Relacional Marcelo Mendes Manaus – 2015.
Professor Me. Jeferson Bussula Pinheiro.
B ANCO DE DADOS Modelo Relacional ABTécnico. M ODELOS DE DADOS Apoiando a estrutura de um BD está o modelo de dados: uma coleção de ferramentas conceituais.
4 Projeto de Banco de Dados Carlos Alberto Heuser.
Projetar Base de Dados. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 2 Objetivos deste.
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.
Modelo Relacional, Chaves e Relacionamentos
Modelo de Entidade-relacionamento
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
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.
Banco de Dados I 4P/SI – 2010/02 Prof. Carlos Alberto Seixas.
INTELIGÊNCIA EMPRESARIAL Aula 9 - Modelagem de Data Warehouse.
Normalização.
Anomalias de Inserção, Remoção e Atualização
Modelagem de Dados Aula 3.
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
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:

Normalização Álvaro Vinícius de Souza Coêlho

Dependência Funcional “Dada uma tabela T, a coluna Y de T é funcionalmente dependente da coluna X de T se e somente se cada valor de Y em T tiver a ele associado precisamente um valor X em T”

Dependência Funcional Opcionalmente, diz-se que X determina Y Exemplos –Matrícula determina Nome_Aluno (e endereço, telefone, etc.) –Placa determina Veículo –Número determina Competidor

Dependência Funcional A coluna determinante pode ser composta –(Aluno, Disciplina) determina Média –(Veículo, Condutor, Data) determina Multa Existem tipos variados de dependência funcional –Transitiva –Multivalorada –de Junção

Dependência Funcional Chaves: “Coluna que funciona como determinante funcional em uma tabela” Em Bancos de Dados Relacionais –Colunas que orientam para a seleção de uma ou mais linhas específicas em uma tabela

Dependência Funcional Exemplos de chaves –A matrícula de um aluno (existe outro com a sua?) –A Placa de um carro (ou o número do Chassi, ou o Renavam) –O Número de Inscrição de um competidor (só há um piloto com o carro número 1)

Dependência Funcional O CRA de um médico mais a Identificação de um plano de saúde identifica somente uma inscrição (Não dá para um CRA aparecer duas vezes na UNIMED).

Dependência Funcional Chave primária – Conjunto único de colunas (muitas vezes unitário) escolhido como identificador de uma Linha (como nos exemplos acima)

Dependência Funcional Chave Alternativa (ou candidata) - Conjunto único de colunas (normalmente unitário) que pode ser usado alternativamente como chave primária (como o número de chassis no lugar da placa do veículo).

Dependência Funcional Chave Estrangeira - Conjunto de colunas (muitas vezes unitário) que aponta uma Linha em outra tabela (é chave primária de outra tabela)

Dependência Funcional Exemplo: –Tabela (Vendedor#, NumNota, Loja#) –Colunas Vendedor# e Loja# são identificadores únicos (Chaves Primárias) em outras tabelas que contém: –Mais dados do vendedor – salário, nome, etc. –Ou da Loja – razão social, endereço, etc.

Normalização Normalização: “Colocar relações dentro de uma organização tal que atenda a um conjunto específico de restrições” –Usualmente determina-se 3 formas normais (acrescidas eventualmente de mais uma), que podem ser estendidas em mais 2. –mas no total são 8

Normalização Porque? Para diminuir as dificuldades e os problemas (anomalias) em operações de transação (inclusão, exclusão, alteração) nos dados.

Primeira Forma Normal 1FN: “Uma tabela está na 1FN sse todos os domínios básicos contiverem somente valores atômicos” Toda tabela que não possua colunas multivaloradas está na 1FN. –Tabelas em Bancos de Dados Relacionais tradicionais estão necessariamente na 1FN.

Primeira Forma Normal Ex: R1(F#, Status, Cidade, P#, Qtd) onde. –F# é o número do Fornecedor (uma chave estrangeira) –Status é a situação atual (em termos de probabilidade de negócio) de uma cidade –P# é a identificação (código) de uma peça (outra chave estrangeira) –Cidade e Qtd são auto-explicativos.

Primeira Forma Normal R1 F#StatusCidadeP#Qtd F120ItabunaP1300 F120ItabunaP2200 F120ItabunaP3400 F120ItabunaP4200 F120ItabunaP5100 F120ItabunaP6100

Primeira Forma Normal R1 (continuação) F210IlhéusP1300 F210IlhéusP2400 F310IlhéusP2200 F420ItabunaP2200 F420ItabunaP4300 F420ItabunaP5400

Primeira Forma Normal R1 está na 1FN! Anomalias –Inclusão: Só se sabe que um fornecedor está em uma determinada cidade quando ele passa a oferecer alguma peça

Primeira Forma Normal Anomalias –Exclusão: Se for excluída a última linha de um fornecedor, não se saberá mais em que cidade ele está –Alteração: Se um fornecedor troca de cidade, muitas linhas precisam ser alteradas (sob pena de haver inconsistência!)

Segunda Forma Normal Qual o problema? Há dependência entre colunas não chave e chaves diferentes ao mesmo tempo F# determina Cidade e o par F# e P# determina Qtd

Segunda Forma Normal 2FN: “Uma tabela está na 2FN sse ela está em 1FN e todas as colunas não-chave forem totalmente dependentes da chave primária”

Segunda Forma Normal R2(F#, Status, Cidade) e FP(F#, P#, Qtd) F#StatusCidade F120Itabuna F210Ilhéus F310Ilhéus F420Itabuna F530Itapetin ga

Segunda Forma Normal FP(F#, P#, Qtd) (continuação) F#P#Qtd F1P1300 F1P2200 F1P3400 F1P4200 F1P5100 F1P6100 F2P1300 F2P2400 F3P2200 F4P2200 F4P4300 F4P5400

Segunda Forma Normal R2 e FC estão na 2FN! Observar que não há perda de informação! Anomalias –Inclusão: O Status de uma cidade só é determinado se houver algum fornecedor para ela

Segunda Forma Normal Anomalias –Exclusão: Removendo-se o último fornecedor de uma cidade, perde-se o seu Status –Atualização: Para se substituir o Status de uma cidade, muitas linhas precisam ser trocadas

Terceira Forma Normal Qual o problema? Há dependência entre colunas não chave e outras colunas também não chave. Dependência funcional transitiva: –“Diz-se que A depende transitivamente de C se A depende de B e B depende de C”

Terceira Forma Normal No exemplo, –Status depende de Cidade, e Cidade depende de F#. –Daí que Status depende transitivamente de F#

Terceira Forma Normal 3FN: “Uma tabela está na 3FN sse está na 2FN e todos as colunas não-chave forem dependentes não transitivas da chave primária”

Terceira Forma Normal FC(F#, Cidade) CS(Cidade, Status) FP(F#, P#, Qtd) F#Cidade F1Itabuna F2Ilhéus F3Ilhéus F4Itabuna F5Itapetinga CidadeStatus Itabuna30 Ilhéus20 Itapetinga10

Terceira Forma Normal FC(F#, Cidade) CS(Cidade, Status) FP(F#, P#, Qtd) FC, CS E FP estão na 3FN! S#P#Qtd F1P1300 F1P2200 F1P3400 F1P4200 F1P5100 F1P6100 F2P1300 F2P2400 F3P2200 F4P2200 F4P4300 F4P5400

Forma Normal de Boyce-Codd Forma normal de Boyce-Codd (BCNF): “Uma tabela está em BCNF se cada determinante for candidato a chave primária” Pra que essa novidade?

Forma Normal de Boyce-Codd Suposição: Há um “Cadastro de Fornecedores” F(F#, FNome,...). Sendo que FNome é chave candidata (alternativa), pois também é única. A relação alternativa FP’(F#, FNome, P#, Qtd) está na 3FN?

Forma Normal de Boyce-Codd Vejamos: –Não há colunas multivaloradas. Logo, está na 1FN –A chave é (F#, P#). Todos os demais colunas dependem dela. Logo, está na 2FN –Não há dependência entre Qtd e FNome ou vice-versa (as colunas não-chave). Logo, está na 3FN Resposta: SIM!

Forma Normal de Boyce-Codd Mas não está na BCNF. Anomalias: –Alteração: Para se trocar o nome de um fornecedor, muitas linhas terão que ser modificadas, ou gera-se inconsistência Esta Forma normal é, então, interessante como um aperfeiçoamento da 3 a forma.

Quarta Forma Normal Dependência de Múltiplos Valores (ou Multivalorada) Até o presente estudo a Dependência Funcional é o fato de que uma coluna determina unicamente o valor de outra –Não é, porém, a visão mais completa

Quarta Forma Normal Tomemos um exemplo: (Projeto, Funcionários, Computadores) Um projeto tem vários funcionários alocados para ele, e será desenvolvido em vários computadores. Cada computador e cada funcionário é associado a apenas um projeto

Quarta Forma Normal Uma visão (não normalizada) seria: P#FNomeC# P1José João C1 C5 P2Carlos Ana C4 C6 C7 P3Pedro Marta Julia C2 C3

Quarta Forma Normal Como se poderia implementar isso num Banco de Dados Relacional? Uma alternativa seria a criação de uma tabela PFC(P#, Fnome, C#) com todas as combinações de alocações possíveis

Quarta Forma Normal Ficaria: P#FnomeC# P1JoséC1 P1JoséC5 P1JoãoC1 P1JoãoC5 P2CarlosC4 P2CarlosC6 P2CarlosC7

Quarta Forma Normal Continuação: P2AnaC4 P2AnaC6 P2AnaC7 P3PedroC2 P3PedroC3 P3MartaC2 P3MartaC3 P3JuliaC2 P3JuliaC3

Quarta Forma Normal A relação PFC está na 3FN? –Não possui multivalorados –Não possui dependências parciais –Não possui dependências transitivas SIM! Está na BCNF? –Todo mundo é chave (não há determinantes não chaves candidatos) SIM!

Quarta Forma Normal Anomalias: De inclusão: Como incluir um novo projeto ainda sem computador e/ou funcionários? De exclusão: Excluindo-se todos os computadores de um projeto, como saber os funcionários dele?

Quarta Forma Normal Anomalias: De alteração –Trocar um computador de um projeto para outro, ou um funcionário: Alteração de várias linhas –Alocar mais um computador ou funcionário para um projeto: Idem

Quarta Forma Normal Qual o problema? Há uma dependência multivalorada: Apesar de não determinar unicamente um funcionário ou um computador, P# determina um conjunto bem definido e único de C# ou de FNome

Quarta Forma Normal Dependência de Múltiplos Valores (MVD): Dada uma relação R com atributos A, B e C, a dependência de múltiplos valores R.A  R.B vale para R sse o conjunto de valores que se combinam com um dado par (valores de A e de C) depender somente de A e for independente de C.

Quarta Forma Normal MVD R.A  R.B  R.A  R.C –Se R.A determina multivaloradamente R.B, então também determina multivaloradamente R.C MVD R.A  R.B|R.C Como na dependência funcional vista até agora uma coluna determina apenas um elemento em outra, pode-se dizer que a DP é um caso especial de MVD

Quarta Forma Normal 4NF: Uma relação R está na quarta forma normal sse sempre que existir uma MVD em R (A  B), todos os atributos de R sejam funcionalmente dependentes de A ( ou seja, A  X para qualquer X em R)

Quarta Forma Normal Como fica? –Cria-se uma tabela PF(P#, Fnome) e uma tabela PC(P#, C#) Temos P#   Fnome e P#  C# Ou P#   C# e P#  Fnome Atendendo à 4FN

Quarta Forma Normal Relações: P#Fnome P1José P1João P2Carlos P2Ana P3Pedro P3Marta P3Julia P#C# P1C1 P1C5 P2C4 P2C6 P2C7 P3C2 P3C3

Normalização De modo geral os diagramas de modelagem de dados (diagramas de classes, MER, etc.) tendem a distribuir os dados já na 3FN, normalmente já na BCNF, salvo raríssimas exceções Em circunstâncias de projeto, com freqüência, considerações de performance acabam se impondo à observância das Formas Normais

Normalização Projetos de bancos de dados multidimensionais ou OLAP não devem se espelhar na normalização tradicional A Normalização destina-se a atender melhor às transações (OLTP)

Normalização. FIM! “Qualquer idéia, por mais simples que seja, pode ser expressa em termos complicados” Lei de Murphy aplicada à Tecnocracia Manet