Buscar

Modelo Relacional de Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
MODELO 
RELACIONAL
2
Modelo Relacional
Banco de Dados Relacional
=
consiste em uma coleção de tabelas
ou relações, cada uma das quais 
com um nome único.
Banco de Dados Relacional
=
consiste em uma coleção de tabelas
ou relações, cada uma das quais 
com um nome único.
2
3
� Tabelas
�Conjunto não ordenado de linhas (tuplas); 
�Cada linha é composta por uma série de campos (valor de 
atributo);
�Cada campo é identificado por um nome de campo (nome de 
atributo);
�O conjunto de campos iguais da tabela formam uma coluna
Modelo Relacional
4
Modelo Relacional
Coluna (atributo)
nome do campo
(nome do atributo)
linha (tupla)
valor do campo
(valor do atributo)
... ... ......
No Matrícula Nome End. Residencial Cargo
01 João Av. 9 de julho,140 Diretor
02 José Rua das Flores, 35 Gerente
03 Maria Al. Casa Branca, 110 Escriturário
05
3
5
Modelo Relacional
� Chaves
�Identificam as linhas de uma tabela e permitem o 
relacionamento entre linhas de várias tabelas.
�Podem ser:
⌧Chaves primárias;
⌧Chaves estrangeiras; e
⌧Chaves alternativas.
6
� Chaves - Chave Primária
�É uma coluna ou uma combinação de colunas cujos valores 
distinguem uma linha das demais dentro de uma tabela. 
�Podem ser:
⌧Chaves únicas; ou
⌧Chaves compostas.
Modelo Relacional
4
7
Modelo Relacional
CódigoEmp Nome CódigoDepto
E3 Paulo D1
E1 Luciana D2
E2 Antonio D1
E4 Lucia D3
Chave Única
CódigoEmp NumDepend Nome Tipo
E1 01 Luis Filho
E1 02 Marta Esposa
E2 01 Ana Esposa
E2 02 Carlos Filho
Chave Composta
8
� Chaves - Chave Estrangeira
�É uma coluna ou uma combinação de colunas, cujos valores 
aparecem necessariamente na chave primária de uma tabela.
�Permite a implementação do relacionamento em um banco de 
dados relacional
Modelo Relacional
5
9
CódigoEmp Nome CódigoDepto
E3 Paulo D1
E1 Luciana D2
E2 Antonio D1
E4 Lucia D3
CodigoDepto Nome
D1 Compras
D2 Vendas
D3 Engenharia
Chave Estrangeira
Modelo Relacional
10
� Chaves - Chave Estrangeira
�Restrições:
⌧Quando for incluída uma nova linha na tabela que contém a 
chave estrangeira;
⌧Quando for alterado o valor da chave primária referenciada 
pela chave estrangeira;
⌧Quando for alterado o valor de uma chave estrangeira;
⌧Quando for excluída uma linha da tabela que contém a chave 
primária referenciada pela chave estrangeira;
Modelo Relacional
6
11
Modelo Relacional
� Chaves - Chave Estrangeira dentro da própria tabela
CodigoEmp Nome CodigoDepto CodEmpGerente
E3 Pedro D1 __
E2 Lucas D1 E3
E1 Marisa D3 E3
Chave estrangeira 
referencia chave primária na 
própria tabela
12
Modelo Relacional
� Chaves - Chave Alternativa
�Quando mais de uma coluna podem servir para distinguir uma 
linha das demais, uma é escolhida chave primária e as demais 
são denominadas chaves alternativas.
CodigoEmp Nome CodigoDepto CPF
E3 Pedro D1 132.121.331-20
E2 Lucas D1 876.346.235-90
E1 Marisa D3 312.692.451-78
Chave alternativa
7
13
Modelo Relacional
� Domínios
�Conjunto de valores ( alfanuméricos, numéricos...) que os 
campos de uma determinada coluna podem assumir. Ex:
⌧números de salas de aula [o conj.de números de 1 a 150, 
inteiros do formato 999]
⌧nomes de alunos [o conj.de nomes possíveis de pessoas, 
formato A(50)]
⌧códigos de disciplinas [o conj.de 3 letras seguidos de um traço 
e de 3 dígitos; formato AAA-999]
14
Modelo Relacional
� Domínios
�Podem ser:
⌧obrigatórios : não são admitidos valores vazios para as colunas.
⌧Opcionais : podem aparecer valores vazios para as colunas.
�Normalmente, chaves primárias são obrigatórias.
8
15
Modelo Relacional
� Restrições de Integridade
Integridade dos dados de 
um Banco de Dados
=
os dados refletem corretamente a 
realidade representada pelo 
banco de dados e são 
consistentes entre si
Integridade dos dados de 
um Banco de Dados
=
os dados refletem corretamente a 
realidade representada pelo 
banco de dados e são 
consistentes entre si
16
Modelo Relacional
� Restrições de Integridade
�Regras de consistência de dados que é garantida pelo próprio 
SGBD:
⌧Integridade de Domínio;
⌧Integridade de Vazio;
⌧Integridade de Chave; e
⌧Integridade Referencial.
9
17
Modelo Relacional
� Restrições de Integridade
�Integridade de Domínio: especificam que o valor de um campo 
deve obedecer a definição dos valores admitidos para a coluna. 
�Integridade de Vazio: através deste tipo de restrição é
especificado se os campos de uma coluna podem ou não ser 
vazios ( se a coluna é obrigatória ou opcional).
18
Modelo Relacional
� Restrições de Integridade
�Integridade de Chave: trata-se da restrição que define que os 
valores da chave primária e alternativa devem ser únicos.
�Integridade Referencial: define que os valores dos campos que 
aparecem em uma chave estrangeira devem aparecer na chave 
primária da tabela referenciada.
10
19
Modelo Relacional
� Restrições de Integridade
�Restrições Semânticas: não são automaticamente controladas 
pelo SGBD; o programador deve escrever procedimentos que 
garantam tais integridades. Ex:
⌧Um empregado não pode ter um salário maior que seu superior 
imediato;
20
Modelo Relacional
� Especificação de Banco de Dados Relacional
�Chamada de Esquema do Banco de Dados, deve conter no 
mínimo:
⌧Tabelas que formam o banco de dados;
⌧Colunas que as tabelas possuem; e
⌧Restrições de integridade.
11
21
Modelo Relacional
� Esquema do Banco de Dados
NOMETABELA (nomes das colunas)
<nome da coluna ch. estrangeira> referencia <nome da tabela>
Ex:
DEPARTAMENTO (CodigoDepto, Nome)
EMPREGADO (CodigoEmp, Nome, CodigoDepto)
CodigoDepto referencia DEPARTAMENTO
22
Mapeamento entre Modelos
Engenharia Reversa 
de BD Relacional
Projeto Lógico 
de BD Relacional
Modelo ER
( nível conceitual)
Modelo Relacional
( nível lógico)
12
23
Mapeamento ER - Relacional
� Regras:
� obter um banco de dados que permita a eficiência das 
instruções de consulta e alteração do banco; e
� obter um banco de dados simplificado, no que diz respeito ao 
desenvolvimento e manutenção das aplicações.
24
� Para isso:
� Evitar junções: ter os dados necessários a uma consulta 
em uma única linha;
� Diminuir o número de chaves:
Cliente (CodCliente, Nome, Endereço, CEP,Telefone)
Ou
Cliente (CodCliente, Nome)
ClienteEnder (CodCliente, Endereco, CEP, Telefone)
CodCliente referencia Cliente
� Evitar campos opcionais :
CGC – Nome Fantasia
CPF - RG
Mapeamento ER - Relacional
13
25
� Passos para a transformação de um modelo ER para o 
modelo Relacional:
� tradução inicial de entidades e respectivos atributos;
� tradução de relacionamentos e respectivos atributos.
Mapeamento ER - Relacional
26
� Mapeamento das Entidades
� Cada entidade é traduzida para uma tabela.
� Cada atributo da entidade define uma coluna da tabela.
� Os atributos identificadores da entidade correspondem às colunas 
que compõem a chave primária da tabela.
Mapeamento ER - Relacional
CLIENTE 
Código
NomeData 
Nascimento
Endereço
Esquema Relacional Correspondente:
Pessoa ( CodCliente, Nome, Endereço, DataNasc)
14
27
� Mapeamento dos Nomes de atributos
� Nomes de Colunas devem ser curtos;
� Nomes de colunas não devem conter espaços em branco;
� Não é necessário utilizar o nome da tabela para compor o nome 
de uma coluna, com exceção da chave primária. 
Exemplo:
Nome do Cliente NomeCliente Nome
Codigo do Cliente Codigo CodigoCliente
CodCliente
CodigoCli
Mapeamento ER - Relacional
28
� Mapeamento dos Relacionamentos : determinado pelas cardinalidades 
mínima e máxima das entidades envolvidas nos relacionamentos.
� Três possibilidades:
⌧tabela própria : relacionamentos n para n;
⌧coluna (s) adicional (is) dentro de uma das tabelas : 
relacionamentos n para 1 ou 1 para n; e
⌧fusão das tabelas relacionadas em uma só : relacionamentos 1 para 
1.
Mapeamento ER - Relacional
15
29
� Mapeamento Relacionamentos – 1:1
� quando as duas entidades tem participação opcional
Inserção dos atributos em uma das tabelas
Mapeamento ER - RelacionalHOMEM MULHER
NomeCódigo
(0,1)(0,1)
Código Nome
Data
Regime
Casamento
30
� Mapeamento Relacionamentos – 1:1
Dentro da Entidade Mulher 
Mulher ( CodigoMul, Nome CodigoHom, Data, Regime)
CodigoHom referencia Homem
Homem (CodigoHom, Nome)
Criar uma tabela para Casamento
Mulher ( CodigoMul, Nome 
Homem (CodigoHom, Nome)
Casamento (CodigoMul, CodigoHom, Data, Regime)
CodigoMul referencia Mulher
CodigoHom referencia Homem
Mapeamento ER - Relacional
16
31
� Mapeamento Relacionamentos – 1:1
� quando uma entidade tem participação opcional e a outra 
obrigatória
Fusão das tabelas correspondentes as duas entidades
Mapeamento ER - Relacional
CORRENTISTA CARTÃO MAGNÉTICO
NomeCódigo
(0,1)(1,1)
Código Data Expedição
possui
32
� Mapeamento Relacionamentos – 1:1
Todos os atributos em uma só tabela (Correntista)
Correntista (CodCorrent, Nome, CodCartao, DataExp)
Manter as duas tabelas
Correntista (CodCorrent, Nome)
Cartao (CodCartao, DataExp, CodCorrent)
CodCorrent referencia Correntista
Mapeamento ER - Relacional
17
33
� Mapeamento Relacionamentos – 1:1
� quando ambas entidades tem participação obrigatória
Fusão das tabelas correspondentes às duas entidades
Mapeamento ER - Relacional
CONFERENCIA COMISSÃO
NomeCódigo
(1,1)(1,1)
Endereco
Organizada por
Data
34
� Mapeamento Relacionamentos – 1:1
Todos os atributos em uma só tabela (Conferência)
Conferência (CodConf, Nome, Data, EnderComisOrg)
Mapeamento ER - Relacional
DIRETOR DEPARTAMENTO
NomeCódigo
(1,1)(1,1)
Codigo Nome
Dirige
?
18
35
� Mapeamento Relacionamentos – 1:n
Adição de colunas à uma das tabelas
Edifício (CodigoEdif, Endereço)
Apartamento (CodigoEdif, NumeroAp, AreaAp)
CodigoEdif referencia Edificio
Mapeamento ER - Relacional
EDIFÍCIO APARTAMENTOS
EndereçoCódigo
(1,n)(1,1)
Número Área
contém
36
� Mapeamento Relacionamentos – 1:n
Adição de colunas à uma das tabelas
Cliente (CodigoCli, Nome)
Venda (NumNotaF, Data, CodigoCli)
CodigoCli referencia Cliente
Mapeamento ER - Relacional
CLIENTE VENDA
NomeCódigo
(0,n)(1,1)
Número da 
Nota Fiscal Data
contém
19
37
� Mapeamento Relacionamentos – n:n
Criação de um tabela própria para o relacionamento
Medico (CRM, Nome)
Paciente (CodPaciente, Nome)
Consulta (CRM, CodPaciente, Data, Hora, Diagnostico)
CRM referencia Medico
CodPaciente referencia Paciente
Mapeamento ER - Relacional
MEDICO PACIENTE
NomeCRM
(1,n)(1,n)
Código Nome
atende
Data
Hora
Diagnóstico
38
Exemplo 1
TIME TÉCNICOCIDADE localiza-se possui
PATROCINADOR
patrocina
JOGO
Time 1
Time 2
realizado
(0,n)
(1,n)
(0,n) (1,1)
(1,1)(1,1)
(1,n) (1,n)
(0,n)
(1,1)
(1,1) (0,n)
TIME
Código (identificador)
nome
ano de fundação
nome do presidente
endereço
PATROCINADOR
Código (identificador)
razão social
nome fantasia
CIDADE
Código (identificador)
nome 
unidade federativa
TÉCNICO
Código (identificador)
nome 
data de nascimento
telefone residencial
telefone celular
JOGO
número (identificador)
data do jogo
gols time 1
gols time 2
20
39
Exercício
RECEITA
MEDICA
VENDA
MEDICAMENTO PERFUMARIA
FABRICANTE
(1,1)
(0,n)
(0,n)
(0,n)
(0,n)
(0,1)
(0,n)
(0,n)
Fabricante (CGC, Nome, Endereco)
Medicamento (Numero, 
NomeComercial,TipoEmbalagem, 
Quantidade,PreçoUnitario, 
Tarja, Formula)
Perfumaria (Numero, Tipo, 
Quantidade, PreçoUnitario)
Venda (NumeroNota, Data, 
NomeCliente) 
ReceitaMedica (CRM, Numero, 
Data)
(1,1)
(0,n)

Outros materiais