MODELAGEM EM BANCO DE DADOS

Slides:



Advertisements
Apresentações semelhantes
BANCO DE DADOS I Prof. Ricardo Santos.
Advertisements

Modelo Relacional e Transformação DER x Relacional
Um pouco mais de cardinalidade e Relacionamentos
Abordagem Entidade Relacionamento
Normalização em BD Relacional
SISTEMAS DE INFORMAÇÃO
Banco de Dados Prof. Antonio.
DESENHO de BASE de DADOS RELACIONAL
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
Sistemas de Informação Gerencial
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
Banco de Dados – Modelo Relacional Universidade Federal de Santa Catarina Banco de Dados Mapeamento ER- Relacional (Material adaptado das profs. Daniela.
(Dependência Funcional e Normalização)
Processo de Normalização
Sistema de Banco de Dados
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
Ricardo de Oliveira Cavalcanti roc3[at]cin.ufpe.br
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
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.
Introdução a Banco de Dados com exercícios de aplicação
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Usando Microsoft Access 2010
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.
Curso Técnico em Mineração
Análise de Sistemas de Informação
Prof. Christiano Lima Santos
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
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.
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
Bases de dados: cruzamento de tabelas
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Banco de Dados I Unidade 3: Projeto de BD Relacional
Profa. Ana Karina Barbosa Abril/2008
Professor Me. Jeferson Bussula Pinheiro.
Aula 3 – Conceitos de banco de dados relacionais
Banco de dados e tipos de programação
Banco de Dados I Aula 4 - Projeto Conceitual de Banco de Dados
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante.
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
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.
Normalização de Dados É o processo de organizar dados e eliminar redundâncias dentro de um banco de dados É o processo de organizar dados e eliminar redundâncias.
Professor: reno nooblath
Tecnologias e Linguagens para Banco de Dados I - WEB Prof. João Ricardo Andrêo 29/5/ :40 1 Atividades: 1 - Criar uma base de dados para uma empresa.
Normalização.
Anomalias de Inserção, Remoção e Atualização
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.
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI109- Fundamentos de Banco de Dados (Restrições de Integridade) Prof. Alexandre Tagliari.
Transcrição da apresentação:

MODELAGEM EM BANCO DE DADOS NORMALIZAÇÃO Prof. Marcos Alexandruk UNINOVE

NORMALIZAÇÃO Conceito introduzido em 1970 por E. F. Codd (1FN) MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO NORMALIZAÇÃO Conceito introduzido em 1970 por E. F. Codd (1FN) Processo matemático formal fundamentado na teoria dos conjuntos Aplica uma série de regras sobre as tabelas de um banco de dados para verificar se estas foram corretamente projetadas © PROF. MARCOS ALEXANDRUK

OBJETIVOS PRINCIPAIS Garantir a integridade dos dados, evitando que MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO OBJETIVOS PRINCIPAIS Garantir a integridade dos dados, evitando que informações sem sentido sejam inseridas Organizar e dividir as tabelas da forma mais eficiente possível, diminuindo a redundância e permitindo a evolução do banco de dados © PROF. MARCOS ALEXANDRUK

PARTE 1: CONCEITOS ÚTEIS NORMALIZAÇÃO PARTE 1: CONCEITOS ÚTEIS Chaves Dependência Funcional (DF) Trivialidade Transitividade D F Irredutível à Esquerda Dependência Multivalorada

CHAVES Chave candidata: atributo ou conjunto de atributos MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO CHAVES Chave candidata: atributo ou conjunto de atributos que são únicos para cada registro. Cada tabela pode ter uma ou várias chaves deste tipo. Exemplos: CODIGO, CPF, RG © PROF. MARCOS ALEXANDRUK

CHAVES Chave primária: Escolhida entre as chaves candidatas MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO CHAVES Chave primária: Escolhida entre as chaves candidatas para ser o identificador principal da tabela. (PK – Primary Key) © PROF. MARCOS ALEXANDRUK

CHAVES Chaves alternativas: São as chaves candidatas que MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO CHAVES Chaves alternativas: São as chaves candidatas que não foram definidas como chaves primárias. © PROF. MARCOS ALEXANDRUK

CHAVES Chave estrangeira: Atributo ou conjunto de atributos MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO CHAVES Chave estrangeira: Atributo ou conjunto de atributos que faz a ligação com a chave primária de outra tabela. (FK – Foreign Key) © PROF. MARCOS ALEXANDRUK

DEPENDÊNCIA FUNCIONAL (DF) MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO DEPENDÊNCIA FUNCIONAL (DF) Sempre que um atributo X identifica um atributo Y há entre eles uma dependência funcional. X é o determinante e Y é o dependente. Representação: X  Y (lê-se: X determina Y ou Y é dependente de X) cidade  estado (estado é dependente de cidade) estado  país (país é dependente de estado) © PROF. MARCOS ALEXANDRUK

TRIVIALIDADE A dependência funcional trivial indica que um MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO TRIVIALIDADE A dependência funcional trivial indica que um determinante com mais de um atributo pode determinar seus próprios membros quando isolados. {banco,agencia}  banco {banco,agencia}  agencia A dependência funcional não trivial * indica que um determinante identifica outro atributo qualquer. {banco,agencia}  cidade (cidade não faz parte do determinante) * Esta DF é a que nos interessa no processo de normalização. © PROF. MARCOS ALEXANDRUK

TRANSITIVIDADE Se um atributo X determina Y e se Y determina Z, MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO TRANSITIVIDADE Se um atributo X determina Y e se Y determina Z, Podemos dizer que X determina Z de forma transitiva, Isto é, existe uma dependência funcional transitiva X para Z. cidade  estado estado  país cidade  país (cidade determina país de forma transitiva) © PROF. MARCOS ALEXANDRUK

D F IRREDUTÍVEL À ESQUERDA MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO D F IRREDUTÍVEL À ESQUERDA O lado esquerdo de uma dependência funcional é irredutível à esquerda quando o determinante está na sua forma mínima, não é possível reduzir a quantidade de atributos determinantes sem perder a dependência funcional. {cidade,estado}  país (Não está na forma irredutível à esquerda*) * podemos ter somente o estado como determinante estado  país (Está na forma irredutível à esquerda) NOTA: Nem sempre estar na forma irredutível à esquerda significa possuir um determinante com apenas um atributo! © PROF. MARCOS ALEXANDRUK

DEPENDÊNCIA MULTIVALORADA MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO DEPENDÊNCIA MULTIVALORADA O valor de um atributo determina um conjunto de valores de um outro atributo. {CPF}  {nome} (um nome para cada CPF) {CPF}  {dependente} (vários dependentes para cada CPF) Uma dependência multivalorada é representada por: X  Y (X multidetermina Y ou Y é multidependente de X) © PROF. MARCOS ALEXANDRUK

MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO PARTE 1 – EXERCÍCIOS: Uma escola deseja cadastrar os alunos (idade de 7 a 12 anos). Tomando como base o seguinte conjunto {codigo,CPF,RG}, qual atributo você escolheria como Chave Primária? Por que? Como seriam chamadas as outras chaves que NÃO foram definidas como chave primária? © PROF. MARCOS ALEXANDRUK

NORMALIZAÇÃO PARTE 2: FORMAS NORMAIS 1FN – 1ª Forma Normal FNBC – Forma Normal de Boyce e Codd 4FN – 4ª Forma Normal 5FN – 5ª Forma Normal

1FN – Primeira Forma Normal: MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 1FN – Primeira Forma Normal: D F MULTIVALORADA Os atributos da tabela não contêm grupos de repetição (tabelas aninhadas). A tabela a seguir NÃO está na 1FN: Projeto CodProj DescProj CodFunc NomeFunc CargoFunc SalFunc DtInicio 11 Alfa 1001 Antonio Analista Sr 1800 02/01/2005 1004 Daniela Analista Pl 1200 05/01/2005 12 Beta 1003 Claudio 10/02/2005 Passando para a 1FN: ProjFunc CodProj CodFunc NomeFunc CargoFunc SalFunc DtInicio 11 1001 Antonio Analista Sr 1800 02/01/2005 1004 Daniela Analista Pl 1200 05/01/2005 12 1003 Claudio 10/02/2005 Projeto CodProj DescProj 11 Alfa 12 Beta

2FN – Segunda Forma Normal: MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 2FN – Segunda Forma Normal: D F IRREDUTÍVEL À ESQUERDA Condição: Chave Primária (PK) composta por mais de uma coluna. Todas as colunas que não fazem parte da PK dependem de todas as colunas que compõem a PK. A tabela a seguir NÃO está na 2FN: ProjFunc CodProj CodFunc NomeFunc CargoFunc SalFunc DtInicio 11 1001 Antonio Analista Sr 1800 02/01/2005 1004 Daniela Analista Pl 1200 05/01/2005 12 1003 Claudio 10/02/2005 Passando para a 2FN: Funcionario CodFunc NomeFunc CargoFunc SalFunc 1001 Antonio Analista Sr 1800 1004 Daniela Analista Pl 1200 1003 Claudio ProjFunc CodProj CodFunc DtInicio 11 1001 02/01/2005 1004 05/01/2005 12 1003 10/02/2005

3FN – Terceira Forma Normal: MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 3FN – Terceira Forma Normal: D F TRANSITIVA Não há dependências funcionais transitivas. Cada coluna não PK depende DIRETAMENTE da PK. A tabela a seguir NÃO está na 3FN: Funcionario CodFunc NomeFunc CargoFunc SalFunc 1001 Antonio Analista Sr 1800 1004 Daniela Analista Pl 1200 1003 Claudio CodFunc  CargoFunc  SalFunc Dependência Funcional Transitiva Passando para a 3FN: Funcionario CodFunc NomeFunc CargoFunc 1001 Antonio Analista Sr 1004 Daniela Analista Pl 1003 Claudio CargoSalario CargoFunc SalFunc Analista Sr 1800 Analista Pl 1200

FNBC – F N Boyce e Codd: Condição: Aplica-se a FNBC quando: MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO FNBC – F N Boyce e Codd: D F NÃO TRIVIAL E IRRED. À ESQ. Condição: Aplica-se a FNBC quando: Encontramos duas ou mais chaves candidatas As chaves candidatas apresentam mais de um atributo (são compostas) Todas as chaves candidatas têm um atributo em comum Exemplo: Vamos assumir que um professor está associado a mais de uma escola e uma sala. Aluno(NomeAluno,EndAluno,NomeEscola,NrSala,NomeProf) Chaves Candidatas: NomeAluno + EndAluno NomeAluno + NrSala NomeAluno + NomeProf Neste exemplo: Encontramos três chaves candidatas Todas são compostas Todas compartilham um mesmo atributo Aplicando a FNBC: A tabela Aluno será dividida em duas tabelas: uma que contêm todos os atributos que descrevem o aluno e outra que contêm os atributos que designam um professor em uma determinada escola e número de sala. Aluno(NomeAluno,EndAluno,NomeEscola,NrSala) Professor(NomeEscola,NrSala,NomeProf)

4FN – Quarta Forma Normal: MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 4FN – Quarta Forma Normal: D F MULTIVALORADA Uma tabela não deve possuir mais de uma D F Multivalorada. A tabela a seguir NÃO está na 4FN: ProjFuncEquip CodProj CodFunc CodEquip 11 1001 A10 1002 A20 12 CodProj  CodFunc CodProj  CodEquip Passando para a 4FN: ProjFunc CodProj CodFunc 11 1001 1002 12 ProjEquip CodProj CodEquip 11 A10 A20 12

5FN – Quinta Forma Normal: MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 5FN – Quinta Forma Normal: Condição: Relacionamentos multiplos (ternários ... n-ários). 1º passo: Decompor a tabela através da operação de projeção. 2º passo: Reconstruir a tabela através da junção. A tabela está na 5FN quando o seu conteúdo NÃO puder ser reconstruído Através da junção das tabelas secundárias. NÃO está na 5FN: Está na 5FN: MatPedReq Mat Ped Req 10 1001 1 1002 2 20 MatPed Mat Ped 10 1001 1002 20 PedReq Ped Req 1001 1 1002 2 MatReq Mat Req 10 1 2 20