Prof. Carlos Almeida

Documentos relacionados
Introdução aos SGBD s

MÓDULO 2 GESTÃO DE BASE DE DADOS

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

Gestão de Base de dados Conceitos Básicos

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

Introdução às Bases de Dados

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

Normalização de dados

Dependência Funcional e Normalização)

Banco de Dados Aula 02

Objetivos:

Revisando Banco de Dados. Modelo Relacional

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

2010 Diagrama Entidade - Associação

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

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

Informática. Banco de Dados Relacional. Professor Julio Alves.

Cadeira de Tecnologias de Informação. Normalização Relacional

ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados

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

UNIP Ciência da Computação AES Análise Essencial de Sistemas MER (Modelo Entidade Relacionamento)

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

NORMALIZAÇÃO. Quantidade do Produto. Produto

António Rocha Nuno Melo e Castro

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing

Aula 01 Conceito de Banco de Dados e SGBD

Curso: Banco de Dados I. Conceitos Iniciais

Administração e Projeto de Banco de dados

Cadeira de Tecnologias de Informação. Ano lectivo 2008/09. de Tabelas

. Um modelo que represente fielmente a realidade. Um modelo capaz de responder às funcionalidades que se pretendem

UFCD 786. Exercicios de DER s

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

5 a e 6 a Técnicas de BD Normalização e Modelagem (1)

Banco de Dados 30/04/2012 1

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Modelo Relacional. Aula 02

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

Normalização de Entidades

UFCD 0781 Análise de Sistemas de Informação. Formadora: Sónia Rodrigues. Conteúdos. Conteúdos. Conteúdos. Conteúdos. Objectivos da UFCD:

Classificação dos Dados

Prof. Fabiano Taguchi

Engenharia Reversa e Normalização

Análise e Projeto de Sistemas

Resolução dos exercícios da lista BD01

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

Programa de Unidade Curricular

1. Distinga hardware de software. 2. Complete o quadro seguinte assinalando com um X, os diversos componentes apresentados:

Bem vindo à semana 14! Tema central: Banco de Dados

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

Modelagem de Dados MODELAGEM DE DADOS. Lista de Exercícios 01. Luiz Leão Lista de Exercícios AV1

Trabalhos Práticos. Ano Zero Disciplina: Introdução à Informática Modulo: Programação 2006/2007

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

ESCOLA SECUNDÁRIA MANUEL DA FONSECA, SANTIAGO DO CACÉM GRUPO DISICPLINAR - Informática ANO: 10º TICP ANO LECTIVO: 2008/2009 p.1/6

Chave alternativa. Angélica Toffano Seidel Calazans Abordagem Relacional

Bases de Dados. Parte VIII: Normalização

Resumo do Módulo 2 Access

Sistemas de Banco de Dados

Modelagem de Dados. Conceitos de Normalização. Prof. Esp. Andrew Rodrigues

Algumas Notas sobre Queries em Access 2007

Banco de dados. Prof. Alexandre

Pesquisa e Tratamento de Informação

PCS3413 Engenharia de Software e Banco de Dados

Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução

MANUAL DE MICROSOFT EXCEL 2003 Sem bichos de sete cabeças

Matrizes e Determinantes

PARTE I - INTRODUÇÃO A BANCO DE DADOS

Ficha prática nº 8. SGBD Microsoft SQL Server e projecto do Microsoft Access

Engenharia de Software 2006/2007

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

Ensino Básico 1º Ciclo Informática no Ensino

TIC Unidade 2 Base de Dados

Técnicas de Modelação de Dados

Até agora fizemos a análise dos dados, isto é, estudamos as propriedades dos

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Banco de Dados. Banco de Dados

Introdução 20 Diagramas de fluxos de dados 20 O processo de elaboração de DFD 22 Regras práticas para a elaboração de DFD 24 Dicionário de dados 26

INE 5423 Banco de Dados I

UML Unified Modeling Language

Banco de Dados Fundamentos Básicos. Hélder Antero Amaral Nunes

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

