27
Desenho de Bases de Dados Database Design Carlos Pampulim Caldeira http://www.di.uevora.pt/~ccaldeira Com base em Mullins Cap. 4 Administração de Bases de Dados

Database Design

Embed Size (px)

Citation preview

Desenho de Bases de DadosDatabase Design

Carlos Pampulim Caldeirahttp://www.di.uevora.pt/~ccaldeira

Com base em Mullins Cap. 4

Administração de Bases de Dados

Database Design (1/n)

Database Design (2/n)

Fundamental:•Desenho do modelo de dados•Modelo empresarial•Diagrama do modelo de dados relacional•Diagrama UML

Descoberta de entidades, atributos e relações:

• Lista de verbos, nomes, adjectivos• Busca de múltiplas fontes de informação• Contextualização dos termos

Database Design (3/n)

1. Modelo conceptual

2. Modelo lógico

3. Modelo físico

Database Design (4/n)

Sumário e review dos capítulos:

Database Design (5/n)

Do modelo lógico ao físico:

• Conhecimento aprofundado dos objectos e estruturas físicas do SGBDR• Indexação, integridade referencial, restrições, tipos de dados• DDL (data definition language)

Database Design (6/n)

Database Design (7/n)

Estrutura física

• Não é apenas:– Construir tabelas, colunas– Regras de integridade e índices

• Tabelas atribuídas a ficheiros especiaisTabelas atribuídas a ficheiros especiais

Espaços de Tabelas

MySQL: create database

MySQL: create tablespace

Tablespace: questões

• Cálculo do espaço necessário para armazenar os dados das tabelas

• Tipo de ficheiro

MySQL: tablespace no DD

MySQL: create table 1/3

MySQL: create table 2/3

MySQL: create table 3/3

Mais Opções

MySQL: lista de drops

Database performance design

• A questão fundamental é saber quantos índices criar e de que tipo

• Um índice é um caminho alternativo

• Diferentes tipos de índices

Índice B-Tree

Índice BitMap

‘Male’ 1000011101

‘Female’ 0110000010

‘Unknown’ 0001100000

Resultado: as linhas 1,6,7,8 e 10 indicam pessoas do sexo masculino; as 2, 3 e 9 indicam o sexo feminino e as 4 e 5 como sendo desconhecido.

Outros formas de optimização

• Hashing

• Clustering

• Desnormalização (Mullins desnormalization guide)

– Morte da desnormalização

Técnicas de Desnormalização

Views

São construções virtuais do SGBDR que facilitam o funcionamento de alguns procedimentos, uma view pode ser considerada uma tabela lógica.

• Segurança no acesso aos dados• Simplifica a estrutura dos dados• Renomeia tabelas e colunas• Assegura derivação de dados• Melhora o acesso a alguns dados

MySQL: create view

Views

• Em condições normais: sem subqueries, nem campos calculados, nem campos repetidos e respeitando a(s) chave(s) primária(s) é possível utilizar as views para alterar ou inserir dados na(s) tabela(s) que suportam uma view.

Data Definition Language

É inadmissível que um engenheiro de informática não tenha um bom conhecimento desta linguagem.