Modelo Relacional

14
1 Modelo Relacional Professor Professor Edson Emílio Scalabrin telefone: 0xx41-330-1786 e-mail: [email protected] download: http://www.ppgia.pucpr.br/~scalabrin

description

Modelo Relacional. Professor Edson Emílio Scalabrin telefone: 0xx41-330-1786 e-mail: [email protected] download : http://www.ppgia.pucpr.br/~scalabrin. Modelo Relacional. Objetivo introduzir os principais conceitos do modelo de dados relacional. Modelo Relacional. - PowerPoint PPT Presentation

Transcript of Modelo Relacional

1

Modelo Relacional

ProfessorProfessor Edson Emílio Scalabrin

telefone: 0xx41-330-1786e-mail: [email protected]

download: http://www.ppgia.pucpr.br/~scalabrin

2

Modelo RelacionalModelo Relacional

ObjetivoObjetivo• introduzir os principais introduzir os principais

conceitos do modelo de dados conceitos do modelo de dados relacionalrelacional

3

Modelo RelacionalModelo Relacional

Sistemas Operacionais: Sistemas Operacionais: Geralmente implementados Geralmente implementados através de banco de dados relacionais.através de banco de dados relacionais.

Sistemas Analíticos: Sistemas Analíticos: Geralmente implementados através Geralmente implementados através de um banco de dados dimensional.de um banco de dados dimensional.

SISTEMA OPERACIONAL SISTEMA ANALÍTICO

PROJETOTOP-DOWN

PROJETOBOTTOM-UP

4

Modelo RelacionalModelo Relacional Definição: Definição: Representa os dados como uma coleção de Representa os dados como uma coleção de

tabelas.tabelas.

Chave_produto Descrição

Tabela Produto

Chave_loja endereçoTabela Loja

Marca Categoria Preço Compra Preço Venda

nome

Chave_venda Chave_produto

Tabela Venda

notaquantidade dataChave_loja

5

RelacionamentoRelacionamento 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.

b

a

23

4loja

venda No modelo relacional os dados do produto não

precisam ser duplicados para cada registro de venda.

Y

X

produto

1

6

Implementação Física do Implementação Física do RelacionamentoRelacionamento

Os relacionamentos são implementados fisicamente através Os relacionamentos são implementados fisicamente através do relacionamento das chaves primárias de cada tabela que do relacionamento das chaves primárias de cada tabela que compõe o relacionamento.compõe o relacionamento.

Chave_produto Descrição

Tabela Produto

Chave_loja endereçoTabela Loja

Marca Categoria Preço Compra Preço Venda

nome

Chave_venda Chave_produtoTabela Venda

notaquantidade dataChave_loja

Chaves estrangeiras

7

Formas NormaisFormas Normais Regras desenvolvidas para:Regras desenvolvidas para:

• Evitar inconsistências lógicas nas operações de Evitar inconsistências lógicas nas operações de atualização das tabelas.atualização das tabelas.

• Evitar redundância na organização das tabelas.Evitar redundância na organização das tabelas.

Primeira Forma Normal

SegundaForma Normal

TerceiraForma Normal

Diminui o desempenho

Aumenta as restrições

8

Primeira Forma Normal – Primeira Forma Normal – 1FN1FN

Definição: 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

id_pessoaid_pessoa nome contatoTabela Pessoa

id_pessoaid_pessoa nome endereçoTabela Pessoa telefone

NãoSatisfaz1FN

Satisfaz 1FN

Brigadeiro [email protected]

email

9

Segunda Forma Normal – Segunda Forma Normal – 2FN2FN

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.

id_pessoaid_pessoa nome endereço conta saldo

Não Satisfaz 2FN

Satisfaz 2FN

agência endereço_agência

os campos dependem apenas de parte da chave primária, alguns apenas de conta outros apenas de id_pessoa

chave primária: id_pessoa, conta

conta saldo agência endereço_agência

id_pessoaid_pessoa nome endereço conta

chave primária: id_pessoa

chave primária: conta

10

Terceira Forma Normal – Terceira Forma Normal – 3FN3FN

Definição: cada tabela deve satisfazer a 2FN e cada atributo não chave primária depende diretamente da chave primária.

Não Satisfaz 3FN

Satisfaz 3FN

endereço_agência

conta saldo agência endereço_agência

id_pessoaid_pessoa nome endereço conta

o endereço da agência não depende da conta, mas da agência.

conta saldo agência

agência

11

IntegridadeIntegridade Devem ser observados dois tipos de integridade:Devem ser observados dois tipos de integridade:

• a) a) Integridade de Entidades (cada tabela deve ter (cada tabela deve ter exatamente uma chave primária)exatamente uma chave primária)

• b) b) Integridade Referencial (cada chave estrangeira deve (cada chave estrangeira deve ser consistente com sua chave primária correspondente)ser consistente com sua chave primária correspondente)

id_pessoa nome endereço id_empresa

id_empresa nome_da_empresa endereço

Tabela Empresa

Tabela Pessoa

Chave estrangeiraChave

primária

12

Integridade ReferencialIntegridade 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.

id_pessoa nome endereço id_empresa

id_empresa nome_da_empresa endereço

Tabela Empresa

Tabela Pessoa

1 Adao YYY 2

2 ZZZZ WWW

2 Eva YYY 2

13

Características do Modelo Características do Modelo RelacionalRelacional

Reduz a redundância das informações armazenadas, diminuindo o Reduz a redundância das informações armazenadas, diminuindo o espaço total gasto para armazenar-las.espaço total gasto para armazenar-las.

Simplifica significativamente as operações de escrita, tanto na Simplifica significativamente as operações de escrita, tanto na inserção de novas informações quanto a alteração de informações inserção de novas informações quanto a alteração de informações existentes.existentes.

Complica as operações de leitura. Quanto mais normalizado for o Complica as operações de leitura. Quanto mais normalizado for o modelo do banco de dados operacional, mais lenta e trabalhosa será modelo do banco de dados operacional, mais lenta e trabalhosa será a operação de leitura.a operação de leitura.

1a FORMANORMAL

2a FORMANORMAL

3a FORMANORMAL

Redução no volume de dados e aumento

da consistência

Desempenho na leitura

14

Modelo Relacional: Modelo Relacional: ConclusõesConclusões

Operação: ESCRITA:Operação: ESCRITA: • Apenas um pequeno número de registros precisa ser alterado. Apenas um pequeno número de registros precisa ser alterado. • Por exemplo, para associar uma nova conta ao usuário os dados do Por exemplo, para associar uma nova conta ao usuário os dados do

usuário não precisam ser recadastrados.usuário não precisam ser recadastrados.

Operação: LEITURA:Operação: LEITURA: • Várias tabelas precisam ser associadas para obter a resposta. Várias tabelas precisam ser associadas para obter a resposta. • Por exemplo, para obter o faturamento total que uma loja obteve Por exemplo, para obter o faturamento total que uma loja obteve

com um dado produto, num dado período. com um dado produto, num dado período.

ESCRITA LEITURA