MODELO ENTIDADE - RELACIONAMENTO

Unidade 4 Projeto de BD Relacional

NORMALIZAÇÃO DE BASE DE DADOS

Tecnologias. de Informação e Comunicação. 7ºAno. 1.º Período. Aula 5, 6. 1 Magda Lopes

Banco de Dados. Sistemas de Informação Engenharia de Produção

Base de dados: Encomendas

Partilha de Recursos. Através da Plataforma DropBox

Sistema Gestor de Bancos de Dados (SGBD)

Gestão de Base de dados Tabelas e Chaves

INSTRUÇÃO 1 Crie uma nova Base de Dados na sua disquete cujo nome é Futebol.

MER Modelo de entidade e Relacionamento. Prof. Me. Hélio Esperidião

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

BCD29008 Banco de dados

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

Conceitos prévios sobre o modelo Entidade Associação Alargado

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

Vantagens da Folha de Cálculo. UFCD 3776 Informática folha de cálculo e base de dados. Formadora: Sónia Rodrigues.

Transcrição:

ESCOLA SECUNDÁRIA DE EMÍDIO NAVARRO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO II 2001 - Prof. Carlos Almeida 1ª Versão ANO LECTIVO 2001/2002

Notas do Professor Nota Introdutória O objectivo destes apontamentos não é substituir as aulas, como tal, a exposição de qualquer matéria não é realizada de modo detalhado. Será necessário consultar entre outra bibliografia a bibliografia geral da disciplina e alguns manuais de aplicação. O aluno também deve procurar uma actualização permanente, criando o hábito de consultar publicações técnicas, investigar novos conceitos e discutir sobre eles. Prof. Carlos Almeida i

Notas do Professor Sistema de Avaliação A avaliação da disciplina é contínua. Para cada Unidade Temática indicam-se critérios e técnicas de avaliação concretas, e que variam entre a realização de testes escritos, fichas de trabalho, trabalhos de grupo e provas práticas individuais realizadas no computador. Os professores da disciplina estabeleceram os seguintes critérios de avaliação para o ano lectivo de 2001/2002: COMPONENTE TEÓRICO-PRÁTICA 70% ATITUDES DO ALUNO 30% Teste de avaliação Trabalhos práticos em grupo Realização de fichas de trabalho Capacidade de organização e metodologia de trabalho Relacionamento em grupo Participação na aula Autonomia e destreza na utilização dos sistemas informáticos Concentração e qualidade no trabalho Comportamento, assiduidade e pontualidade 30% 30% 10% 8% 6% 5% 4% 4% 3% Prof. Carlos Almeida ii

Bibliografia Bibliografia Apontamentos do professor. AZUL, Artur Augusto (1998) Introdução às Tecnologias de Informação 2, Porto Editora (Livro adoptado pela disciplina). Manual fornecido com o software (Access). Prof. Carlos Almeida iii

Agradecimentos Apoios e agradecimentos Apontamentos do Prof. Rafael Machado Prof. Carlos Almeida iv

Índice ÍNDICE CONCEITOS BÁSICOS 1 1. CONCEITO DE DADOS E INFORMAÇÃO 1 DADOS VERSUS INFORMAÇÃO 1 2. A EVOLUÇÃO DOS FICHEIROS AO LONGO DOS TEMPOS 2 FICHEIROS MANUAIS 2 FICHEIROS CLÁSSICOS 2 2. SISTEMAS DE GESTÃO DE BASES DE DADOS 3 MODELO DE BASE DE DADOS 4 1. O MODELO LÓGICO 4 ETAPAS DO MÉTODO 4 2. ANÁLISE DAS NECESSIDADES DE INFORMAÇÃO DA EMPRESA E ELABORAÇÃO DO MODELO E-R. 5 ALGUNS CONCEITOS E DEFINIÇÕES 5 TIPOS DE RELACIONAMENTOS 7 RELAÇÃO 1:1 7 RELAÇÃO 1:N 7 RELAÇÃO N:N 7 DESCRIÇÃO INFORMÁTICA DE UMA ENTIDADE 8 CONECTIVIDADE DE UMA RELAÇÃO 9 3. TRANSFORMAÇÃO DO MODELO E-R NUM CONJUNTO DE TABELAS NÃO NORMALIZADAS. 10 RELAÇÃO 1:1 10 RELAÇÃO 1:N 11 RELAÇÃO N:N 12 INTEGRIDADE DA INFORMAÇÃO 12 Prof. Carlos Almeida v

