SlideShare uma empresa Scribd logo
1 de 22
MODELAGEM EM BANCO DE DADOS NORMALIZAÇÃO Prof. Marcos Alexandruk UNINOVE
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK NORMALIZAÇÃO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK OBJETIVOS PRINCIPAIS ,[object Object],[object Object],[object Object],[object Object],[object Object]
NORMALIZAÇÃO PARTE 1: CONCEITOS ÚTEIS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK 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
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK CHAVES Chave primária :  Escolhida entre as  chaves candidatas para ser o identificador principal da tabela. (PK – Primary Key)
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK CHAVES Chaves alternativas :  São as  chaves candidatas  que não foram definidas como chaves primárias.
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK CHAVES Chave estrangeira :  Atributo ou conjunto de atributos que faz a ligação com a chave primária de outra tabela. (FK – Foreign Key)
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK 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)
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK 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.
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK 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)
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK 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!
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK 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)
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO ©  PROF. MARCOS ALEXANDRUK PARTE 1 – EXERCÍCIOS: ,[object Object],[object Object],[object Object],[object Object],[object Object]
NORMALIZAÇÃO PARTE 2: FORMAS NORMAIS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 1FN – Primeira Forma Normal: Os atributos da tabela não contêm grupos de repetição (tabelas aninhadas). Passando para a 1FN: A tabela a seguir NÃO está na 1FN: D F MULTIVALORADA 10/02/2005 1800 Analista Sr Claudio 1003 Beta 12 05/01/2005 1200 Analista Pl Daniela 1004 02/01/2005 1800 Analista Sr Antonio 1001 Alfa 11 DtInicio SalFunc CargoFunc NomeFunc CodFunc DescProj CodProj Projeto 10/02/2005 1800 Analista Sr Claudio 1003 12 05/01/2005 1200 Analista Pl Daniela 1004 11 02/01/2005 1800 Analista Sr Antonio 1001 11 DtInicio SalFunc CargoFunc NomeFunc CodFunc CodProj ProjFunc Beta 12 Alfa 11 DescProj CodProj Projeto
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 2FN – Segunda Forma Normal: 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: Passando para a 2FN: D F IRREDUTÍVEL À ESQUERDA 10/02/2005 1800 Analista Sr Claudio 1003 12 05/01/2005 1200 Analista Pl Daniela 1004 11 02/01/2005 1800 Analista Sr Antonio 1001 11 DtInicio SalFunc CargoFunc NomeFunc CodFunc CodProj ProjFunc 10/02/2005 1003 12 05/01/2005 1004 11 02/01/2005 1001 11 DtInicio CodFunc CodProj ProjFunc 1800 Analista Sr Claudio 1003 1200 Analista Pl Daniela 1004 1800 Analista Sr Antonio 1001 SalFunc CargoFunc NomeFunc CodFunc Funcionario
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 3FN – Terceira Forma Normal: 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: Passando para a 3FN: CodFunc    CargoFunc    SalFunc Dependência Funcional Transitiva D F TRANSITIVA 1800 Analista Sr Claudio 1003 1200 Analista Pl Daniela 1004 1800 Analista Sr Antonio 1001 SalFunc CargoFunc NomeFunc CodFunc Funcionario Analista Sr Claudio 1003 Analista Pl Daniela 1004 Analista Sr Antonio 1001 CargoFunc NomeFunc CodFunc Funcionario 1200 Analista Pl 1800 Analista Sr SalFunc CargoFunc CargoSalario
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO FNBC – F N Boyce e Codd: Condição:  Aplica-se a FNBC quando: D F NÃO TRIVIAL E IRRED. À ESQ.  ,[object Object],[object Object],[object Object],Vamos assumir que um professor está associado a mais de uma escola e uma sala. Aluno(NomeAluno,EndAluno,NomeEscola,NrSala,NomeProf) Exemplo: Chaves Candidatas: NomeAluno + EndAluno NomeAluno + NrSala NomeAluno + NomeProf ,[object Object],[object Object],[object Object],[object Object],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)
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO FNBC – F N Boyce e Codd: Condição:  Aplica-se a FNBC quando: D F NÃO TRIVIAL E IRRED. À ESQ.  ,[object Object],[object Object],[object Object],Aplicando a FNBC: A tabela  Emprestimo  será dividida em duas tabelas: uma que contém   todos os atributos que descrevem o  Emprestimo  e outra que contém os atributos   do  Devedor   (ou cliente_emprestimo). Claudia Alves C3 Beatriz Batista C2 Antonio Alves C1 NomeCli CodCli Cliente Campinas A3 Botucatu A2 Amparo A1 NomeAge CodAge Agencia 1000.00 E1 C2 A1 1500.00 E3 C3 A2 1500.00 E3 C1 A2 2000.00 E2 C2 A1 Valor NrEmp CodCli CodAge Emprestimo Valor NrEmp CodAge 1000.00 E1 A1 1500.00 E3 A2 2000.00 E2 A1 Emprestimo E3 C1 E3 C3 E2 C2 E1 C2 NrEmp CodAge Devedor
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 4FN – Quarta Forma Normal: Uma tabela não deve possuir mais de uma D F Multivalorada. Passando para a 4FN: A tabela a seguir NÃO está na 4FN: D F MULTIVALORADA CodProj    CodFunc CodProj    CodEquip A20 1001 12 A10 1001 12 A20 1002 11 A20 1001 11 A10 1002 11 A10 1001 11 CodEquip CodFunc CodProj ProjFuncEquip 1001 12 1002 11 1001 11 CodFunc CodProj ProjFunc A20 12 A10 12 A20 11 A10 11 CodEquip CodProj ProjEquip
MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 5FN – Quinta Forma Normal: Condição:  Relacionamentos multiplos (ternários ... n-ários). NÃO está na 5FN: Está na 5FN: 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. 1º passo: Decompor a tabela através da operação de  projeção . 2º passo: Reconstruir a tabela através da  junção . 2 1001 10 2 1001 20 2 1002 10 1 1001 10 Req Ped Mat MatPedReq 1001 20 1002 10 1001 10 Ped Mat MatPed 2 1001 2 1002 1 1001 Req Ped PedReq 2 20 2 10 1 10 Req Mat MatReq

