Processo de Normalização

Slides:



Advertisements
Apresentações semelhantes
Um pouco mais de cardinalidade e Relacionamentos
Advertisements

Abordagem Entidade Relacionamento
Normalização em BD Relacional
SISTEMAS DE INFORMAÇÃO
Normalização Aula 3.
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Modelo Entidade-Relacionamento
Normalização.
Modelo Relacional.
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.
Prof.: Bruno Rafael de Oliveira Rodrigues
Sistemas de Informação Redes de Computadores
Modelo Entidade-Relacionamento
Conceito de Chave Composta
Introdução a Bancos de Dados
Universidade Federal de Santa Catarina
UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE
(Dependência Funcional e Normalização)
Linguagem de Banco de Dados - SQL
FORMAS DE REPRESENTAÇÃO QUE SERVEM PARA DESCREVER AS ESTRUTURAS DAS INFORMAÇÕES CONTIDAS EM UM BD. Modelos de Dados.
Banco de Dados Aplicado ao Desenvolvimento de Software
Modelo Entidade/Relação
Ricardo de Oliveira Cavalcanti roc3[at]cin.ufpe.br
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
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
NORMALIZAÇÃO Curso de Férias
Profa. Ana Karina Barbosa Abril/2008
BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados.
ANÁLISE DE SISTEMAS 1Trabalho elaborado por Alexandra.
Normalização Álvaro Vinícius de Souza Coêlho
©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Desenvolvimento de uma base de dados
Projeto de BD Análise de Requisitos Projeto Conceitual Projeto Lógico
Formas Normais Pedro Sousa 1 Dependências Funcionais e Formas Normais.
Bases de dados: cruzamento de tabelas
Banco de Dados I Unidade 3: Projeto de BD Relacional
Profa. Ana Karina Barbosa Abril/2008
Professor Me. Jeferson Bussula Pinheiro.
B ANCO DE DADOS Introdução ABTécnico. C ONCEITO É uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Exemplos:
Salário, Sexo, R$200,00, Veículos, Idade, Marco Antônio, Masculino, R$600,00, Funcionário, Marca, 18 anos, Livros, Motoristas, Maria do Carmo, Endereço,
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
@ Rafael Machado – ACCESS Base de Dados para a Gestão de Informação de Natureza Pedagógica.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
 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.
Modelagem Entidade-Relacionamento (MER)
Modelagem de Dados Aula 4. 2 Implementação de Entidades Não é aconselhável simplesmente transcrever os nomes dos atributos para nomes de colunas. Nomes.
Normalização.
Anomalias de Inserção, Remoção e Atualização
Modelagem de Dados Aula 5.
Dependência Funcional  Para entender as duas formas normais que serão apresentadas a seguir é necessário compreender o conceito de dependência funcional.
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.
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.
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI109- Fundamentos de Banco de Dados (Restrições de Integridade) Prof. Alexandre Tagliari.
Universidade Federal de Santa Catarina
Universidade Federal de Santa Catarina
Transcrição da apresentação:

Processo de Normalização Entrada fonte de dados estruturados da organização relatório, fichário, documento estruturado, ... Saída esquema relacional para a fonte de dados Objetivos obtenção de um esquema relacional livre de redundâncias método de projeto ou mesmo de validação do projeto de um BD relacional obtido via ER

Processo de Normalização Baseado no conceito de formas normais processo sistemático de geração de tabelas Uma tabela T está em uma forma normal se atende uma certa regra se T está na Forma Normal (FN) i, então T está automaticamente nas FNs i - 1, i - 2, ... Três FNs são mais utilizadas na prática A teoria nem sempre é ideal do ponto de vista prático proliferação de tabelas!

Exemplo de Fonte de Dados: Relatório

Passo 1 – Conversão para Tabela Não-Normalizada (ÑN) Objetivo obtenção de uma representação padrão para as fontes de dados facilita o processo de normalização Forma de representação: Tabela ÑN pode ter uma ou mais tabelas aninhadas tabela aninhada: possui atributos multivalorados atributo que ao invés de conter valores atômicos, pode conter: múltiplos valores OU uma tabela que pode ter outras possíveis tabelas dentro dela

Exemplo de Tabela ÑN