Índice NORMALIZAÇÃO DE TABELAS 14 1. PRIMEIRA FORMA NORMAL 1FN 14 2. SEGUNDA FORMA NORMAL 2FN 15 INCONVENIENTES DE UMA TABELA NA 1FN 16 3. TERCEIRA FORMA NORMAL 3FN 17 4. UTILIZAÇÃO DE CÓDIGOS 18 Prof. Carlos Almeida vi

1 CONCEITOS BÁSICOS 1. Conceito de Dados e Informação Necessidade de Informação: Ao ser humano o Especialização o Conhecimento o Novas ideias À organização (Empresa) o Vital para o seu funcionamento Características da informação: Precisa (Correcta e verdadeira) Concisa (de fácil manipulação) Simples (de fácil compreensão) Oportuna (existe no momento e local correcto) Dados versus Informação Dados: Factos do mundo real (podem não ser informação). Informação: Dados depois de processados, de forma a representarem algo para o ser humano. Prof. Carlos Almeida 1

Conceitos Básicos 2. A Evolução dos Ficheiros ao Longo dos Tempos Ficheiros manuais Exemplo: Arquivo de uma biblioteca Fichas de clientes Têm como principais inconvenientes: Espaço físico ocupado Duplicação de informação desnecessariamente (Redundância de Informação) Difícil manipulação da informação armazenada Deterioração do suporte utilizado (Papel ou cartão) Ficheiros Clássicos Exemplo: Micro-ficha Magnético Óptico Têm como principais vantagens: Pouco espaço físico ocupado Eliminação da Redundância de Informação. Fácil manipulação da informação armazenada Menor deterioração do suporte utilizado Neste tipo de ficheiros, a informação é organizada por registos, constituídos por campos. Registo: Conjunto de dados Ficheiro: Registos correlacionados entre si Prof. Carlos Almeida 2

Conceitos Básicos Exemplo: Registo: Ficha de um sócio de um Vídeo Clube. Ficheiro: Conjunto de todos os sócios. 2. Sistemas de Gestão de Bases de Dados Para manipular a informação foram criadas ferramentas do tipo SGBD Sistema de Gestão de Base de Dados. Um sistema SGBD permitem criar e manipular Bases de Dados em que os dados são estruturados com independência relativamente aos programas de aplicação que os manipulam. A Arquitectura de um SGBD pode ser dividido em 3 Níveis: 1. Nível Físico Suportes informáticos para o armazenamento dos ficheiros de dados (discos, disquetes, etc.) Forma como eles se encontram organizados nesses suportes. 2. Nível Conceptual Estruturação ou organização da informação em tabelas (entidades) e formas de relacionamento entre entidades. (Número e tipo de campos em que a informação é estruturada) 3. Nível de Visualização Forma como os dados são apresentados aos utilizadores finais, através de interfaces gráficos proporcionados pelo SGBD. Utilizador Nível de Visualização Nível Conceptual Nível Físico Prof. Carlos Almeida 3

2 MODELO DE BASE DE DADOS 1. O Modelo Lógico Para descrevermos a nossa aplicação em termos lógicos (Desenho Lógico), vamos utilizar o Modelo Relacional, também chamado Modelo E-R (Entidade- Relação). Etapas do Método Etapa 1 Diagramas E-R: Análise das necessidades de informação da Empresa e elaboração do Modelo E-R. Etapa 2 Tabelas não Normalizadas: Transformação do Diagrama E-R num conjunto de Tabelas Etapa 3 Tabelas Normalizadas: Normalização das Tabelas Diagramas E-R Tabelas não Normalizadas Tabelas Normalizadas Prof. Carlos Almeida 4

