41
BANCO DE DADOS BANCO DE DADOS - NORMALIZAÇÃO (REVISÃO) P f A l A t F MS Prof. Angelo Augusto Frozza, M.Sc. [email protected]

PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

Embed Size (px)

Citation preview

Page 1: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

BANCO DE DADOSBANCO DE DADOS -NORMALIZAÇÃO (REVISÃO)P f A l A t F M SProf. Angelo Augusto Frozza, [email protected]

Page 2: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

MOTIVAÇÃO

Tipos de chave

Chave candidata:Todas as opções de identificação única de um registro;

Chave primária:Chave escolhida como identificação única;Chave escolhida como identificação única;

Chave estrangeira:gChave que representa uma relação com outra tabela, ou seja, representa a chave primária da tabela relacionada.

Page 3: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

MOTIVAÇÃO

Após a construção do modelo conceitual 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;informação de um modo natural e completo;

Mas, é necessário avaliar o grau de redundâncias existente;

A normalização tem como objetivo modificar o conjunto de t b l btid l t f ã d d l it ltabelas obtido, pela transformação do modelo conceitual em um outro conjunto de tabelas equivalente, menos redundante e mais estável.

Page 4: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

MOTIVAÇÃO

O que são relações (tabelas) bem estruturadas?

Contem um mínimo de redundância;

Permitem aos usuários inserir, modificar e apagar linhas (registros) em tabelas, sem erros ou inconsistências.

Page 5: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

RELAÇÕES BEM ESTRUTURADAS

Observando as duas tabelas a seguir, qual representa uma relação bem estruturada?

Empregado 1Emp_ID Nome Depart Salário

100 Margarida Marketing 42000140 Hélio Financeira 39000

C S f

Empregado 2Emp_ID Nome Depart Salário Curso Dta de conclusão

100 Margarida Marketing 42000 SPSS 19-06-2002100 Margarida Marketing 42000 Pesquisa 07-10-2002140 Héli Fi i 39000 IVA 08 12 2002110 Cristóvão Sist. Informação 41500

190 Lourenço Contabilidade 38000150 Susana Marketing 38500

140 Hélio Financeira 39000 IVA 08-12-2002110 Cristóvão Sist. Informação 41500 SPSS 01-12-2002110 Cristóvão Sist. Informação 41500 C++ 22-04-2002190 Lourenço Contabilidade 38000 Investimen 07-05-2002150 Susana Marketing 38500 SPSS 19-06-2002150 Susana Marketing 38500 TQM 12-08-2003

R: É a 1ª, uma vez que só apresenta informações sobre um

150 Susana Marketing 38500 TQM 12-08-2003

empregado e qualquer modificação, como p.ex. o salário, será limitada a uma única linha da tabela;

A 2ª contém informações sobre os empregados e os cursos que eles frequentaram e a chave primária para esta tabela terá de ser uma combinação entre EmpID e Cursoterá de ser uma combinação entre EmpID e Curso.

Page 6: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

RELAÇÕES BEM ESTRUTURADAS

Redundâncias em uma tabela podem resultar em erros e inconsistências, quando o usuário tentar atualizar os dados na tabelana tabela.

São três os tipos de erros:Erros de inserção – caso se pretenda inserir um novo empregado na tabela 2, como a chave é Emp_ID e Curso, só é possível efetuar a inserção se ambas existirem;

Erros de remoção – se, p.ex., os dados do empregado 140 for apagado da tabela, também se perde a informação sobre o curso

d f t S á é ique esse empregado frequentou. Será que é isso que se pretende?

Erros de modificação imagine que o empregado 100 tem umErros de modificação – imagine que o empregado 100 tem um aumento de salário. Então esse aumento tem de ser registrado em cada uma das linhas em que a existem ocorrências desse empregado Não é muito prático certo?empregado. Não é muito prático, certo?

Page 7: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

RELAÇÕES BEM ESTRUTURADAS

