TIC Unidade 2 Base de Dados

Documentos relacionados
Tecnologia de Bases de Dados. Apontamentos sobre Normalização

MÓDULO 2 GESTÃO DE BASE DE DADOS

NORMALIZAÇÃO. Adão de Melo Neto

Técnicas de Modelação de Dados

Exercícios sobre normalização

Objetivos:

Banco de Dados I Engenharia Reversa e Normalização

- O atributo Cursos contém valores não atómicos!!!

Tecnologia de Base de Dados Processo de Normalização. MSc. Eugénio Alberto Macumbe

26/03/2012. É uma restrição entre dois conjuntos de atributos do banco de dados. Definição formal: Significa que: Exemplos

Dependência Funcional e Normalização)

Roteiro. Normalização. BCC321 - Banco de Dados I. Ementa. Para que serve a normalização? Posicionamento

Normalização. Prof. Rogério Gonçalves Bittencourt, M.Sc.

Modelo Entidade Relacionamento Estendido (ERE)

Modelo Comportamental

Engenharia Reversa e Normalização

Engenharia Reversa e Normalização

Normalização de dados e as formas normais. Docente : Pedro F. Carvalho.

DER NORMALIZAÇÃO DE DADOS

Modelo Entidade-Relacionamento (E-R)

Banco de Dados Modelagem e Normalização

NORMALIZAÇÃO. Lílian Simão Oliveira

Banco de Dados. Professora: Luciana Faria

Dependências funcionais e normalização

SISTEMAS DE INFORMAÇÃO

2010 Diagrama Entidade - Associação

Engenharia reversa de arquivos e documentos. Capítulo 6

Normalização de Dados. Bancos de Dados I Normalização Principais Conceitos

Normalização: Noções Básicas

Normalização de Tabelas. Prof. Antonio Almeida de Barros Junior

NORMALIZAÇÃO DE BASE DE DADOS

ENGENHARIA REVERSA DE ARQUIVOS

Dependências Funcionais e Formas Normais. Formas Normais Pedro Sousa 1

Normalização. Anomalias Dependência e determinantes Normalização

Normalização para Bancos de Dados Relacionais

Engenharia reversa de arquivos e documentos. Capítulo 6

Normalização de Dados. Disciplina: Fundamentos de Banco de dados Docente: Kelyn Schenatto

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC)

Normalização para Bancos de Dados Relacionais

Prof. Carlos Almeida

Banco de Dados. Dependência Funcional e Normalização de Dados. Prof. Walteno Martins Parreira Jr 1

Informática II Cap. 5-1 Modelo Relacional, Normalização e Diagramas E-R

Normalização de BD 19:08:54. Fundamentos de Banco de Dados - Normalização 1

Banco de Dados Aula 02

Modelo Lógico de Dados (MLD) Origens do modelo relacional

Banco de Dados I 4 Normalização

Qualidade de projeto de BD relacional

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS I PROFA. CLEIANE GONÇALVES OLIVEIRA

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

DEPENDÊNCIA FUNCIONAL E

Tópico: Normalização

Introdução aos SGBD s

BA B SES DE DADOS I SES DE D LEI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2009/2010

Bases de Dados. Normalização. Formas Normais. 1FN : atomicidade dos atributos. 2FN : proíbe dependência parcial de chaves

Unidade 4 Projeto de BD Relacional

Engenharia reversa de arquivos e documentos. Capítulo 6

Normalização. Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes

Introdução às Bases de Dados

Ano: 2014 Banca: FCC Órgão: TJ-AP Prova: Analista Judiciário - Área Apoio Especializado - Tecnologia da Informação

Classificação dos Dados

Parte NORMALIZAÇÃO. As regras mais importantes oferecidas pelo Sistema Gerenciador de Banco de Dados. são:

11 NORMALIZAÇÃO: FORMAS NORMAIS

Databases. Normalização. P. Serendero, (Todos os exercícios do aeroporto e marina são nossos)

Conceitos Básicos de modelagem de dados Modelo conceitual Modelo Lógico Modelo Físico

Normalização de dados

1ª Forma Normal. Uma relação está na 1ª Forma normal se todos os seus atributos são valores escalares.

NORMALIZAÇÃO. Quantidade do Produto. Produto

