Normalização.

Slides:



Advertisements
Apresentações semelhantes
T I  C Módulo 2 Base de dados
Advertisements

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
Evolução dos SGBD’s.
Modelo Relacional.
Evolução dos SGBD’s (2ª Parte).
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
Projeto de Banco de Dados
Conceito de Chave Composta
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
(Dependência Funcional e Normalização)
Processo de Normalização
Algoritmo Apresentação
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
Modelo Relacional Uma base de dados é Uma relação é
Normalização Disciplina: Banco de dados II.
Prof. Alfredo Parteli Gomes
SQL Server 2012 Introdução a Modelagem de Dados
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Abril.2001 Sistemas de Informação - Administração Pública1 Organização e Acesso a Dados Organização dos dados de acordo com um modelo conceptual que permita:
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
INTRODUÇÃO ÁS BASES DE DADOS
Capítulo 7: Design de Bases 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.
Banco de dados.
Professor: Pedro Lopes
Análise de Sistemas de Informação
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)
©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.
Bases de dados: cruzamento de tabelas
Dependências Funcionais e Formas Normais
Banco de Dados I Unidade 3: Projeto de BD Relacional
Introdução às bases de dados
Modelo Relacional Marcelo Mendes Manaus – 2015.
Professor Me. Jeferson Bussula Pinheiro.
@ 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
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)
Modelagem Entidade-Relacionamento (MER)
Professor: reno nooblath
Normalização.
Anomalias de Inserção, Remoção e Atualização
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
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.
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

Porquê? Após a construção do modelo conceptual dos dados é feita a transformação para um modelo lógico (esquema relacional) O conjunto de tabelas obtido representa a estrutura da informação de um modo natural e completo Mas é necessário avaliar o grau de redundâncias existente A normalização tem como objectivo modificar o conjunto de tabelas obtido, por transformação do modelo conceptual, num outro conjunto de tabelas equivalente menos redundante e mais estável.

Relações bem-estruturadas O que são: Contêm um mínimo de redundância; Permitem aos utilizadores inserir, modificar e apagar linhas em tabelas, sem erros e inconsistências.

Relações bem-estruturadas Tendo em atenção as duas tabelas seguintes qual a que representa uma relação bem-estruturada? Claro que é a 1ª, uma vez que só apresenta informação sobre um empregado e qualquer modificação, como p.ex. o salário, será confinado a uma única linha da tabela. A 2ª contém informação sobre os empregados e os cursos que eles frequentaram, donde a chave para esta tabela terá de ser uma combinação entre EmpID e Curso.

Relações bem-estruturadas Redundâncias numa tabela podem resultar em erros e inconsis-tências, quando o utilizador tenta actualizar os dados na tabela. São 3 os tipos de anormalia: Anormalias de inserção – Caso se pretenda inserir um novo empregado na tabela 2, como a chave é Emp_ID e Curso, só é possível efectuar a inserção se ambas existirem; Anormalias de remoção – se, p.ex., os dados do empregado 140 for apagado da tabela, também perdemos informação sobre o curso que esse empregado frequentou. Será que é isso que se pretende? Anormalias de Modificação – Imagine-se que o empregado 100 tem um aumento de vencimento. Então esse aumento tem de ser registado em cada uma das linhas em que a existem ocorrências desse empregado. Não é muito prático, pois não?

Relações bem-estruturadas Então a tabela Empregado_2 não é uma relação bem estruturada e pode ser dividida em 2 relações: Empregado Curso O conceito de Normalização tem por base esta explicação e a capacidade de efectuar relações bem-estruturadas.

Normalização Redundância – armazenamento repetido de dados, de que resultam problemas de: Manutenção – alteração ou remoção de registos implica acessos a várias partes da base, tornando-se díficil manter a coerência; Custo de espaço de armazenamento; Desempenho – as operações de acesso aos discos são as que mais afectam o desempenho dos sistemas

Processo de Normalização A normalização é uma técnica de modelação de dados, ligada ao modelo relacional, que pretende definir um conjunto de tabelas prontas a serem implementadas numa base de dados relacional; Pode ser aplicada a um conjunto de dados em bruto (1 tabela – relação universal), ou a partir de estruturas já existentes.

Etapas na normalização Tabelas com grupos repetidos 1ª FN 2ª FN 3ª FN Remover os grupos repetidos Remover as dependências parciais Remover dependências transitivas

Normalização A normalização é baseada na análise das dependências funcionais. Uma dependência funcional é uma relação particular entre 2 atributos. A  B ou seja Emp_ID  Nome. Um atributo pode estar dependente de 2 ou mais atributos, em vez de um único. São exemplos: NIV  Marca, modelo, cor (número de identificação de um veículo) ISBN  Título do livro Atenção: A análise das instâncias não é suficiente para avaliar a existência de dependências funcionais. Só o conhecimento do domínio do problema, obtido através na análise de requisitos, é um método válido para essa conclusão.

Primeira forma normal(1FN) Eliminar redundâncias Formas Normais Primeira forma normal(1FN) Eliminar redundâncias Uma tabela encontra-se na 1FN se todas as suas colunas são elementares (atributos atómicos).

