Modelo Relacional
Professor Edson Emílio Scalabrin
telefone: 0xx41-330-1786
e-mail: [email protected]
download: http://www.ppgia.pucpr.br/~scalabrin
1
Modelo Relacional
Objetivo
• introduzir os principais
conceitos do modelo de dados
relacional
2
Modelo Relacional

Sistemas Operacionais: Geralmente implementados
através de banco de dados relacionais.

Sistemas Analíticos: Geralmente implementados através
de um banco de dados dimensional.
SISTEMA OPERACIONAL
PROJETO
BOTTOM-UP
SISTEMA ANALÍTICO
PROJETO
TOP-DOWN
3
Modelo Relacional
 Definição: Representa os dados como uma coleção de
tabelas.
Tabela Produto
Chave_produto
Descrição
Tabela Loja
Chave_loja endereço
Marca
Categoria
Preço Compra
Preço Venda
nome
Tabela Venda
Chave_venda
Chave_produto
Chave_loja
quantidade nota
data
4
Relacionamento

No modelo relacional, as tabelas mantém um relacionamento
entre si. No exemplo abaixo, os registros da tabela venda se
relacionam com os registros das tabelas loja e produto.
venda
No modelo relacional os dados
do produto não precisam ser
duplicados para cada registro
de venda.
1
2
3
produto
4
loja
X
a
b
Y
5
Implementação Física do
Relacionamento

Os relacionamentos são implementados fisicamente através
do relacionamento das chaves primárias de cada tabela que
compõe o relacionamento.
Tabela Produto
Chave_produto
Descrição
Tabela Loja
Chave_loja endereço
Tabela Venda
Chave_venda
Marca
nome
Chave_produto
Categoria
Preço Compra
Preço Venda
Chaves estrangeiras
Chave_loja
quantidade nota
data
6
Formas Normais
 Regras
desenvolvidas para:
• Evitar inconsistências lógicas nas operações de
atualização das tabelas.
• Evitar redundância na organização das tabelas.
Primeira
Forma
Normal
Segunda
Forma
Normal
Terceira
Forma
Normal
Aumenta as restrições
Diminui o desempenho
7
Primeira Forma Normal – 1FN

Definição: o domínio de todos os atributos das
tabelas deve ser atômico (indivisível)
• Cada coluna da tabela deve conter só um tipo de atributos
Tabela
Pessoa
id_pessoa nome contato
Brigadeiro Franco
233-3932
[email protected]
Não
Satisfaz
1FN
Satisfaz
Tabela
Pessoa id_pessoa nome endereço telefone email 1FN
8
Segunda Forma Normal – 2FN

Definição: cada tabela deve satisfazer a 1FN, cada
registro deve ter uma chave primária e cada campo não
chave deve depender totalmente da chave primária.
chave primária: id_pessoa, conta
Não Satisfaz 2FN
id_pessoa nome endereço conta saldo agência endereço_agência
Satisfaz 2FN
chave primária: id_pessoa
id_pessoa nome endereço conta
os campos dependem
apenas de parte da chave
primária, alguns apenas de
conta outros apenas de
id_pessoa
chave primária: conta
conta saldo agência endereço_agência
9
Terceira Forma Normal – 3FN

Definição: cada tabela deve satisfazer a 2FN e cada atributo
não chave primária depende diretamente da chave primária.
id_pessoa nome endereço conta
o endereço da agência não
depende da conta, mas da
agência.
conta saldo agência endereço_agência
conta saldo agência
Não Satisfaz 3FN
Satisfaz
3FN
agência endereço_agência
10
Integridade

Devem ser observados dois tipos de integridade:
• a) Integridade de Entidades (cada tabela deve ter
exatamente uma chave primária)
• b) Integridade Referencial (cada chave estrangeira deve
ser consistente com sua chave primária correspondente)
Chave
primária
Chave
estrangeira
Tabela Pessoa
id_pessoa nome endereço id_empresa
Tabela Empresa
id_empresa nome_da_empresa endereço
11
Integridade Referencial


O valor da chave estrangeira deve existir na tabela empresa ou
ser NULO.
Quando um registro da tabela empresa for excluído, todas os
registros da tabela pessoa que façam referência a esse registro
devem ter o valor da sua chave estrangeira alterado para NULO.
Tabela Pessoa
id_pessoa nome
endereço
id_empresa
1
Adao
YYY
2
2
Eva
YYY
2
Tabela Empresa
id_empresa nome_da_empresa endereço
2
ZZZZ
WWW
12
Características do Modelo
Relacional



Reduz a redundância das informações armazenadas, diminuindo o
espaço total gasto para armazenar-las.
Simplifica significativamente as operações de escrita, tanto na
inserção de novas informações quanto a alteração de informações
existentes.
Complica as operações de leitura. Quanto mais normalizado for o
modelo do banco de dados operacional, mais lenta e trabalhosa será
a operação de leitura.
1a FORMA
NORMAL
Redução no volume
de dados e aumento
da consistência
2a FORMA
NORMAL
3a FORMA
NORMAL
Desempenho
na leitura
13
Modelo Relacional: Conclusões
Operação: ESCRITA:
• Apenas um pequeno número de registros precisa ser
alterado.
• Por exemplo, para associar uma nova conta ao usuário os
dados do usuário não precisam ser recadastrados.
Operação: LEITURA:
• Várias tabelas precisam ser associadas para obter a
resposta.
• Por exemplo, para obter o faturamento total que uma loja
obteve com um dado produto, num dado período.
ESCRITA
LEITURA
14
Download

Modelo Relacional