Modelo de Base de Dados 2. Análise das Necessidades de Informação da Empresa e Elaboração do Modelo E-R. Alguns Conceitos e Definições Entidade: Objectos ou conceitos que possuem um conjunto de características comuns. Compostas ou caracterizadas por um conjunto de atributos. Corresponde a uma tabela de uma Base de Dados. Exemplos: Pastor Alemão Boxer Setter Dobermann Fiat Renault Ford BMW Entidade Cão Entidade Automóvel Representa-se por: Cão Automóvel Atributo: Características comuns aos objectos ou conceitos definidos pela Entidade. É qualquer propriedade de uma Entidade. Corresponde aos campos de uma tabela. Representa-se por: Cão (Nome, Raça, Sexo, DataNascimento) Ocorrência: Para determinada situação, vamos ter valores concretos para os atributos. Corresponde aos registos de uma tabela. Exemplo: Cão Nome Raça Sexo DataNascimento Yankee Boxer M Jan85 Rocky Pastor F Mai88 Fritz Setter M Fev83 Prof. Carlos Almeida 5

Modelo de Base de Dados Uma entidade ou classe de entidades corresponde a uma tabela Os atributos da entidade correspondem aos campos da tabela Os vários elementos da entidade correspondem aos registos. Chave Candidata: É um atributo ou conjunto de atributos que poderá ser usado como Chave Primária para uma dada entidade. Exemplo: Nome, Nome e Raça Chave Primária: É um atributo ou conjunto de atributos de uma entidade, escolhido de entre as Chaves Candidatas, que identifica uma ocorrência específica dessa mesma entidade, distinguindo-a das restantes, de forma inequívoca. Não pode ser nula, nem repetida. Exemplo: Nome Representa-se da seguinte forma: Cão (Nome, Raça, Sexo, DataNascimento) Relação: Representa a interligação entre 2 ou mais entidades. Dono Possui Cão A Chave primária identifica sem ambiguidades cada entidade concreta (Registo de uma tabela). É Através delas que são estabelecidos os relacionamentos entre diferentes entidades ou tabelas Chave Simples: constituída por um único atributo (Campo). Chave Composta: constituída por mais do que um atributo (Conjunto de campos). A Chave é Unívoca: Identifica de forma única um registo de uma tabela. Prof. Carlos Almeida 6

Modelo de Base de Dados Tipos de Relacionamentos Existem 3 tipos de relacionamentos binários: Relação 1:1 Relação 1:N Relação N:N Relação 1:1 Professor 1 1 Lecciona Disciplina Lê-se: 1 Professor lecciona uma e uma só Disciplina 1 Disciplina é leccionada por um e um só Professor Relação 1:N Departamento 1 n Trabalha Empregado Lê-se: Num Departamento trabalham vários Empregados 1 Empregado trabalha num e num só Departamento Relação N:N Autor n Escreve n Livro Lê-se: 1 Autor escreve vários Livros 1 Livro é escrito por vários Autores Prof. Carlos Almeida 7

Modelo de Base de Dados Descrição Informática de uma Entidade Entidade Relação Tabela Ficheiro Cliente Nº Conta Cliente Reserva 0234654 António Silva 12/12/1987 26423654 José Ferreira 10/01/1990 98965875 João Santos 17/08/1995 Ocorrência Linhas Registos Atributos Colunas Campos Numa tabela as colunas correspondem aos campos ou atributos de uma entidade ou classe de entidades As linhas correspondem aos registos As várias linhas (registos) podem conter dados repetidos em alguns campos, mas não podem existir duas linhas iguais. A ordem pela qual se dispõem as colunas (campos) não é importante e pode ser alterada sem que isso modifique o significado da informação contida na tabela A ordem pela qual se dispõem as linhas (registos) também não é importante e pode ser alterada sem que isso signifique alteração da informação Não podem haver duas colunas (campos) com o mesmo nome. Não deve haver campos vazios Não é permitido incluir mais do que um valor em cada campo de cada registo Não podem haver registos duplicados. Prof. Carlos Almeida 8

