Beruflich Dokumente
Kultur Dokumente
Abordagem Relacional
Christiano Otero Avila christiano.avila@ufpel.edu.br
Fonte: http://www.cadcobol.com/db2image014.jpg
Banco de Dados
Abordagem Relacional - Caractersticas
Linhas de uma tabela no esto ordenadas Valor de campo atmico / monovalorado Acesso por quaisquer critrios envolvendo os
campos de uma ou mais linhas Programadores escrevem consultas sem considerar a existncia de caminhos de acesso
Caminho de acesso: estrutura auxiliar (ndice, cadeia de ponteiros,...) acelera a recuperao de registros por determinados critrios evita a leitura exaustiva de todos registros de um arquivo
Banco de Dados
Abordagem Relacional - Chaves
Conceito usado para especificar restries de
integridade bsicas de um SGBD relacional Trs tipos: chave primria chave alternativa chave estrangeira
Banco de Dados
Abordagem Relacional - Chave Primria
Banco de Dados
Abordagem Relacional - Chave Primria
Fonte: http://www.cadcobol.com/db2image014.jpg
Banco de Dados
Abordagem Relacional - Chave Estrangeira
Uma coluna ou uma combinao de colunas, cujos valores aparecem necessariamente na chave primria de uma tabela Mecanismo que permite a implementao de relacionamentos em um banco de dados relacional
Banco de Dados
Abordagem Relacional - Chave Estrangeira
Banco de Dados
Abordagem Relacional - Chave Estrangeira
Validao pelo SGBD
Quando da incluso de uma linha na tabela que contm a chave estrangeira o valor da chave estrangeira deve aparecer na coluna da chave primria referenciada Quando da excluso de uma linha da tabela que contm a chave primria referenciada pela chave estrangeira na coluna chave estrangeira no deve aparecer o valor da chave primria que est sendo excluda
no permitir excluso excluir em cascata (perigo)
Banco de Dados
Abordagem Relacional - Chave Estrangeira
Chave estrangeira na mesma tabela
Banco de Dados
Abordagem Relacional - Chave Estrangeira
Chave estrangeira na mesma tabela
Banco de Dados
Abordagem Relacional - Chave Alternativa
Mais de uma coluna ou combinaes de colunas podem servir para distinguir uma linha das demais Uma das colunas (ou combinao de colunas) escolhida como chave primria As demais colunas ou combinaes so denominadas chaves alternativas
Banco de Dados
Abordagem Relacional - Chave Alternativa
Banco de Dados
Abordagem Relacional - Domnio de Coluna
Conjunto de valores que podem aparecer em uma coluna (atributo)
Banco de Dados
Abordagem Relacional - Valor Vazio
Um valor de campo pode assumir o valor especial vazio
(null em ingls) Colunas nas quais no so admitidos valores vazios so chamadas de colunas obrigatrias Colunas nas quais podem aparecer campos vazios so chamadas de colunas opcionais Abodagem relacional todas colunas que compem a chave primria devem ser obrigatrias demais chaves podem conter colunas opcionais
Nulo (null) = ausncia de valor Nulo <> zero <> branco
Banco de Dados
Abordagem Relacional - Restries de Integridade
Banco de Dados
Abordagem Relacional - Restries de Integridade
Integridade de domnio
Restries deste tipo especificam que o valor de um campo deve obedecer a definio de valores admitidos para a coluna (o domnio da coluna) Atravs deste tipo de restrio de integridade especificado se os campos de uma coluna podem ou no ser vazios (se a coluna obrigatria ou opcional). Como j foi mencionado, campos que compem a chave primria sempre devem ser diferentes de vazio. Trata-se da restrio que define que os valores da chave primria e alternativa devem ser nicos.
Integridade de vazio
Integridade de chave
Banco de Dados
Abordagem Relacional - Restries de Integridade
Integridade referencial
a restrio que define que os valores dos campos que aparecem em uma chave estrangeira devem aparecer na chave primria da tabela referenciada.
As restries dos tipos anteriormente especificados devem ser garantidas automaticamente por um SGBD relacional, isto , no deve ser exigido que o programador escreva procedimentos para garanti-las explicitamente.
Banco de Dados
Abordagem Relacional - Especificao do BDR
Banco de Dados
Abordagem Relacional - Especificao do BDR
Banco de Dados
Abordagem Relacional - Especificao do BDR
Banco de Dados
Abordagem Relacional - Transio de modelos De conceitual (Modelo ER) para lgico-relacional
Banco de Dados
Abordagem Relacional - Transio de modelos De conceitual (Modelo ER) para lgico-relacional Cada entidade traduzida para uma tabela Nomes de colunas curtos e sem espaos Ex: os nomes de atributos data de nascimento e data de admisso
foram traduzidos para os nomes de colunas DataNasc e DataAdm respectivamente
Banco de Dados
Abordagem Relacional - Transio de modelos Entidades fracas
Banco de Dados
Abordagem Relacional - Transio de modelos Relacionamento Cardinalidade 1:1
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos
Incluir na tabela endereco uma coluna/chave para referenciar a pessoa. Por exemplo codpessoa.
pessoa (codpessoa, nome, data_nasc) endereco (codendereco, rua, numero, bairro, codpessoa) codpessoa referencia pessoa
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos Relacionamento Cardinalidade 1:N
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos
Simulao:
Empregado Departamento
Banco de Dados
Abordagem Relacional - Transio de modelos Relacionamento Cardinalidade N:N
Banco de Dados
Abordagem Relacional - Transio de modelos
Banco de Dados
Abordagem Relacional - Transio de modelos O relacionamento N:N no pode ser construdo diretamente no modelo lgico-relacional. necessrio criar uma tabela para efetivar o relacionamento. No caso, podemos criar a tabela "atuacao" A CP da tabela "atuacao" deve ser a combinao das CP das tabelas
"engenheiro"e "projeto"
atuacao (codeng, codproj, funcao) codeng referencia engenheiro codproj referencia projeto
Estrutura Alternativa
atuacao(codatuacao, codeng, codproj, funcao) codeng referencia engenheiro codproj referencia projeto
Banco de Dados
Abordagem Relacional - Transio de modelos
Podemos "redesenhar" o modelo ER (conceitual)
1 Engenheiro
Possui
N Atuacao funcao
N
Refere-se
1 Projeto
Banco de Dados
Abordagem Relacional - Transio de modelos
Simulao:
engenheiro atuacao projeto