Então, a tabela Empregado_2 não é uma relação bem estruturada e pode ser dividida em duas relações:Empregado

Empregado 2Emp_ID Nome Depart Salário Curso Dta de conclusão

100 Margarida Marketing 42000 SPSS 19-06-2002100 Margarida Marketing 42000 Pesquisa 07-10-2002

Curso100 Margarida Marketing 42000 Pesquisa 07-10-2002140 Hélio Financeira 39000 IVA 08-12-2002110 Cristóvão Sist. Informação 41500 SPSS 01-12-2002110 Cristóvão Sist. Informação 41500 C++ 22-04-2002190 Lourenço Contabilidade 38000 Investimen 07-05-2002150 Susana Marketing 38500 SPSS 19-06-2002

O conceito de Normalização tem por base esta

g150 Susana Marketing 38500 TQM 12-08-2003

O conceito de Normalização tem por base esta explicação e a capacidade de gerar relações bem estruturadas.

Page 8: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

NORMALIZAÇÃO

Redundância – armazenamento repetido de dados, que resultam em problemas de:de dados, que resultam em problemas de:

Manutenção alteração ou remoção deManutenção – alteração ou remoção de registos implica acessos a várias partes da base, tornando-se díficil manter a coerência;base, tornando se díficil manter a coerência;

Custo de espaço de armazenamento;Custo de espaço de armazenamento;

Desempenho as operações de acesso aosDesempenho – as operações de acesso aos discos são as que mais afetam o desempenho dos sistemas.dos sistemas.

Page 9: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

PROCESSO DE NORMALIZAÇÃO

A Normalização é uma técnica de modelagem de dados, ligada ao modelo relacional, que pretende g q pdefinir um conjunto de tabelas prontas para serem implementadas numa base de dados relacional.

Pode ser aplicada a um conjunto de dados brutos(1 b l l ã i l)(1 tabela –> relação universal)

ou a partir de estruturas já existentes.

Page 10: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

PROCESSO DE NORMALIZAÇÃO

Page 11: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

ETAPAS DA NORMALIZAÇÃOTabelas com

grupos repetidos

Remover osgrupos repetidos

1ª FN

Remover as

2ª FN

dependênciasparciais

2 FN

Remover dependências

3ª FN

transitivas

Page 12: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

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;

B é funcionalmente dependente de AA determina BB depende de A

Page 13: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

NORMALIZAÇÃO

Um atributo pode estar dependente de 2 ou mais atributos, em vez de um único.

São exemplos:pISBN → Título do livroN_Funcionario → Departamento

Se se conhece o N_Funcionario (atributo único) é possível determinar o Departamento (um funcionário só pode pertencer a um departamento)

Atenção: A análise das instâncias não é suficiente para avaliar a i tê i d d dê i f i i Só h i t dexistência de dependências funcionais. Só o conhecimento do

domínio do problema, obtido através da análise de requisitos é um método válido para essa conclusão.

Page 14: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

NORMALIZAÇÃO

N_funcionario Nome_Proprio Sobrenome Departamento

1021 Sofia Reis 9001021 Sofia Reis 900

1022 Afonso Reis 700

1023 A t i C d 900

Departamento → N funcionario ?

1023 Antonio Cardoso 900

Departamento → N_funcionario ?Não pois Departamento 900 => {1021,1023}

N_funcionario → Departamento ?Sim, pois se é conhecido o N_funcionario (atributo único) é possível determinar o Departamento (um funcionário só pode pertencer a um departamento)

Page 15: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

NORMALIZAÇÃO

N_funcionario Nome_Proprio Sobrenome Departamento

1021 Sofia Reis 900

1022 Afonso Reis 700

1023 Antonio Cardoso 900