Mais conteúdo relacionado

Mais procurados

Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Leinylson Fontinele
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalizaçãoTicianne Darin
 
Normalization in a Database
Normalization in a DatabaseNormalization in a Database
Normalization in a DatabaseBishrul Haq
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Leinylson Fontinele
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosLeinylson Fontinele
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
SQL Joins and Query Optimization
SQL Joins and Query OptimizationSQL Joins and Query Optimization
SQL Joins and Query OptimizationBrian Gallagher
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Leinylson Fontinele
 
Normalization of Data Base
Normalization of Data BaseNormalization of Data Base
Normalization of Data BaseRavinder Kamboj
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UMLinfo_cimol
 

Mais procurados (20)

Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
Normalization in a Database
Normalization in a DatabaseNormalization in a Database
Normalization in a Database
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
SQL Joins and Query Optimization
SQL Joins and Query OptimizationSQL Joins and Query Optimization
SQL Joins and Query Optimization
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Apostila modelagem de banco de dados
Apostila modelagem de banco de dadosApostila modelagem de banco de dados
Apostila modelagem de banco de dados
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
 
Normalization of Data Base
Normalization of Data BaseNormalization of Data Base
Normalization of Data Base
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UML
 

Destaque

Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de DadosDiolene Sampaio
 
Normalização e conflito
Normalização e conflitoNormalização e conflito
Normalização e conflitotontinhasilva
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
 
Sistema Português de Qualidade
Sistema Português de QualidadeSistema Português de Qualidade
Sistema Português de QualidadeI.Braz Slideshares
 
Timeline Evolução do Banco de Dados
Timeline Evolução do Banco de DadosTimeline Evolução do Banco de Dados
Timeline Evolução do Banco de DadosMarylly Silva
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalvitorleyva
 
B2B business to business
B2B business to businessB2B business to business
B2B business to businessCamila Nunes
 
Qualidade, conceitos e definições
Qualidade, conceitos e definiçõesQualidade, conceitos e definições
Qualidade, conceitos e definiçõesI.Braz Slideshares
 
