Sie sind auf Seite 1von 45

Sistemas de Banco de Dados

Abordagem Relacional
Christiano Otero Avila christiano.avila@ufpel.edu.br

Banco de Dados Abordagem Relacional


Sumrio
Introduo Composio Terminologia Caractersticas Chaves Domnio de coluna Valor vazio Restries de integridade Especificao do BDR Transio dos modelos

Banco de Dados Abordagem Relacional - Introduo


Abordagem de modelagem de dados usada nos sistemas de gerncia de banco de dados do tipo relacional Modelagem a nvel lgico e no conceitual Apresentao de conceitos necessrios compreenso do projeto de bancos de dados relacionais

Banco de Dados Abordagem Relacional - Composio

Banco de Dados Abordagem Relacional - Composio

Fonte: http://www.cadcobol.com/db2image014.jpg

Banco de Dados Abordagem Relacional - Terminologia

Banco de Dados Abordagem Relacional - Terminologia

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

Objetivo primordial de um SGBD


garantir a integridade de dados. Para garantir a integridade de um banco de dados SGBD oferecem o mecanismo de restries de integridade Uma restrio de integridade uma regra de consistncia de dados que garantida pelo prprio SGBD

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

A especificao de um banco de dados relacional


(chamada de esquema do banco de dados) deve conter no mnimo a definio do seguinte: Tabelas que formam o banco de dados Colunas que as tabelas possuem Restries de integridade

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

Identificar as entidades e atributos ou tabelas e campos


pessoa (nome, dta_nasc) endereco (rua, numero, bairro)

Identificar as chaves primrias


codpessoa codendereco

Banco de Dados
Abordagem Relacional - Transio de modelos

Identificar as chaves estrangeiras


Em relacionamentos 1:1 possvel escolher o onde ser criada a chave estrangeira. No caso do exemplo as opes so: Incluir na tabela pessoa, uma coluna/chave, para referenciar o endereo. Por exemplo codendereco. pessoa (codpessoa, nome, data_nasc, codendereco) endereco (codendereco, rua, numero, bairro)

Banco de Dados
Abordagem Relacional - Transio de modelos

Identificar as chaves estrangeiras


Em relacionamentos 1:1 possvel escolher o onde ser criada a chave estrangeira. No caso do exemplo as opes so: Incluir na tabela pessoa uma coluna/chave para referenciar o endereo. Por exemplo codendereco. pessoa (codpessoa, nome, data_nasc, codendereco) codendereco referencia endereco endereco (codendereco, rua, numero, bairro)

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

Simulao para as duas opes:


Pessoas Enderecos

Banco de Dados
Abordagem Relacional - Transio de modelos

Simulao - terceira abordagem:


Fuso de Pessoas e enderecos

Banco de Dados
Abordagem Relacional - Transio de modelos Relacionamento Cardinalidade 1:N

Banco de Dados
Abordagem Relacional - Transio de modelos

Identificar as entidades e atributos ou tabelas e campos


empregado (nome) departamento (nome)

Identificar as chaves primrias


codempregado coddepartamento

Banco de Dados
Abordagem Relacional - Transio de modelos

Identificar as chaves estrangeiras


Em relacionamentos 1:N devemos criar, no lado N, a coluna (CE) que far referncia a CP do lado 1. No caso do exemplo devemos: Incluir na tabela empregado, uma coluna/chave, para referenciar o departamento. Por exemplo coddepto. empregado (codemp, nome, coddepto) coddepto referencia departamento departamento (coddepto, nome)

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

Identificar as entidades e atributos ou tabelas e campos


engenheiro (codigo, nome) projeto (codigo, titulo)

Identificar as chaves primrias


engenheiro.codigo projeto.codigo

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

Das könnte Ihnen auch gefallen