SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Leinylson Fontinele
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dadoselliando dias
 
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 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosHenrique Nunweiler
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalizaçãoMatias Silva
 
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
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Normalização básica
Normalização básicaNormalização básica
Normalização básicaNadia Habu
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggersDaniel Maia
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 

Was ist angesagt? (20)

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
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 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de Dados
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalização
 
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...
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados II Aula 07 - Linguagem de Consulta SQL (Comandos DDL)
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
SGBD
SGBDSGBD
SGBD
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 

Andere mochten auch

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
 
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
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalizaçãoTicianne Darin
 
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
 

Andere mochten auch (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
 
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)
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
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
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 

Ähnlich wie 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
 

Ähnlich wie 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