Modelo de Base de Dados Conectividade de uma Relação Uma entidade pode participar numa relação de 2 formas: 1. Participação Obrigatória: Não pode existir nenhuma ocorrência dessa entidade que não esteja associada a alguma ocorrência da outra entidade que participa na relação. 2. Participação não Obrigatória: Podem existir ocorrências dessa entidade que não estejam relacionadas a alguma ocorrência da outra entidade que participa na relação. Representação: Exemplo 1 Factura 1 n Tem Linhas Factura Lê-se: 1 Factura tem várias Linhas de Factura 1 Linha de Factura pertence a uma e uma só Factura 1 Factura tem Obrigatoriamente Linhas de Factura 1 Linha de Factura pertence Obrigatoriamente a uma e uma só Factura Exemplo 2 Sócio n Requisita n Livro Lê-se: 1 Sócio requisita vários Livros 1 Livro é requisitado por vários Sócios Nem todos os Sócios requisitam Livros Nem todos os Livros são requisitados por Sócios Prof. Carlos Almeida 9

Modelo de Base de Dados 3. Transformação do Modelo E-R num Conjunto de Tabelas Não Normalizadas. Cada entidade irá dar origem a uma tabela, com: Chave Primária Atributos Chaves Primárias de outras Entidades com que está relacionada (Chave Externa) Em função do grau da relação e da participação das diversas entidades, iremos obter um conjunto de tabelas não normalizadas. Relação 1:1 1. Ambas as entidades têm Participação Obrigatória Empregado 1 1 Utiliza Carro Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Basta uma única tabela, com o somatório dos campos das 2 entidades. A chave primária é de uma das entidades. Empregado (CodEmpregado, Nome, Morada, Matricula, Marca, Modelo) 2. Apenas uma entidade tem Participação Obrigatória Empregado 1 1 Utiliza Carro São necessárias 2 tabelas, uma para cada entidade, e coloca-se a chave primária da entidade com participação não obrigatória na outra tabela, passando a designar-se por chave externa. Prof. Carlos Almeida 10

Modelo de Base de Dados Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marc a, Modelo, CodEmpregado) Nota: A chave externa é CodEmpregado 3. Nenhuma das entidades tem Participação Obrigatória Empregado 1 1 Utiliza Carro São necessárias 3 tabelas, uma para cada entidade e outra para a relação, e coloca-se a chave primária de cada uma das entidades na terceira tabela. A chave primária poderá ser qualquer uma das chaves externas. Empregado (CodEmpregado, Nome, Morada ) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula) Nota: As chaves externas são CodEmpregado e Matrícula Relação 1:N 1. A entidade do lado N tem Participação Obrigatória Empregado 1 n Utiliza Carro São necessárias 2 tabelas, uma para cada entidade, e coloca-se a chave primária da entidade com grau 1 na tabela com grau N, passando a designar-se por chave externa. Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo, CodEmpregado) Nota: A chave externa é CodEmpregado 2. A entidade do lado N não tem Participação Obrigatória Empregado 1 n Utiliza Carro Prof. Carlos Almeida 11

Modelo de Base de Dados São necessárias 3 tabelas, uma para cada entidade e outra para a relação, e coloca-se a chave primária de cada uma das entidades na terceira tabela. A chave primária será a chave primária da tabela do lado N. Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula) Nota: As chaves externas são CodEmpregado e Matricula Relação N:N Empregado n Utiliza n Carro São sempre necessárias 3 tabelas, uma para cada entidade e outra para a relação, e coloca-se a chave primária de cada uma das entidades na terceira tabela. A chave primária será a concatenação das chaves primárias de cada uma das tabelas, obtendose, desta forma, uma Chave Composta. Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula) Notas: Chaves Externas: CodEmpregado e Matricula, separadamente Chave Primária: CodEmpregado e Matrícula, em conjunto (Chave Composta) Integridade da Informação Um sistema SGBD deve preservar a Integridade da Informação: Integridade de Entidade Os valores dos atributos da chave no seu conjunto não se podem repetir nem serem nulos em qualquer dos registos. Integridade Referencial Impõe que um valor de uma chave externa tem obrigatoriamente de existir como elemento da chave primária da tabela relacionada com aquela chave externa. Prof. Carlos Almeida 12

