A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

MODELAGEM EM BANCO DE DADOS

Apresentações semelhantes


Apresentação em tema: "MODELAGEM EM BANCO DE DADOS"— Transcrição da apresentação:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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)

20 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

21 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


Carregar ppt "MODELAGEM EM BANCO DE DADOS"

Apresentações semelhantes


Anúncios Google