Representação na Forma de Tabela ÑN Projetos(codProj, tipo, descr, (codEmp, nome, categ, sal, dataIni, tempoAloc)) Indicam as chaves primárias de cada tabela

1a Forma Normal (1FN) “Uma tabela está na 1FN se ela não possui tabelas aninhadas” Procedimento usual gerar uma tabela para cada aninhamento

1FN - Aplicação ÑN: Projetos (codProj, tipo, descr, (codEmp, nome, categ, sal, dataIni, tempoAloc)) 1FN: Projetos (codProj, tipo, descr) Alocações (codProj, codEmp, nome, categ, sal, dataIni, tempoAloc) CP da tabela externa migra para a tabela aninhada Qual a CP da tabela aninhada?

1FN - Aplicação ÑN: Projetos (codProj, tipo, descr, (codEmp, nome, categ, sal, dataIni, tempoAloc)) 1FN: Projetos (codProj, tipo, descr) Alocações (codProj, codEmp, nome, categ, sal, dataIni, tempoAloc) CP da tabela aninhada codEmp identifica unicamente uma tupla em Alocações? (analisar os dados da tabela aninhada na fonte de dados como um todo)

1FN - Aplicação CP da tabela aninhada ÑN: Projetos (codProj, tipo, descr, (codEmp, nome, categ, sal, dataIni, tempoAloc)) 1FN: Projetos (codProj, tipo, descr) Alocações (codProj, codEmp, nome, categ, sal, dataIni, tempoAloc) CP da tabela aninhada codEmp identifica unicamente uma tupla em Alocações? resposta: NÃO logo, codProj deve fazer parte da CP da tabela aninhada

1FN – Outro Exemplo ÑN: Departamentos (codD, nome, (CPF, nome, salário)) 1FN: Departamentos (codD, nome) Empregados(codD, CPF, nome, salário) CP da tabela aninhada (Empregados) CPF identifica unicamente uma tupla em Empregados? resposta: SIM logo, CPF é suficiente como CP da tabela aninhada

Dependência Funcional Conceito necessário para o entendimento da segunda e terceira formas normais Definição um atributo A2 depende funcionalmente de um atributo A1 (ou um atributo A1 determina um atributo A2) quando, em todas linhas da tabela, para cada valor de A1 que aparece na tabela, aparece o mesmo valor de A2

Dependência Funcional - Exemplo ... Código .... Salário E1 500 E3 450 E2

DF Total e DF Parcial DF Total DF Parcial se um atributo Ax depende funcionalmente de todos os atributos que compõem a CP de uma tabela T, diz-se que Ax possui DF total da CP de T DF Parcial se um atributo Ax depende funcionalmente apenas de alguns atributos (não todos!) que compõem a CP de uma tabela T, diz-se que Ax possui DF parcial da CP de T

2a Forma Normal (2FN) “Uma tabela está na 2FN se ela estiver na 1FN e não possuir DFs parciais” tabelas com DFs parciais devem ser desmembradas em tabelas que possuam DFs totais Tabelas cuja CP possui apenas um atributo estão automaticamente na 2FN

2FN - Aplicação 1FN: Projetos (CodProj, Tipo, Descr) Alocações (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempoAloc) DFs: CodEmp  Nome, Cat, Sal (DF Parcial!) (CodProj, CodEmp)  DataIni, TempoAloc 2FN: Projetos (CodProj, Tipo, Descr) Alocações (CodProj, CodEmp, DataIni, TempoAloc) Empregados (CodEmp, Nome, Cat, Sal)

DF Transitiva ou Indireta Se um atributo não-chave Ax possui DF total da CP de uma tabela T e também possui DF total de um ou mais atributos não-chave de T, então diz-se que Ax possui DF transitiva ou indireta da CP de T

3a Forma Normal (3FN) “Uma tabela está na 3FN se ela estiver na 2FN e não possuir DFs indiretas” tabelas com DFs indiretas devem ser desmembradas em tabelas que não possuam tais DFs Tabelas que possuem zero ou apenas um atributo que não faz parte da CP estão automaticamente na 3FN