Nome_proprio → N_funcionario ?Não pois podem existir funcionários com o mesmoNão pois podem existir funcionários com o mesmo nome => podem haver múltiplos valores de N_funcionario para o mesmo Nome_própriof S ?N_funcionario → Sobrenome?Apesar de dois funcionários terem o mesmo sobrenome se é conhecido o N funcionario determina-sobrenome, se é conhecido o N_funcionario determina-se um só Sobrenome

N funcionario → todos os restantes atributos_

Page 16: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Primeira Forma Normal (1FN) Eliminar redundânciasEliminar redundâncias

Uma tabela se encontra na 1FN se todas as suas colunas são elementares (atributos

ô i )atômicos).

Page 17: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

1ª FORMA NORMAL(ELIMINAR REDUNDÂNCIAS)

Encomendas (#encomenda, n_cliente, cliente, endereço cliente, dt encomenda,endereço_cliente, dt_encomenda, cod_produto, produto, qtd_encomendada)

Encomendas (#encomenda n cliente clienteEncomendas (#encomenda, n_cliente, cliente, endereço_cliente, dt_encomenda)

Itens_Encomenda (#encomenda, #item encomenda cod produto produto#item_encomenda, cod_produto, produto, qtd_encomendada)

Page 18: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

1ª FORMA NORMAL(ELIMINAR REDUNDÂNCIAS)

Valores atômicos:cidade do cliente (Curitiba)

COD-ALUNO NOME

cidade do cliente (Curitiba)

Nome do cliente (João Carlos)

Id d d l (30 )

ALUNO Idade do aluno (30 anos)

DISCIPLINA ENDEREÇO

Valores não atômicos:Disciplina do aluno (matemática, física) é multivalorado,

Ç

Disciplina do aluno (matemática, física) é multivalorado, ou seja, o aluno pode estar matriculado em mais de uma disciplina.

Page 19: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

1ª FORMA NORMAL(ELIMINAR REDUNDÂNCIAS)

COD-ALUNO NOME

ALUNOALUNO

DISCIPLINA_2 ENDEREÇODISCIPLINA_1

Não está na 1FN quando possuir atributos q prepetidos.

Page 20: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

1ª FORMA NORMAL(ELIMINAR REDUNDÂNCIAS)

COD-ALUNO NOME

ALUNO

DISCIPLINA DISCIPLINA

Não é PK (chave primária), apenas FK (chave ( p ), p (estrangeira) ou chave candidata.

Page 21: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

1ª FN

Normalize (1FN) a seguinte relação:

Num_estudante, Nome_estudante, curso, num_disciplinas, nome disciplinas, cod_professor, _ p p _p

nome_professor, grau_professor, nota

a) Identificar a chave primária da entidade;

b) Identificar o grupo repetitivo e removê-lo da entidade;) g p p ;

c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.

Page 22: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Segunda Forma Normal (2FN)Dependência total da ChaveDependência total da Chave

O conceito de dependência funcional é papresentado considerando uma tabela R com a estrutura R(x,y,z,w).

Diz-se que a coluna z é funcionalmente dependente da coluna x se para um dado valor da coluna x oda coluna x se, para um dado valor da coluna x, o valor da coluna z é sempre o mesmo.

Pode dizer-se que x determina z, ou que z depende funcionalmente de x, x → z.

Page 23: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Segunda Forma Normal (2FN)Dependência total da ChaveDependência total da Chave

Uma tabela está na 2FN quando estiver na 1FN e asUma tabela está na 2FN quando estiver na 1FN e as suas colunas que não são chave primária dependerem inteiramente da chave primária.

DEPENDÊNCIA COD_PROD

FUNCIONAL

NA CHAVE PRODUTONA CHAVE PRIMÁRIA

NOME_PROD PRECO_PROD

Page 24: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Segunda Forma Normal (2FN)Dependência total da ChaveDependência total da Chave

EXEMPLOS DEPENDÊNCIA NÃO FUNCIONAL NA CHAVE COMPOSTA:

POSSUI DEPENDÊNCIA

COD_PROD

PRECO_PROD

NR-ORDEM

DEPENDÊNCIA PARCIAL DA CHAVE

COMPOSTA. COD_PROD APENAS

ORD-PRODPOSSUI DEPENDÊNCIA PARCIAL DA CHAVE COMPOSTA: COD PROD APENAS_

NOME_PROD

DATA-FABRIC

TIPO_ORDEMCOD_PROD APENAS

POSSUI DEPENDÊNCIA PARCIAPOSSUI DEPENDÊNCIA PARCIAL. A DEPENDÊNCIA É COM NR-ORDEM

Page 25: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

2ª FORMA NORMAL(DEPENDÊNCIA TOTAL DA CHAVE)

Itens Encomenda (#encomenda #item encomendaItens_Encomenda (#encomenda, #item_encomenda, cod_produto, produto, qtd_encomendada)

Itens Encomenda (#encomenda #item encomendaItens_Encomenda (#encomenda, #item_encomenda, cod_produto, qtd_encomendada)

Produtos (cod_produto, produto)

Page 26: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

2ª FN

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

a) Identificar os atributos que não são funcionalmentea) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária;

b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles;

c) A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentesatributos removidos são funcionalmente dependentes.