Aula 12 BD1 Dependências Funcionais e Normalização. Profa. Elaine Faria UFU

Análise de Sistemas de Informação

Diagrama de Entidade Associação ou Relacionamento

Bases de Dados. Parte VIII: Normalização

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos

Banco de Dados Introdução. Profa.Ms.Denise Neves

Projeto de Banco de Dados. Carlos Alberto Heuser

Dependência Funcional e Normalização. Relembrando: Primeira Forma Normal (1FN) Relembrando: Segunda Forma Normal (2FN) Terceira Forma Normal (3FN)

Ciência da Computação MODELAGEM DE DADOS Professor Décio Jorge Craveiro Machado

Teoria De Bases de dados

Projeto de Bancos de Dados Relacional- Normalização. Vantagens da decomposição Normalização

BANCO DE DADOS. Eliminar redundâncias e inconsistências de um banco de dados, com reorganização mínima dos dados.

Curso Profissional de Técnico de Multimédia 11ºAno. Disciplina: Sistemas de Informação

Modelo Relacional Normalização Diagramas E-R e Tabelas Originadas

Banco de Dados I. Normalização

Transcrição:

NORMALIZAÇÃO Em qualquer das metodologias é necessário em dada fase proceder à normalização dos dados, isto é, compreender a sua estrutura mais adequada e o seu significado independente da forma como vão ser registados ou processados na máquina. O modelo de dados representa por um lado as dependências funcionais entre si e não a dependência resultante de uma qualquer aplicação, por outro lado este modelo permanece, mais estável do que as aplicações que os processam, donde se deduz a necessidade de esta fase ser devidamente cuidada. Existem ferramentas que automatizam este processo de definição e descrição do modelo de dados permitindo após a sua concepção, o desenvolvimento parcial de aplicações e a respectiva documentação de suporte. A normalização consiste essencialmente em analisar o esquema de relações/dependências entre atributos, baseados em chaves idênticas. É necessário decompor o esquema das relações noutras que verifiquem as regras das formas normais. Assim, a normalização é um conjunto de normas que permite criar uma boa estruturação das bases de dados relacionais, de forma a evitar as típicas anomalias de redundância ou perda de informação. Esse conjunto de normas ou processos de normalização é composto pelas chamadas formas normais: - 1ª Forma Normal (1FN); - 2ª Forma Normal (2FN); - 3ª Forma Normal (3FN); Estudos posteriores vieram mostrar que existem situações em que a 3FN não constitui o estado final ideal a que as tabelas de uma base de dados devem obedecer. Na sequência dessas investigações as três formas normais iniciais foram complementadas com as seguintes: - Forma normal de Boyce/Codd (FNBC) - Quarta forma normal (4FN) - Quinta forma normal (5FN) Na grande maioria dos casos práticos, o processo de normalização é levado apenas até à terceira forma normal. Vejamos, então os princípios desta técnica de preparação e modelação de dados, habitualmente feita em três etapas que correspondem à 1ª, 2ª e 3ª formas normais. Sempre que uma estrutura de dados é formada por um ou mais grupos (conjunto de campos) repetitivos diz-se que é uma estrutura não normalizada (FN). ESVN - 1 -