Modelo de Base de Dados Os objectivos a atingir num projecto de uma base de dados são: Tornar possível a inclusão de toda a informação relevante. Evitar a redundância ou repetição desnecessária. Procurar assegurar a consistência e integridade da informação. Proporcionar interfaces fáceis de compreender e manipular. Proporcionar formas de controlo do acesso à informação. Prof. Carlos Almeida 13

3 NORMALIZAÇÃO DE TABELAS Ao normalizarmos as tabelas, usando as Formas Normais, iremos eliminar a informação que se repete desnecessariamente (Redundância da Informação). Existem 3 Formas Normais: Primeira Forma Normal 1FN Secunda Forma Normal 2FN Terceira Forma Normal 3FN 1. Primeira Forma Normal 1FN Uma tabela está na 1ª Forma Normal (FNF - First Normal Form) quando todos os seus atributos são elementares. Não pode existir uma lista de valores para um determinado atributo. Vamos considerar a tabela como exemplo: Existência_de_Peças (NºPeça, Armazém) NºPeça T232 H995 Armazém Lisboa, Porto, Leiria Aveiro, Lisboa Esta tabela não se encontra na 1ª Forma Normal, uma vez que o atributo Armazém consiste numa lista de valores. Para podermos obter a 1ª Forma Normal deveremos subdividir as diversas peças pelos diversos armazéns. Assim, a tabela Prof. Carlos Almeida 14

Normalização de Tabelas Existência_de_Peças (NºPeça, Armazém) NºPeça T232 T232 T232 H995 H995 Armazém Lisboa Porto Leiria Aveiro Lisboa já se encontra na 1ª Forma Normal. De notar que a chave primária passou a ser Chave Primária Composta. 2. Segunda Forma Normal 2FN Uma tabela está na 2ª Forma Normal (SNF - Second Normal Form) quando estiver na 1FN e os seus atributos que não são chave dependerem inteiramente da Chave Primária. Esta situação só faz sentido quando tivermos uma Chave Primária Composta. Para o nosso exemplo, vamos aumentar o número de atributos. Existência_de_Peças (NºPeça, Armazém, Qtd_Stock, Telefone, NºCaixotes) NºPeça Armazém Qtd_Stock Telefone NºCaixotes T232 Lisboa 467 112345644 47 T232 Porto 319 298765489 32 T232 Leiria 121 445678922 13 H995 Aveiro 578 341111154 58 H995 Lisboa 223 112345644 23 Prof. Carlos Almeida 15

Normalização de Tabelas Inconvenientes de uma Tabela na 1FN 1. A Base de Dados ocupa mais espaço em disco (Redundância da Informação). 2. A actualização de um dos registos pode fazer perder a integridade da Base de Dados, criando uma anomalia de actualização. Por exemplo: Se um armazém mudar o nº de telefone, ou se actualizam todos os registos que dizem respeito a esse armazém, ou a Base de Dados perde a sua integridade, uma vez que teremos o mesmo armazém com nºs de telefone diferentes. 3. A eliminação de um registo pode provocar idêntica perda de integridade, criando uma anomalia de apagamento. Por exemplo: Se uma peça deixar de existir, e portanto se apagar o respectivo registo, pode desaparecer a indicação de um armazém com o respectivo nº de telefone. Para o nosso exemplo: - A Tabela está na 2ª Forma Normal? Qual a Chave da Tabela? - Se a Chave Primária não for concatenada, está na 2ª Forma Normal. - E se a Chave Primária for concatenada? - Há atributos que não são chave e que dependem apenas de parte da chave? Se não, está na 2FN. - Para o nosso exemplo, verificamos que o atributo Telefone só depende do atributo Armazém e, como tal, a tabela não se encontra na 2FN. Vamos então transformar a tabela em duas tabelas na 2FN. Existência_de_Peças (NºPeça, Armazém, Qtd_Stock, NºCaixotes) NºPeça Armazém Qtd_Stock NºCaixotes T232 Lisboa 467 47 T232 Porto 319 32 T232 Leiria 121 13 H995 Aveiro 578 58 H995 Lisboa 223 23 Prof. Carlos Almeida 16