Page 27: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Terceira Forma Normal (3FN)(Eliminar dependências transitivas)(Eliminar dependências transitivas)

U t b l tá 3FN dUma tabela está na 3FN quando:estiver na 2FN e se todos os atributos que não pertencem à chave primária, não dependerem de outro atributo que não a chavenão a chave.

Page 28: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Terceira Forma Normal (3FN)(Eliminar dependências transitivas)(Eliminar dependências transitivas)

A 3FN i õ d l d d dA 3FN impõe que cada coluna dependa apenas da chave primária e não de qualquer outra coluna ou conjunto de colunasconjunto de colunas. Assim todas as colunas que não pertencem à chave são mutuamente independentessão mutuamente independentes.

Esta condição permite eliminar dependênciasEsta condição permite eliminar dependências transitivas.

Page 29: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

3ª FORMA NORMAL(ELIMINAR DEPENDÊNCIAS TRANSITIVAS)

DEPENDÊNCIA FUNCIONAL

APENAS COM A CHAVE! COD_PROD NOME_PROD

PRODUTOPRECO_PROD

PRODUTO

Possui DF com COD FAMLIA

NOME_FAMILIACOD_FAMILIACOD_FAMLIA e

COD_PROD

Page 30: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

3ª FORMA NORMAL(ELIMINAR DEPENDÊNCIAS TRANSITIVAS)

Encomendas (#encomenda, n_cliente, cliente, endereço cliente dt encomenda)endereço_cliente, dt_encomenda)

Encomendas (#encomenda, n cliente,Encomendas (#encomenda, n_cliente, dt_encomenda)

Clientes (n_cliente, cliente, endereço_cliente)

Page 31: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

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, ( g _Categoria_arbitro).

A tabela encontra-se na 3FN?a) Identificar os atributos com DF além da chave;) ;

b) Retirar estes atributos da entidade;

c) Gerar nova entidade com estes atributos e a chave é oc) Gerar nova entidade com estes atributos e a chave é o atributo que possui a DF.

Page 32: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Cadastro de Funcionário

F i á i J ã d Sil Funcionário: João da Silva Endereço: Av. Maringá, S/N Telefone: 3622-2010 Celular:Nome dos filhos: Samuel Maria Joana Nome dos filhos:Data de Nascimento dos filhos: 1/01/92, 5/03/94,10/12/97

Samuel, Maria, Joana

Tela do Sistema de

t l d Controle de Venda

Page 33: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Tabela física do banco de dados

Funcionário

Atributo Tipo Tamanho ChaveCod_Funcionario Integer PK Nome_Funcionario Varchar 50End_Funcionario Varchar 50Telefone Varchar 12Telefone Varchar 12Celular Varchar 12Nome_filhos Varchar 50Dt_Nasc_filhos Varchar 30