A exemplificação da teoria da normalização vai ter por base uma relação que pretenda representar uma relação que pretenda implementar as turmas a que um professor dá aulas. Professor (,,, Cpostal,, DirectorTurma, CodGrupoDisciplinar, Grupo, CodTurma, DescriçãoTurma) 1ª FORMA NORMAL Uma tabela encontra-se na primeira forma normal se: Todos os seus atributos ou colunas estiverem definidos em domínios que contenham apenas valores atómicos. Isto significa que um atributo só pode admitir valores elementares e não conjunto de valores. UMA RELAÇÃO ESTÁ NA 1ª FORMA NORMAL SE NÃO TEM GRUPOS DE ATRIBUTOS REPETITIVOS. A relação Professor não se encontra na 1FN porque os atributos DirectorTurma, CodGrupoDisciplinar, Grupo, CodTurma, DescriçãoTurma constituem um grupo repetitivo, ou seja, sempre que um professor dá aulas a mais que uma turma é necessário repetir os atributos NrProfessor,,, Cpostal,. Passagem para a 1FN: Criar uma nova relação Turmas Professor (,,, Cpostal,, CodGrupoDisciplinar, Grupo ) Turma (, #CodTurma, DirectorTurma, DescriçãoTurma) ESVN - 2 -

2ª FORMA NORMAL UMA RELAÇÃO ESTÁ NA 2FN SE ESTÁ NA 1FN E SE TODOS OS ATRIBUTOS NÃO CHAVE DEPENDEM DA TOTALIDALIDADE DA CHAVE. A relação Professor está na 2FN. A relação Turma não se encontra na 2FN porque os atributos DirectorTurma e DescriçãoTurma não dependem do NrProfessor, mas só do CodTurma. Passagem para a 2FN: Criar uma nova relação Turma/Professor Professor (,,, Cpostal,, CodGrupoDisciplinar, Grupo ) Turma (#CodTurma, DirectorTurma, DescriçãoTurma) Turma/Professor (, #CodTurma) As três relações encontram-se na 2FN. 3ª FORMA NORMAL UMA RELAÇÃO ESTÁ NA 3FN SE ESTÁ NA 2FN E SE NENHUM ATRIBUTO NÃO CHAVE DEPENDER FUNCIONALMENTE DE ALGUM OUTRO ATRIBUTO QUE NÃO SEJA CHAVE. As relações Turma e TurmaProfessor estão na 3FN. A relação Professor não se encontra na 3FN porque o atributo Grupo não depende do NrProfessor, mas apenas do CodGrupoDiscplinar. Professor (,,, Cpostal,, CodGrupoDisciplinar) Turma (#CodTurma, DirectorTurma, DescriçãoTurma) Turma/Professor (, #CodTurma) GrupoDisciplinar (#CodGrupoDisciplinar, Grupo) As quatro relações anteriores estão na 3FN. ESVN - 3 -

Outra representação de estrutura de dados da resolução deste exercício: FNN 1FN 2FN 3FN Professor Professor Professor CPostal DirectorTurma CodGrupoDisciplinar Grupo CodTurma DescriçãoTurma CPostal CodGrupoDisciplinar Grupo CPostal CodGrupoDisciplinar Grupo CPostal CodGrupoDisciplinar Turma/Professor Turma/Professor Turma/Professor #CodTurma DirectorTurma DescriçãoTurma #CodTurma Turma C#odTurma Turma #CodTurma DirectorTurma DescriçãoTurma #CodTurma DirectorTurma DescriçãoTurma GrupoDisciplinar #CodGrupoDisciplinar Grupo Escolha da chave primária que identifica cada ocorrência de preenchimento do documento. Remover o grupo repetitivo, acompanhados da chave primária. Remover itens que dependem apenas de uma parte não plena da chave, acompanhados da parte parcial da chave, que os identifica. Remover itens que dependem de outros itens e não da chave da relação. ESVN - 4 -

VANTAGENS / DESVANTAGENS DA NORMALIZAÇÃO Vantagens Estruturas de dados mais estáveis Elimina a redundância Obtêm-se um modelo de dados mais natural e mais simples Evitam-se os efeitos laterais da alteração Evitam-se os efeitos laterais da inserção Evitam-se os efeitos laterais da remoção Facilita a exploração e manutenção de ficheiros Desvantagens Favorece a proliferação no n.º de tabelas Favorece a fragmentação exagerada Perigoso de seguir cegamente Conclusão: Normalizar? Sim, mas com bom senso... ESVN - 5 -

Exercícios 1. Normalize as estruturas seguintes, apresentando a 1ª, 2ª e 3ª formas normais. 1.1. Factura (NrFactura, CodCliente, Cliente, Cliente, CodProduto, DescriçãoProduto, Preço, Quantidade) 1.2. Fornecedor (Cód-Fornecedor,, Nº-Telefone, Endereço, Cód-Postal,, Cód-Produto, Desc-Produto, Quantidade, Preço-Unitário) 1.3. ESVN - 6 -

Resolução dos Exercícios 1. 1.1. Factura (#NrFactura, CodCliente, Cliente, Cliente, CodProduto, DescriçãoProduto, Preço, Quantidade) Identifica-se o Campo Chave (identificador) Factura #NrFactura CodCliente Cliente Cliente CodProduto Descrição Produto Preço Quantidade F01 C11 Paula Rua X P012 Batata 0,50 5 F01 C11 Paula Rua X P022 Óleo 1,80 2 F01 C11 Paula Rua X P023 Azeite 3,40 1 F02 C25 Carlos Rua Y P012 Batata 0,50 2 F02 C25 Carlos Rua Y P014 Maçã 1,50 2 1FN Factura (#NrFactura, CodCliente, Cliente, Cliente) Produto (#NrFactura, #CodProduto, DescriçãoProduto, Preço, Quantidade) 2FN Factura (#NrFactura, CodCliente, Cliente, Cliente) Produto (#CodProduto, DescriçãoProduto, Preço) Produto/Factura (#NrFactura, #CodProduto, Quantidade) 3FN Factura (#NrFactura, CodCliente) Produto (#CodProduto, DescriçãoProduto, Preço) Produto/Factura (#NrFactura, #CodProduto, Quantidade) Cliente (#CodCliente, Cliente, Cliente) ESVN - 7 -

1.2. Fornecedor (#Cód-Fornecedor,, Nº-Telefone, Endereço, Cód-Postal,, Cód-Produto, Desc-Produto, Quantidade, Preço-Unitário) Identifica-se o Campo Chave (identificador) #Cod-Forn NºTelef. Endereço Cod-Post Cod-Prod Desc-Prod. Quant Preço-Uni F01 Abel&Alves 219923456 Rua X 1500-122 Lisboa P01 Bolo 16 0,70 F01 Abel&Alves 219923456 Rua X 1500-122 Lisboa P012 Óleo 2 1,40 F01 Abel&Alves 219923456 Rua X 1500-122 Lisboa P023 Maçã 13 1,40 F02 Sousa,Lda 213154438 Av. 1 2250-012 Leiria P01 Maçã 15 1,00 F02 Sousa,Lda 213154438 Av. 1 2250-012 Leiria P01 Maçã 15 1,00 1FN Fornecedor (#Cód-Fornecedor,, Nº-Telefone, Endereço, Cód-Postal, ) Produto (#Cód-Fornecedor, #Cód-Produto, Desc-Produto, Quantidade, Preço-Unitário) 2FN 3FN Fornecedor (#Cód-Fornecedor,, Nº-Telefone, Endereço, Cód-Postal, ) Produto (#Cód-Produto, Desc-Produto, Preço-Unitário) Fornecedor/Produto (#Cód-Fornecedor, #Cód-Produto, Quantidade) Fornecedor (#Cód-Fornecedor,, Nº-Telefone, Endereço, Cód-Postal) CPostal (#Cód-Postal, ) Produto (#Cód-Produto, Desc-Produto, Preço-Unitário) Fornecedor/Produto (#Cód-Fornecedor, #Cód-Produto, Quantidade) ESVN - 8 -

1.3. Sócios (#NúmeroSócio,,,, CodigoTipoSocio, DescriçãoTipoSócio, Mês, CódigoServiço, DescriçãoServiço) Identifica-se o Campo Chave (identificador) #NúmeroSócio CodigoTipoSocio DescriçãoTipoSócio Mês CódigoServiço DescriçãoServiço 2345 Rui Sousa Rua Fonte Ribeiro de Cima 21 Sócio Individual Janeiro 1 Banho Turco 2345 Rui Sousa Rua Fonte Ribeiro de Cima 21 Sócio Individual Janeiro 2 Squash 2345 Rui Sousa Rua Fonte Ribeiro de Cima 21 Sócio Individual Fevereiro 2 Squash 1FN Sócio (#NúmeroSócio,,,, CodigoTipoSocio, DescriçãoTipoSócio) Serviço (#NúmeroSócio, #CódigoServiço, DescriçãoServiço, Mês) 2FN Sócio (#NúmeroSócio,,,, CodigoTipoSocio, DescriçãoTipoSócio) Serviço (#CódigoServiço, DescriçãoServiço) Sócio/Serviço (#NúmeroSócio, #CódigoServiço, Mês) 3FN Sócio (#NúmeroSócio,,,, CodigoTipoSocio) TipoSócio (#CodigoTipoSocio, DescriçãoTipoSócio) Serviço (#CódigoServiço, DescriçãoServiço) Sócio/Serviço (#NúmeroSócio, #CódigoServiço, Mês) ESVN - 9 -