140 likes | 280 Views
Modelo Relacional. Professor Edson Emílio Scalabrin telefone: 0xx41-330-1786 e-mail: scalabrin@ppgia.pucpr.br download : http://www.ppgia.pucpr.br/~scalabrin. Modelo Relacional. Objetivo introduzir os principais conceitos do modelo de dados relacional. Modelo Relacional.
E N D
Modelo Relacional ProfessorEdson Emílio Scalabrintelefone: 0xx41-330-1786e-mail: scalabrin@ppgia.pucpr.brdownload: http://www.ppgia.pucpr.br/~scalabrin
Modelo Relacional • Objetivo • introduzir os principais conceitos do modelo de dados relacional
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 SISTEMA ANALÍTICO PROJETOBOTTOM-UP PROJETOTOP-DOWN
Tabela Produto Chave_produto Descrição Marca Categoria Preço Compra Preço Venda Tabela Loja Chave_loja endereço nome Tabela Venda Chave_venda Chave_produto Chave_loja quantidade nota data Modelo Relacional • Definição: Representa os dados como uma coleção de tabelas.
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 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.
Tabela Produto Chave_produto Descrição Marca Categoria Preço Compra Preço Venda Tabela Loja Chaves estrangeiras Chave_loja endereço nome Tabela Venda Chave_venda Chave_produto Chave_loja quantidade nota data 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.
Primeira Forma Normal Segunda Forma Normal Terceira Forma Normal Aumenta as restrições Diminui o desempenho 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.
NãoSatisfaz 1FN Tabela Pessoa id_pessoa nome contato Brigadeiro Franco 233-3932 paulo@hotmail.com Satisfaz 1FN Tabela Pessoa id_pessoa nome endereço telefone email 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
Não Satisfaz 2FN chave primária: id_pessoa, conta id_pessoa nome endereço conta endereço_agência saldo agência os campos dependem apenas de parte da chave primária, alguns apenas de conta outros apenas de id_pessoa Satisfaz 2FN chave primária: id_pessoa id_pessoa nome endereço conta chave primária: conta conta saldo agência endereço_agência 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.
o endereço da agência não depende da conta, mas da agência. id_pessoa nome endereço conta conta saldo agência endereço_agência Não Satisfaz 3FN conta saldo agência Satisfaz 3FN agência endereço_agência 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.
Chave estrangeira Chave primária Tabela Pessoa id_pessoa nome endereço id_empresa Tabela Empresa id_empresa nome_da_empresa endereço 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)
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 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.
3a FORMA NORMAL 1a FORMA NORMAL 2a FORMA NORMAL Redução no volume de dados e aumento da consistência Desempenho na leitura 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.
LEITURA ESCRITA 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.