Qualidade, Segurança e Ambiente
Qualidade, Segurança e AmbienteQualidade, Segurança e Ambiente
Qualidade, Segurança e AmbienteAna Helena
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Gustavo Zimmermann
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitualMario Sergio
 

Destaque (20)

Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de Dados
 
Normalização e conflito
Normalização e conflitoNormalização e conflito
Normalização e conflito
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
Sistema Português de Qualidade
Sistema Português de QualidadeSistema Português de Qualidade
Sistema Português de Qualidade
 
Apresentação Modelagem de negócios
Apresentação Modelagem de negóciosApresentação Modelagem de negócios
Apresentação Modelagem de negócios
 
Timeline Evolução do Banco de Dados
Timeline Evolução do Banco de DadosTimeline Evolução do Banco de Dados
Timeline Evolução do Banco de Dados
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
B2B business to business
B2B business to businessB2B business to business
B2B business to business
 
Qualidade, conceitos e definições
Qualidade, conceitos e definiçõesQualidade, conceitos e definições
Qualidade, conceitos e definições
 
Qualidade, Segurança e Ambiente
Qualidade, Segurança e AmbienteQualidade, Segurança e Ambiente
Qualidade, Segurança e Ambiente
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
O conformismo
O conformismoO conformismo
O conformismo
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
MODELO DE NEGÓCIOS
MODELO DE NEGÓCIOSMODELO DE NEGÓCIOS
MODELO DE NEGÓCIOS
 

Semelhante a Normalização - Alexandruk

Normalização em Banco de Dados Relacionais
Normalização em Banco de Dados RelacionaisNormalização em Banco de Dados Relacionais
Normalização em Banco de Dados Relacionaisrobertaifbaiano
 
(4 - Normalização) (1).pdf
(4 - Normalização) (1).pdf(4 - Normalização) (1).pdf
(4 - Normalização) (1).pdfSaraR49
 
Bdm aula 6 - normalização - ticianne darin
Bdm   aula 6 - normalização - ticianne darinBdm   aula 6 - normalização - ticianne darin
Bdm aula 6 - normalização - ticianne darinTicianne Darin
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo RelacionalJoel Santos
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de DadosKablo Skater Rail
 
Aula 06 normalização
Aula 06 normalizaçãoAula 06 normalização
Aula 06 normalizaçãoLuan Caldas
 
Apostila+[1]+clp+parte+3
Apostila+[1]+clp+parte+3Apostila+[1]+clp+parte+3
Apostila+[1]+clp+parte+3Andre Lima
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Mario Sergio
 

Semelhante a Normalização - Alexandruk (11)

Teorica 10
Teorica 10Teorica 10
Teorica 10
 
Normalização em Banco de Dados Relacionais
Normalização em Banco de Dados RelacionaisNormalização em Banco de Dados Relacionais
Normalização em Banco de Dados Relacionais
 
(4 - Normalização) (1).pdf
(4 - Normalização) (1).pdf(4 - Normalização) (1).pdf
(4 - Normalização) (1).pdf
 
Bdm aula 6 - normalização - ticianne darin
Bdm   aula 6 - normalização - ticianne darinBdm   aula 6 - normalização - ticianne darin
Bdm aula 6 - normalização - ticianne darin
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de Dados
 
Aula 06 normalização
Aula 06 normalizaçãoAula 06 normalização
Aula 06 normalização
 
Apostila+[1]+clp+parte+3
Apostila+[1]+clp+parte+3Apostila+[1]+clp+parte+3
Apostila+[1]+clp+parte+3
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
Linguagens clp
Linguagens clpLinguagens clp
Linguagens clp
 
Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)
 