3FN - Aplicação 2FN: Projetos (CodProj, Tipo, Descr) Alocações (CodProj, CodEmp, DataIni, TempoAloc) Empregados (CodEmp, Nome, Cat, Sal) DFs: CodEmp  Sal CodEmp  Cat  Sal (DF indireta!) 3FN: Projetos (CodProj, Tipo, Descr) Empregados (CodEmp, Nome, Cat) CategoriasFuncionais(Cat, Sal)

Normalização - Questões Análise de chaves primárias (CPs) tabelas podem ou não ter atributos que garantam identificação única de suas tuplas ou ter uma CP muito extensa sugestão: definir uma CP ÑN: Projetos (CodProj, Tipo, Descr, (Nome, Cat, Sal, DataIni, TempoAloc)) (CodEmp, Nome, Cat, Sal, DataIni, TempoAloc)

Normalização - Questões Dados irrelevantes tabelas podem ter atributos que não precisam ser mantidos necessariamente no BD sugestão: eliminar estes atributos ÑN: Projetos (CodProj, Tipo, Descr, NroEmps, DataRel, (CodEmp, Nome, Cat, Sal, DataIni, TempoAloc)) ÑN: Projetos (CodProj, Tipo, Descr, (CodEmp, Nome, Cat, Sal, DataIni, TempoAloc)

Normalização - Questões Dados relevantes, porém implícitos sugestão: definir tais dados ÑN: Aprovação (CodCurso, Nome, (CodCand, Nome, Endereço)) (CodCand, Nome, Endereço, OrdemClass)) a ordem determina a classificação do candidato

Normalização - Questões Relacionamentos incorretos sugestão: validar as tabelas ao final do processo! Relatório de Pedidos ÑN: Pedidos (nroPed, dataPed, codCli, nomeCli, (nroTel), (codPeça, descrPeça, qtdePedida)) 1FN: Pedidos (nroPed, dataPed, codCli, nomeCli) Telefones (nroPed, nroTel) Peças (nroPed, codPeça, nomePeça, qtde)) Telefones (codCli, nroTel) ... (validação)

DF Multivalorada Se um atributo Ax1 de T determina um conjunto finito de valores para os outros atributos Ax2, ..., Axn de T, então diz-se que Ax2, ..., Axn possuem DF multivalorada de Ax1 em T

Exemplo de Normalização até 3FN Ficha de Estante e seus Livros ÑN: Estantes (número, capacidade, (ISBN, título, ano (codAutor, nome, nacionalidade))) 1FN: Estantes (número, capacidade) DistribuiçãoLivros (número, ISBN, título, ano) DistribuiçãoLivrosAutor (número, ISBN, codAutor, nome, nacionalidade) 2FN = 3FN: Estantes (número, capacidade) Livros (ISBN, título, ano) DistribuiçãoLivros (número, ISBN) Autores (codAutor, nome, nacionalidade) DistribuiçãoLivrosAutor(número, ISBN, codAutor) relacionamento contido em outra tabela! (pode ser removido)

Exemplo de DF Multivalorada DistribuiçãoLivrosAutor ISBN = L1  codAutor = {A1, A2} ISBN = L2  codAutor = {A7, A8, A9} Redundância de dados para representar as associações multivaloradas! DF multivalorada: ISBN codAutor número ISBN codAutor E1 L1 A1 A2 L2 A7 A8 A9 E2 E3

4a Forma Normal (4FN) “Uma tabela está na 4FN se ela estiver na 3FN e não possuir DFs multivaloradas” tabelas com DFs multivaloradas devem ser desmembradas em tabelas que não possuam tais DFs Tabelas que possuem CP composta por um ou dois atributos, ou que possuem atributos não-chave estão automaticamente na 4FN

4FN - Aplicação DF Multivalorada: ISBN codAutor 3FN: Estantes (número, capacidade) Livros (ISBN, título, ano) Autores (codAutor, nome, nacionalidade) DistribuiçãoLivrosAutor(número, ISBN, codAutor) DF Multivalorada: ISBN codAutor 4FN: Estantes (número, capacidade) DistribuiçãoLivros(número, ISBN) Autoria(ISBN, codAutor)

Exercício 1 A tabela abaixo está na 1FN. Obtenha a 2FN, 3FN e 4FN: ArtigosAceitos (ID-artigo, título, ano, ID-autor, codEvento, nomeEvento, ID-revisor)

Exercício 2 – Relatório de Reservas em uma Locadora de DVDs