1ª Forma Normal (Eliminar redundâncias) Encomendas (#encomenda, n_cliente, cliente, endereço_cliente, dt_encomenda, cod_produto, produto, qtd_encomendada) Encomendas (#encomenda, n_cliente, cliente, endereço_cliente, dt_encomenda) Linhas_Encomenda (#linha_encomenda, cod_produto, produto, qtd_encomendada)

1ª FN Normalize (1FN) a seguinte relação: Num_estudante, Nome_estudante; curso; num_disciplinas; nome disciplinas; cod_professor; nome_professor; grau_professor; nota

Segunda forma normal (2FN) Dependência total da Chave Formas Normais Segunda forma normal (2FN) Dependência total da Chave O conceito de dependência funcional será apresentado considerando uma tabela R com a estrutura R(x,y,z,w). Diz-se que a linha z é funcionalmente dependente da linha x se, para um dado valor da linha x, o valor da linha z é sempre o mesmo. Pode dizer-se que x determina z, ou que z depende funcionalmente de x, x® z. Uma tabela está na 2FN quando estiver na 1FN e as suas colunas que não são chave primária dependerem inteira-mente da chave primária.

2ª Forma Normal (Dependência total da chave) Linhas_Encomenda (#encomenda, cod_produto, produto, qtd_encomendada) Linhas_Encomenda (#encomenda, cod_produto, qtd_encomendada) Produtos (cod_produto, produto)

2ª FN Aplique a 2ª FN ao exemplo anterior (alunos, cursos, etc.)

Terceira forma normal (3FN) (Eliminar dependências transitivas) Formas Normais Terceira forma normal (3FN) (Eliminar dependências transitivas) Uma tabela está na terceira forma normal quanto estiver na 2FN e se todos os atributos que não pertencem à chave primária, não dependerem de outro atributo que não chave. A 3FN impõe que cada coluna dependa apenas da chave e não de qualquer outra coluna ou conjunto de colunas, assim todos as colunas que não pertencem à chave são mutuamente independentes. Esta condição permite elimi-nar dependências transitivas.

3ª Forma Normal (Eliminar dependências transitivas) Encomendas (#encomenda, n_cliente, cliente, endereço_cliente, dt_encomenda) Encomendas (#encomenda, n_cliente, dt_encomenda) Clientes (n_cliente, cliente, endereço_cliente)

3ª Forma Normal (Eliminar dependências transitivas) Considere a seguinte tabela destinada a armazenar informação sobre jogos de futebol e árbitros: JOGO(IdJogo, Estádio, Nome_arbitro, Categoria_arbitro). A tabela encontra-se na 3FN?

Forma normal de Boyce/Cood (BCFN) Formas Normais Forma normal de Boyce/Cood (BCFN) A BCFN é um aperfeiçoamento da 3FN, destinada a lidar com situações em que se verifique a existência de mais do que uma chave candidata e que duas chaves candidatas possuam elementos comuns. Uma relação está na BCFN quando todos os atributos estão dependentes da chave, de toda a chave e de nada mais do que a chave.

Forma normal de Boyce/Cood (BCFN) (paciente, serviço)  médico R(doente, serviço, médico) (um doente, num determinado serviço hospitalar é sempre observado pelo mesmo médico, donde um médico só pertence a um e um só serviço) Mas esta solução permite ter um paciente com 2 médicos do mesmo serviço R1 (paciente,médico) R2 (médico, serviço) Tratamento a nível aplicacional, mantendo a relação R e R2 (criando redundância)

Forma normal de Boyce/Cood (BCFN) Imaginemos que temos a relação R(CodAluno, CodDisciplina, Professor) na 3FN, onde os alunos frequentam várias disciplinas. Cada professor só lecciona uma disciplina, mas uma disciplina pode ser leccionada por vários professores. Portanto, podemos verificar a seguinte dependência funcional (CodAluno, CodDisciplina) ® Professor. No entanto, existem duas chaves candidatas compostas, (CodAluno, CodDisciplina) e (CodAluno, Professor) e o atributo Professor não é chave candidata mas determina o CodDisciplina (Professor ® CodDisciplina), pois um professor só lecciona uma disciplina.

Quarta Forma Formal (4FN) Quinta Forma Normal (5FN) Formas Normais Quarta Forma Formal (4FN) Quinta Forma Normal (5FN) Em geral uma relação na BCNF está já na 4FN e 5FN, que surgem para resolver problemas muito raros.  Uma relação encontra-se na 4FN, se está na BCFN e não existem dependências multivalor. Uma relação R está na 5FN se não puder ser mais decomposta sem perda de informação.

Consequências da Normalização 1FN 2FN 3FN BCFN 4FN 5FN - + + relações - redundância Compromisso, bom senso, avaliação do desempenho do sistema e, eventualmente, necessidade de desnormalizar

Formas Normais Desnormalização O SGBD para além de implementar o modelo de dados de um universo, deverá considerar alguns aspectos que permitem melhorias na utilização do sistema. Trata-se de estabelecer um compromisso entre a flexibilidade do sistema e a viabilidade da sua utilização. Pretende-se um esquema equilibrado que não ponha em risco a integridade da BD, mas que, simultane-amente, tenha um desempenho razoável. Por essa razão, na maioria dos casos, o processo de norma-lização pára na 3FN.