Normalização - Alexandruk

  • 1. MODELAGEM EM BANCO DE DADOS NORMALIZAÇÃO Prof. Marcos Alexandruk UNINOVE
  • 2.
  • 3.
  • 4.
  • 5. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK 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
  • 6. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK CHAVES Chave primária : Escolhida entre as chaves candidatas para ser o identificador principal da tabela. (PK – Primary Key)
  • 7. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK CHAVES Chaves alternativas : São as chaves candidatas que não foram definidas como chaves primárias.
  • 8. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK CHAVES Chave estrangeira : Atributo ou conjunto de atributos que faz a ligação com a chave primária de outra tabela. (FK – Foreign Key)
  • 9. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK 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)
  • 10. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK 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.
  • 11. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK 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)
  • 12. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK 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!
  • 13. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO © PROF. MARCOS ALEXANDRUK 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)
  • 14.
  • 15.
  • 16. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 1FN – Primeira Forma Normal: Os atributos da tabela não contêm grupos de repetição (tabelas aninhadas). Passando para a 1FN: A tabela a seguir NÃO está na 1FN: D F MULTIVALORADA 10/02/2005 1800 Analista Sr Claudio 1003 Beta 12 05/01/2005 1200 Analista Pl Daniela 1004 02/01/2005 1800 Analista Sr Antonio 1001 Alfa 11 DtInicio SalFunc CargoFunc NomeFunc CodFunc DescProj CodProj Projeto 10/02/2005 1800 Analista Sr Claudio 1003 12 05/01/2005 1200 Analista Pl Daniela 1004 11 02/01/2005 1800 Analista Sr Antonio 1001 11 DtInicio SalFunc CargoFunc NomeFunc CodFunc CodProj ProjFunc Beta 12 Alfa 11 DescProj CodProj Projeto
  • 17. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 2FN – Segunda Forma Normal: 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: Passando para a 2FN: D F IRREDUTÍVEL À ESQUERDA 10/02/2005 1800 Analista Sr Claudio 1003 12 05/01/2005 1200 Analista Pl Daniela 1004 11 02/01/2005 1800 Analista Sr Antonio 1001 11 DtInicio SalFunc CargoFunc NomeFunc CodFunc CodProj ProjFunc 10/02/2005 1003 12 05/01/2005 1004 11 02/01/2005 1001 11 DtInicio CodFunc CodProj ProjFunc 1800 Analista Sr Claudio 1003 1200 Analista Pl Daniela 1004 1800 Analista Sr Antonio 1001 SalFunc CargoFunc NomeFunc CodFunc Funcionario
  • 18. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 3FN – Terceira Forma Normal: 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: Passando para a 3FN: CodFunc  CargoFunc  SalFunc Dependência Funcional Transitiva D F TRANSITIVA 1800 Analista Sr Claudio 1003 1200 Analista Pl Daniela 1004 1800 Analista Sr Antonio 1001 SalFunc CargoFunc NomeFunc CodFunc Funcionario Analista Sr Claudio 1003 Analista Pl Daniela 1004 Analista Sr Antonio 1001 CargoFunc NomeFunc CodFunc Funcionario 1200 Analista Pl 1800 Analista Sr SalFunc CargoFunc CargoSalario
  • 19.
  • 20.
  • 21. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 4FN – Quarta Forma Normal: Uma tabela não deve possuir mais de uma D F Multivalorada. Passando para a 4FN: A tabela a seguir NÃO está na 4FN: D F MULTIVALORADA CodProj  CodFunc CodProj  CodEquip A20 1001 12 A10 1001 12 A20 1002 11 A20 1001 11 A10 1002 11 A10 1001 11 CodEquip CodFunc CodProj ProjFuncEquip 1001 12 1002 11 1001 11 CodFunc CodProj ProjFunc A20 12 A10 12 A20 11 A10 11 CodEquip CodProj ProjEquip
  • 22. MODELAGEM EM BANCO DE DADOS - NORMALIZAÇÃO 5FN – Quinta Forma Normal: Condição: Relacionamentos multiplos (ternários ... n-ários). NÃO está na 5FN: Está na 5FN: 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. 1º passo: Decompor a tabela através da operação de projeção . 2º passo: Reconstruir a tabela através da junção . 2 1001 10 2 1001 20 2 1002 10 1 1001 10 Req Ped Mat MatPedReq 1001 20 1002 10 1001 10 Ped Mat MatPed 2 1001 2 1002 1 1001 Req Ped PedReq 2 20 2 10 1 10 Req Mat MatReq