Page 34: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

ResultadoCod_funcionario Nome_Funcionario Nome_Filhos Dt_Nasc_filhos

Carlos da Silva 04/04/1980001 João da Silva

Carlos da Silva 04/04/1980Pedro da Silva 28/07/1985

002 Maria das Dores Carla das Dores 25/05/1980003 Claudio Soares003 Claudio Soares

004Jose Sem Sobrenome

Carlos Sem Sobrenome 10/03/1987Maria Sem Sobrenome 23/09/1990

Esta tabela está mal projetada

Page 35: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

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 ç q q

de mais do que uma chave candidata e que duas chaves candidatas possuam elementos comuns.

Uma relação está na BCFN quando todos os ib ã d d d h d datributos estão dependentes da chave, de toda a

chave e de nada mais do que a chave.

Page 36: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMA NORMAL DE BOYCE/COOD (BCFN)( i t i ) édi(paciente, serviço) médico

R(doente, serviço, médico)(um doente num determinado serviço hospitalar é(um doente, num determinado serviço hospitalar é

sempre observado pelo mesmo médico e um médico só pertence a um e um só serviço)p ç )

R1 (paciente,médico) Mas esta solução permite ter i 2 édiR1 (paciente,médico)

R2 (médico, serviço) um paciente com 2 médicos do mesmo serviço

Tratamento a nível de aplicação, mantendo a p çrelação R e R2 (criando

redundância)

Page 37: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMA NORMAL DE BOYCE/COOD (BCFN)

Imagine a relação:

R(CodAluno, CodDisciplina, Professor)

na 3FN, onde os alunos frequentam várias disciplinas;

Cada professor só leciona uma disciplina, mas uma disciplina pode ser lecionada por váriosdisciplina pode ser lecionada por vários professores;

Portanto, pode-se verificar a seguinte dependência funcional (CodAluno, CodDisciplina) → Professor.

Page 38: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMA NORMAL DE BOYCE/COOD (BCFN)

No entanto, existem duas chaves candidatas compostas

(CodAluno, CodDisciplina) e (CodAluno, Professor)

e o atributo Professor não é chave candidata mas determina o CodDisciplinadetermina o CodDisciplina

(Professor → CodDisciplina)(Professor → CodDisciplina),

pois um professor só leciona uma disciplina.p p p

Page 39: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Quarta Forma Formal (4FN)Quinta Forma Normal (5FN)Qu ta o a o a (5 )

Em geral uma relação na BCNF já está na 4FN eEm geral uma relação na BCNF já está 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.

Page 40: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

CONSEQUÊNCIAS DA NORMALIZAÇÃO

1FN 2FN 3FN BCFN 4FN 5FN1FN 2FN 3FN BCFN 4FN 5FN

- + relações-+

+ relações- redundância

Compromisso, bom senso, avaliação do desempenho do sistema e, eventualmente, necessidade de desnormalizardesnormalizar

Page 41: PfProf. AlAngelo AtAugusto Frozza, MSM.Sc. frozza@ifc ...frozza/2011.1/IE10/IE10-BDD-Aula003-Norma... · 150 Susana Marketing 38500 TQM 12-08-2003 |R: É a 1ª, uma vez que só apresenta

FORMAS NORMAIS

Desnormalização

O SGBD para além de implementar o modelo deO SGBD para além de implementar o modelo de dados de um universo, deve considerar alguns aspectos que permitem melhorias na utilização do sistema;

Trata-se de estabelecer um compromisso entre a pflexibilidade do sistema e a viabilidade da sua utilização;

Pretende-se obter um esquema equilibrado, que não ponha em risco a integridade da BD, mas que, i lt t t h d h á lsimultaneamente, tenha um desempenho razoável.

Por essa razão, na maioria dos casos, o processo de normalização para na 3FN.ç p