Escolar Documentos
Profissional Documentos
Cultura Documentos
Desenho Físico
Implementar uma base de dados, usando
Oracle ou ... 4.1 Desenhar relações base para o SGBD
- nome da relação
Desenho Físico de uma base de dados: - uma lista de atributos simples
processo de produzir uma descrição da implementação da - a chave primária, e as chaves alternadas e estrangeira, se houver
base de dados; descrever estruturas de armazenamento e métodos - restrições de integridade para as chaves estrangeiras identificadas
de acesso
No dicionário de dados, para cada atributo:
- o seu domínio, consistindo de tipo de dado, comprimento e qualquer
Etapa 4 Traduzir o modelo de dados lógico global para um SGBD outra restrição
- valor por defeito, opcional
Produzir um esquema de base de dados relacional para o modelo
- se o atributo guarda valores null
de dados lógico global que possa ser implementado usando um
SGBD - se o atributo é derivado, e se sim como é calculado
1 2
1
11/23/2022
3 4
2
11/23/2022
5 6
3
11/23/2022
5.3 Escolher a organização óptima de ficheiros para cada relação 5.4 Considerar a introdução de redundância controlada
Heap, Hash, Indexado Sequencial ou Arvore
Para determinar se, introduzindo redundância de forma
Documentar a escolha de ficheiros controlada, relaxando as regras de normalização, melhorará o
desempenho do sistema.
Dissemos que:
Escolher indexes secundários
Normalização é o procedimento de decidir que atributos devem
Determinar se são necessários indexes secundários para o permanecer juntos numa relação
bom desempenho do sistema Um dos conceitos básicos da teoria relacional é que agrupamos
Documentar a escolha de indexes atributos numa relação porque há uma dependência funcional entre eles.
O resultado da normalização é o desenho lógico da base de
dados, que é estruturalmente consistente e tem um mínimo de
redundância
Dra Otilia F. da Graça 7 Dra Otilia F. da Graça 8
7 8
4
11/23/2022
Diz-se que o desenho de uma base de dados normalizado não Quando se combinam duas relações numa única relação onde a
providencia processamento com máxima eficiência (?) nova relação está ainda normalizada, mas contém mais nulls que
as relações originais, estamos a refinar ou a desnormalizar.
Consequentemente, pode haver circunstâncias onde é necessário aceitar perder-
se os benefícios da normalização a favor do desempenho (quando?) Se o desempenho é insatisfatório e uma relação tem uma baixa
taxa de actualização e muito alta taxa de queries,
Outros factores devem ser considerados:
desnormalização pode ser uma opçãoviável.
desnormalização torna a implementação mais complexa
desnormalização muitas vezes sacrifica a flexibilidade
desnormalização pode aumentar a velocidade no acesso, mas
tornar lenta as actualizações.
9 10
5
11/23/2022
• Considerar duplicar atributos ou juntar relações 5.5 Estimar requisitos de espaço de disco
Duplicar certos atributos ou juntar relações para reduzir o número Estimar a quantidade de espaço de disco necessário para a base de
de junções requeridas para executar uma query. dados
Isto é, estimar o espaço de disco necessário para suportar a implementação da
Não existem regras fixas para determinar quando desnormalizar base de dados na armazenagem (storage) secundária.
relações. Depende do SGBD e do hardware usado para suportar a base de dados.
Normalmente, a estimativa é baseada no tamanho de cada tupla e no número de
Outras situações que podem ser consideradas desnormalização: tuplas na relação. Pode-se considerar o crescimento da relação e decidir o
• Combinar relações 1:1 (?) tamanho de disco no futuro, atendendo ao factor crescimento.
• Duplicar atributos não chave nas relações 1:M para reduzir junções (?) Como calcular o tamanho do disco necessário para uma relação? No geral,
• Referenciar tabelas (?) multiplicando o número de tuplas pelo tamanho da tupla
• Duplicar atributos chave estrangeira nas relações 1:M para reduzir junções (?)
o tamanho da tupla é a soma dos tamanhos dos atributos
• Duplicar atributos nas relações M:N para reduzir junções (?)
o tamanho do atributo é determinado pelo seu tamanho e tipo
• Introduzir grupos repetitivos (?)
Dra Otilia F. da Graça 11 Dra Otilia F. da Graça 12
11 12
6
11/23/2022
13 14