Академический Документы
Профессиональный Документы
Культура Документы
1
20/10/2013
2
20/10/2013
3
20/10/2013
Eliminação da inconsistência e de anomalias de dados Sistema de grande complexidade, ocupa muito espaço
presentes nos sistemas de ficheiros; em disco e é caro;
Eliminar as dependências estruturais presentes nos Existem custos adicionais de hardware;
sistemas de ficheiros; Em caso de falha do sistema, existem normalmente
Redução do tempo destinado ao desenvolvimento de maiores impactos.
aplicações;
Aumenta a flexibilidade do sistema, permitindo uma
maior facilidade nos procedimentos necessários para
efetuar alterações estruturais;
Facilidade na obtenção de informação atualizada.
4
20/10/2013
Para estudar ou analisar um sistemas, utilizamos Modelos concetuais são utilizados para se obter uma
modelos. descrição lógica dos sistemas (Modelo Entidade-
Modelo é a representação do sistema. Relacionamento).
Ao longo dos anos, têm vindo a ser delineados vários
modelos para representar um Sistema de Bases de
Dados.
Podemos distinguir os modelos concetuais e os
modelos de implementação.
Modelos de implementação descrevem como os Estes modelos podem ser divididos no:
dados estão representadas na base de dados.
Modelo Hierárquico
Modelo em Rede
Modelo Relacional
5
20/10/2013
6
20/10/2013
Criar
Definir Modificar a
Relacionamentos Adicionar um Eliminar um
Definir Chaves Propriedades Definição de um
entre tabelas Campo Campo
Campo
7
20/10/2013
Índices Índices
Um índice é uma estrutura de dados mantida Um dos benefícios da criação de índices é de que,
internamente pelo SGBD para otimizar o acesso aos quando uma operação a ser efetuada envolver somente o
dados. atributo pertencente ao índice, não haverá a necessidade
de aceder aos dados da tabela.
Os índices guardam internamente, como informação,
apenas os valores dos atributos que são indexados, Os SGBD’s criam automaticamente índices para as
dentro de uma ordem estabelecida pelo algoritmo de chaves primárias das tabelas.
formação do índice.
São usados índices para outros atributos para encontrar
elementos da tabela, ou como critério para ordenar os
elementos ao mostra-los.
8
20/10/2013
9
20/10/2013
Tipos de Relações quanto ao número de entidades Tipos de Relações quanto ao número de entidades
Relações unárias - relações que se estabelecem entre Relações binárias - relações que se estabelecem entre
os elementos de uma mesma entidade. os elementos de duas entidades diferentes.
Equipas
Fornecedores R Produtos
Numa base de dados concebida para registar os jogos Os fornecedores de uma empresa e os produtos
entre as equipas de um campeonato podemos considerar adquiridos por uma empresa.
que existe uma única entidade – Equipas – que jogam
entre si.
10
20/10/2013
Realizadores R Filmes
cada elemento ou ocorrência de cada parte (entidade) numa das entidades, cada elemento participa no
participa apenas uma vez no relacionamento com outra relacionamento apenas uma vez, ao passo que na outra
parte. entidade esse elemento pode ter várias ocorrências nesse
mesmo relacionamento
11
20/10/2013
situação em que cada elemento de cada uma das partes Relacionamento do tipo um-para-um, com participação
pode participar múltiplas vezes no relacionamento. obrigatória das entidades de ambos os lados.
1 1
Professor Disciplina
Relacionamento do tipo um-para-n, com participação Um professor pode lecionar várias disciplinas e uma
obrigatória das entidades do lado n. disciplina é lecionada apenas por um professor, sendo que
1 N nem todos os professores lecionam disciplinas.
Sócio Cargo
12
20/10/2013
13
20/10/2013
14
20/10/2013
N M
Fornecedor Produto
15
20/10/2013
16
20/10/2013
1ª Forma Normal (1FN) Por vezes 2 atributos (ou grupos de atributos) estão
retirar os elementos repetidos, de forma a se encontrar numa intrinsecamente ligados entre si (por exemplo o número de
ocorrência apenas um dos valores (eliminar grupos cliente e o nome de cliente);
repetitivos)
Num dado momento, onde na base de dados figurem estes 2
2ª Forma Normal (2FN) atributos, a um mesmo número de cliente corresponderá
necessariamente o mesmo nome; (o inverso pode não ser
qualquer atributo que não seja chave deve depender da verdade!)
totalidade da chave (eliminar dependências parciais)
Diz–se então que o nome de cliente “DEPENDE” do número de
3ª Forma Normal (3FN) cliente ou que o número de cliente “IDENTIFICA” o nome do
nenhum atributo não chave pode depender de outro atributo cliente, isto é, existe uma dependência funcional entre estes 2
não chave (eliminar dependências transitivas) atributos.
Normalização-Exemplo Normalização-Exemplo
Numa escola pretende-se manter informação sobre: Matéria Prima: tabela não normalizada
Os alunos da escola (com informação sobre o seu Número
Aluno
Nome Curso
Código
Disciplina
Disciplina
Código
Professor
Professor Grau Nota
número interno, nome e curso a que pertencem); 1 António MUL 04 AS 112 Paulo M 15
17
20/10/2013
Normalização-Etapas Normalização-Exemplo
Problemas na tabela Nota:
1ª Forma Normal (1FN)
retirar os elementos repetidos, de forma a se Inserção: se quisermos inserir informação sobre uma nova
encontrar numa ocorrência apenas um dos valores disciplina (07) que é dada pelo professor 113; Não é possível inserir
estes dados enquanto não existirem alunos inscritos para esta nova
(eliminar grupos repetitivos) disciplina (o atributo número de aluno faz parte da chave da tabela).
Número Código Código
Nome Curso Disciplina Professor Grau Nota
Aluno Disciplina Professor
Remoção: se quisermos eliminar a informação sobre todos os
Tabela Tabela alunos que têm uma determinada disciplina, então perdemos toda a
Estudante Nota informação dessa disciplina e do respetivo professor.
Número
Nome Curso
Número
Aluno
Código
Disciplina
Disciplina
Código
Professor
Professor Grau Nota Atualização: se quisermos modificar o nome de uma disciplina
Aluno
(por exemplo AS passar a ser DSI) é necessário percorrer toda a
1 04 AS 112 Paulo M 15
1 António MUL tabela e fazer essa modificação para todos os alunos que tivessem
2 José MUL 1 12 SI 112 Paulo M 17 essa disciplina. No caso de falhar a aplicação de modificação em
2 04 AS 112 Paulo M 14
alguma das ocorrências, então teríamos dados inconsistentes.
3 Maria DIR
Normalização-Etapas Normalização-Etapas
Tabela Notas na 1ª Forma Normal 2ª Forma Normal (2FN)
Chave da tabela
Uma tabela está na 2ª Forma normal se está na 1ª Forma
Normal e se todos os atributos que não pertencem à chave
Número Código Código
dependem de toda a chave e não apenas de parte dela.
Disciplina Professor Grau Nota
Aluno Disciplina Professor Número Código Código
Disciplina Professor Grau Nota
Aluno Disciplina Professor
1 04 AS 112 Paulo M 15
Chave e atributos que
1 12 SI 112 Paulo M 17 Atributos que dependem de
dependem da totalidade
parte da chave
da chave
2 04 AS 112 Paulo M 14
18
20/10/2013
Normalização-Exemplo Normalização-Etapas
Problemas na tabela Disciplina: Tabela Disciplina
Chave da tabela
Inserção: não podemos inserir informação sobre um novo
professor se não lhe for atribuída pelo menos uma disciplina (a
chave é o código da disciplina). Código
Disciplina
Disciplina
Código
Professor
Professor Grau
04 AS 112 Paulo M
Remoção: se eliminarmos informação sobre determinada 12 SI 112 Paulo M
disciplina que é dada por um professor que não dá mais
04 AS 112 Paulo M
nenhuma disciplina, então perdemos a sua informação.
Normalização-Etapas Normalização-Etapas
3.ª Forma Normal (3FN) Resultado Final
Uma tabela está na 3ª Forma normal se está na 2ª Forma
Tabela Aluno Tabela Aluno_Disciplina
Normal e se todos os atributos que não pertencem à chave
não dependem de outros atributos não chave. Número
Aluno
Nome Curso Número
Aluno
Código
Disciplina
Nota
Código
Disciplina
Código
Professor Grau 1 António MUL 1 04 15
Disciplina Professor
2 José MUL 1 12 17
Os restantes atributos
atributos que 3 Maria DIR
constituem a tabela 2 04 14
dependem da chave
Professor
Tabela Disciplina Tabela Professor
Código Código Código Código Código Código
Disciplina Professor Grau Disciplina Professor Grau
Disciplina Professor Professor Disciplina Professor Professor
04 AS 112 112 Paulo M 04 AS 112 112 Paulo M
12 SI 112 118 João L 12 SI 112 118 João L
03 LP 118 03 LP 118
19
20/10/2013
Desnormalizar
A desnormalização consiste no processo de,
conscientemente, se abdicar de informação
totalmente normalizada por motivos que se prendem
com performance e complexidade dos dados.
Os objetivos do processo de normalização são:
Performance: Uma BD completamente normalizada é
composta por um número elevado de tabelas. Quando
realizamos uma consulta, o tempo de resposta, pode ser
demasiado elevado;
Necessidade de apresentar um modelo de dados mais
simples ao utilizador.
Redução da extensão dos comandos SQL.
20