Normalização de Tabelas Armazéns (Armazém, Telefone) Armazém Telefone Lisboa 01123456 Porto 02987654 Leiria 04456789 Aveiro 03411111 De notar que a Chave Primária da Tabela Existência_de_Peças é: NºPeça, Armazém. Armazém, isoladamente, funciona como Chave Externa para a tabela Armazéns. De notar, também, que se resolveram todos os inconvenientes da 1FN. 3. Terceira Forma Normal 3FN Uma tabela está na 3ª Forma Normal (Third Normal Form) quando estiver na 2FN e nenhum atributo que não seja Chave Primária dependa de outro que também não seja chave. Para o nosso exemplo e considerando que as peças são empacotadas em conjuntos de 10 unidades, verificamos que sabendo a Qtd_Stock, conseguimos determinar o NºCaixotes, sendo as restantes colocadas num outro caixote. Portanto, o atributo NºCaixotes, que não é chave, depende do atributo Qtd_Stock, que também não é chave. Assim a tabela não se encontra na 3FN. Para que a mesma esteja normalizada, devemos eliminar o atributo NºCaixotes, obtendo desta forma: Existência_de_Peças (NºPeça, Armazém, Qtd_Stock) NºPeça Armazém Qtd_Stock NºCaixotes T232 Lisboa 467 47 T232 Porto 319 32 T232 Leiria 121 13 H995 Aveiro 578 58 H995 Lisboa 223 23 Prof. Carlos Almeida 17

Normalização de Tabelas Armazéns (Armazém, Telefone) Armazém Telefone Lisboa 01123456 Porto 02987654 Leiria 04456789 Aveiro 03411111 4. Utilização de Códigos Depois de as tabelas se encontrarem na 3FN, ainda podemos tentar simplificar o conteúdo das respectivas tabelas, utilizando códigos. Utilizam-se códigos em 3 situações: 1. Quando não temos a garantia que o conteúdo de uma Chave Primária é único. Exemplo: Se tivermos a tabela: Empregado (Nome, Morada, Cargo) não podemos ter a certeza que não existam 2 empregados com o nome António Silva. A solução será colocar um código que passará a ser a nova Chave Primária. Empregado (CodEmpregado, Nome, Morada, Cargo) 2. Quando o conteúdo de um campo é uma palavra comprida que se repete várias vezes. Para o nosso exemplo: Armazém é um atributo que se vai repetir várias vezes na tabela Existência_de_Peças, pelo que deveremos criar um novo código para os armazéns, obtendo desta forma: Existência de Peças (NºPeça, CodArmazém, Qtd_Stock) Armazéns (CodArmazém, Armazém, Telefone) 3. Quando queremos garantir que o conteúdo de um determinado atributo tem o mesmo valor para a mesma situação. Exemplo: Se tivermos a seguinte tabela: Filme (CodFilme, Titulo, Género, AnoEdição) Se quisermos garantir que para o atributo Género, tenhamos sempre, por exemplo, o valor Acção (e não ACCÇÃO, Action, ACT, Acc., etc...), para todos os filmes cujo género seja Acção, deveremos criar uma nova tabela: Géneros (CodGénero, Género) Filme (CodFilme, Titulo, CodGénero, AnoEdição) Prof. Carlos Almeida 18