Buscar

unidade 2 cap 2 - MER t- ¦ópicos avan- ¦çados v3

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 9 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 9 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 9 páginas

Prévia do material em texto

1
Tópicos:
a) MER - Representação alternativa
b) Relacionamento Ternário
c) MER Estendido – Agregação
d) Partições de Conjuntos de Entidades
e) Introdução ao Modelo Relacional
f) Exercícios Propostos 
Modelo Conceitual E-R - parte 2
Relacionamentos ternários envolvem três entidades. 
2UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Um empregado pode gerenciar opcionalmente 1 setor.
Um setor é gerenciado por exatamente 1 empregado.
MER - Representação alternativa
Relacionamento parcialRelacionamento total
Um empregado trabalha para exatamente 1 setor (1,1).
Em um setor trabalham 1 ou mais empregados (1,N).
gerencia
(1,1) (0,1)
Empregado Setor
trabalha em
(1,1)(1,N)
2
3UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
MER - Representação alternativa
Exercícios:
1) Construa o MER 
na representação 
equivalente de um 
original (Chen).
2) Faça uma lista 
das diferenças de 
notação.
3) Faça uma lista 
das semelhanças 
de notação.
4) Considerando as 
diferenças, quais 
podem ser 
consideradas 
melhores que as 
originais.
Fonte: [Elmasri & Navathe 2005]
4UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Relacionamento Ternário Modelo Entidades Relacionamentos
O relacionamento ternário pode ser visualizado como um conjunto de 
triplas (ei, ej, ek) que deve ser entendido como uma extensão da classe 
de relacionamentos binários.
CARDINALIDADES DE UM RELACIONAMENTO TERNÁRIO:
1. Escolha uma entidade e pergunte: 
Para um par de instancias das duas outras entidades quantas 
instâncias podemos ter ?
2. Coloque a resposta na entidade escolhida.
3. Repita as atividades 1 e 2 circulando pelas outras duas entidades.
Exemplo:
Professor-Aluno-Disciplina 
Devido a dificuldade de se encontrar 
um nome adequado para o relacionamento 
ele foi nomeado “P-A-D”.
• Dado um professor e um aluno, pode 
existir um número qualquer de disciplinas 
ministradas (por esse professor para 
esse aluno).
• Dado um aluno em uma disciplina, só 
há um professor associado a esse par de 
instancias.
• Dado uma disciplina e um professor, 
pode existir um número qualquer de 
alunos matriculados. 
Professor Aluno
1 N
Disciplina
M
P - A - D
3
5UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Modelo Entidades Relacionamentos
RELACIONAMENTO TERNÁRIO e AGREGAÇÃO:
Exemplo:
Desenvolvedor faz programa utilizando linguagem de programação.
Relacionamento Ternário
Todo desenvolvedor faz algum 
programa e utiliza alguma linguagem.
Desenvolvedor
Linguagem
ProgramaDesenvolvedor
Linguagem
Programa
Nem todo desenvolvedor faz algum 
programa, mas quando faz utiliza 
alguma linguagem.
Todo desenvolvedor que faz ou altera algum programa utiliza apenas uma única linguagem.
Desenvolvedor
Linguagem
Programa
1
N
NN
6UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Modelo Entidades Relacionamentos
CARDINALIDADES DE UM RELACIONAMENTO TERNÁRIO:
Exemplos:
Cliente-Inscrição-Seminario Cliente-Inscrição-Fatura 
Nota: As bolinhas indicam as seguintes restrições:
a) Não há nenhuma inscrição que não pertença a relação “C – S – I”.
b) Pode existir seminário que não pertença a relação “C – S – I”.
c) Pode haver cliente que não pertence a relação “C – S – I”.
Relacionamento Ternário
Cliente Inscrição
1 1
Seminário
1
C - S - I
Cliente Inscrição
1 1
Fatura
1
C - I - F
4
7UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
MER Estendido Modelo Entidades Relacionamentos
AGREGAÇÃO:
• O relacionamento de agregação ocorre quando uma 
entidade se relaciona com um grupamento 
completo de duas ou mais entidades relacionadas.
• O MER não permite expressar relacionamentos 
entre relacionamentos.
• Uma agregação pode ser percebida como uma 
entidade de nível mais elevado de abstração.
Exemplo:
Em cada fatura são computados “os usos de 
veículos pelo associado” para a cobrança do mês. 
Observação: Não faz sentido agregações envolvendo relacionamentos 
“1 : N”. Os dois diagramas abaixo são semanticamente equivalentes.
Associado Veículo
usa
N M
Fatura
computa
N
1
E 1 E 2
1 N
E 3
R 2
R 1
E 1 E 2
1 N
E 3
R 2
R 1
8UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
MER Estendido Modelo Entidades Relacionamentos
GENERALIZAÇÃO E ESPECIALIZAÇÃO: (partições de conjuntos de 
entidades)
As partições em categorias acontecem pela necessidade de que as 
categorias possuírem atributos próprios; exemplos: 
Cliente: � Correntista Não correntista
Conta: � Platina Ouro Prata
Veículo: � Pequeno Médio Grande
Conta
Poupança InvestimentoCorrente
idConta
dataCliente
idTipo
diaAbertura
Cliente
P.JurídicaP.Física
idCliente
nome
endereço
telefone
cpf
limite
taxaJuros
cgc
pessoaContato
tipo cliente
idTipo
limite
taxaJuros
idTipo
diaAbertura
taxaJuros
tipo conta
5
9UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Relações e instâncias Introdução ao Modelo Relacional
Exemplo de uma relação de grau 8, com o seu esquema. 
A tabela representa os dados do conjunto de entidades veículos.
veículo = { placa, modelo, ar, portas, passageiros, ano, preço, foto }
Colunas 
(atributos)
Linhas
(tuplas)
DEFINIÇÕES: O modelo relacional é representado por tabelas de valores.
Cada tabela, denominada relação, é organizada em linhas e colunas.
O número de colunas da tabela define o grau da relação.
O esquema de uma relação é descrito pelo seu identificador e pelo 
conjunto de nomes de suas colunas.
A instância de uma relação em um determinado momento é formada por 
todas as tuplas que pertencem a relação naquele momento.
10UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Definições Introdução ao Modelo Relacional
Sejam os atributos: A1, A2, …, An ���� R = (A1, A2, …, An ) é uma relação.
Formalmente: dados os conjuntos de domínios: D1, D2, …. Dn
uma relação R é um subconjunto do produto cartesiano dos domínios. 
R CCCC D1 x D2 x … x Dn
Então, uma relação (tabela) é um conjunto de n-tuplas 
(a1, a2, …, an) onde cada ai Є Di
Atributos são os nomes das colunas. (ex. compromisso)
Domínio de um atributo especifica o tipo de valores que o atributo pode 
receber. (ex. “compromisso” ���� valores da moeda com 3 inteiros e duas casas 
decimais; “nomeAssociado” ���� nomes de pessoas no formato String[60] ).
idPlano nomePlano compromisso valorHoraMS valorHoraFS
OD Ocasional Driver 65,00 9,00 12,25
EVP$50 Extra Value $50 50,00 8,10 11,03
EVP$75 Extra Value $75 75,00 8,10 11,03
EVP$125 Extra Value $125 125,00 8,10 11,03
EVP$250 Extra Value $ 250 250,00 7,65 10,41
6
11UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
DataBase Introdução ao Modelo Relacional
Relação: ASSOCIADO
Relação: ESCOLHA
Relação: PLANO
• O banco de dados relacional deve ser percebido como um conjunto 
formado por muitas tabelas (nada mais que tabelas).
A ordenação das tuplas não é relevante.
A ordenação das colunas não é relevante.
PARA UM CONJUNTO A ORDEM É IRRELEVANTE.
idAssociado idPlano dataEscolha
ASSO22 OD 10/01/11
ASSO65 EVP$125 10/01/09
ASSO10 OD 10/01/02
ASSO20 EVP$50 10/01/03
ASSO60 OD 10/01/04
ASSO40 EVP$125 10/01/09
Associado Plano
escolhe
N 1
idAssociado
nomeAssociado
dataAssociado
cidade
dataEscolha idPlano
nomePlano
compromisso
valorHoraMS
valorHoraFS
idAssociado nomeAssociado dataAssociado cidade
ASSO40 Valdir Pereira 10/01/07 campos
ASSO65 Beth Carvalho 10/01/09 rio
ASSO22 Nara Leão 10/01/11 vitóriaASSO10 Manuel Santos 10/01/02 rio
ASSO60 João Saldanha 10/01/04 alegrete
ASSO20 Elsa Soares 10/01/03 rio
idPlano nomePlano compromisso valorHoraMS valorHoraFS
OD Ocasional Driver 65,00 9,00 12,25
EVP$50 Extra Value $50 50,00 8,10 11,03
EVP$75 Extra Value $75 75,00 8,10 11,03
EVP$125 Extra Value $125 125,00 8,10 11,03
EVP$250 Extra Value $ 250 250,00 7,65 10,41
12UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Keys - chaves Banco de Dados Relacional
Seja uma chave K ⊆⊆⊆⊆ na relação R:
K é uma “super chave” de R se os valores assumidos por K são suficientes 
para identificar de forma única (impar) cada tupla (linha da tabela).
Exemplo de “super chaves” da relação Associado:
{idAssociado}, {nomeAssociado} e {idAssociado, nomeAssociado} 
A super chave K é uma chave candidata se ela for “mínima” (nenhum 
atributo pode ser eliminado sem destruir a propriedade de imparidade).
Exemplo: {idAssociado} é uma chave candidata para Associado.
Uma das chaves candidatas é escolhida para ser a chave primaria (PK).
Termo relacional formal Significado equivalente
relação Tabela
tupla Linha ou registro de uma tabela
atributo Coluna ou campo
chave primária Identificador único
domínio Grupo fonte de valores
7
13UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Keys - chaves Banco de Dados Relacional
A chave estrangeira: (FK - Foreign Key)
É um atributo de uma relação que
precisa aparecer em outra relação.
Exemplo: idAssociado e idPlano
são chaves estrangeiras para a relação Escolha.
_____________________________________________________
Um BD relacional é um conjunto de tabelas que o usuário “percebe”.
Propriedades das relações:
1. Uma tabela é formada pelo mesmo tipo de tuplas.
2. Não há tuplas duplicadas.
3. As tuplas não seguem uma ordenação.
4. Os atributos não seguem ordenação.
5. Os valores dos atributos são atômicos.
6. As tuplas possuem um identificador único chamado chave primária (PK).
Associado Plano
escolhe
N 1
idAssociado
nomeAssociado
dataAssociado
cidade
dataEscolha idPlano
nomePlano
compromisso
valorHoraMS
valorHoraFS
14UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Keys - chaves Banco de Dados Relacional
Restrições de Integridade (regras gerais):
São regras que devem ser satisfeitas pelas relações.
1. Restrição de Integridade da Chave: Uma chave candidata não pode ter 
o mesmo valor em duas tuplas distintas da mesma relação.
2. Restrição de Integridade da Entidade: A chave primária de qualquer 
relação não pode assumir o valor “nulo”.
3. Restrição de Integridade Referencial: uma relação que faz referência 
a outra relação (através do conceito de Chave Estrangeira) deve 
referenciar a uma tupla existente naquela relação.
8
15UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
MAPEAMENTO ENTRE OS MODELOS 
PROJETO CONCEITUAL PROJETO FÍSICO
Relacionamentos 1 : 1
Criar apenas uma tabela representando a 
entidade “forte”. Incluir os atributos da 
entidade “fraca” como atributos na entidade 
“forte”.
Relacionamentos 1 : N
Criar duas tabelas (relações) representando 
cada entidade da associação. Colocar como 
chave estrangeira a PK (chave primária) do 
lado “1” (um) na tabela do lado “N” (muitos).
Relacionamentos N : M
Criar, em adição, uma tabela para 
representar essa associação. Essa tabela 
deverá possuir ambas as PKs (chaves 
primárias) das duas entidades associadas.
MER - Esquema Relacional
Associado Plano
escolhe
N 1
idAssociado
nomeAssociado
dataAssociado
cidade
dataEscolha idPlano
nomePlano
compromisso
valorHoraMS
valorHoraFS
MER
ESQUEMA RELACIONAL
Associado = {idAssociado, nomeAssociado, 
dataAssociado, cidade}
Plano = { idPlano, nomePlano, compromisso, 
valorHoraMS, valorHoraFS }
Escolhas = { idPlano, idAssociado, dataEscolha}
16UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
MAPEAMENTO ENTRE OS MODELOS 
PROJETO CONCEITUAL PROJETO FÍSICO
Relacionamentos 1 : 1
Criar apenas uma tabela representando a 
entidade “forte”. Incluir os atributos da 
entidade “fraca” como atributos na entidade 
“forte”.
Relacionamentos 1 : N
Criar duas tabelas (relações) representando 
cada entidade da associação. Colocar como 
chave estrangeira a PK (chave primária) do 
lado “1” (um) na tabela do lado “N” (muitos).
Relacionamentos N : M
Criar, em adição, uma tabela para 
representar essa associação. Essa tabela 
deverá possuir ambas as PKs (chaves 
primárias) das duas entidades associadas.
MER - Esquema Relacional
Associado Plano
escolhe
N 1
idAssociado
nomeAssociado
dataAssociado
cidade
dataEscolha idPlano
nomePlano
compromisso
valorHoraMS
valorHoraFS
MER
Associado = { idAssociado, nomeAssociado, 
dataAssociação, cidade }
Plano = { idPlano, idAssociado, dataEscolha, nomePlano, 
compromisso, valorHoraMS, valorHoraFS }
ESQUEMA RELACIONAL
9
17UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Exercícios
Represente o diagrama abaixo através de relacionamentos binários.
Cidade Distribuidor
N N
Produto
1
C - D - P
Construa o MER para a descrição parcial:
1. Um “grupo” de seguradoras de automóveis deseja um sistema que guarde o histórico de 
sinistros (com data, local, tipo [colisão, roubo] e descrição) em automóveis para calcular o valor 
do prémio/risco de automóveis. Os clientes podem possuir um certo número de automóveis. 
Dos automóveis [compacto, médio e grande] deve-se guardar a placa, chassis, renavan, 
fabricante, modelo e ano.
18UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
BIBLIOGRAFIA
C. J. Date, “Introdução a Sistemas de Bancos de Dados” – 8ª Edição”, 
Editora Campus, 2003.
Peter Rob and Carlos Coronel, Database Systems: Design Implementation 
and Management, 5th Edition, Course Technology, 2001.
Setzer, Valdemar; Banco de Dados – conceitos, modelos, gerenciadores, 
projeto lógico e projeto físico; Editora Edgard Blücher Ltda., SP, 1986.
Silberschatz, Avi; Korth, H; Sudarshan, S; Database System Concepts, 
6th Edition, McGraw-Hill, 2005.
Chen, Peter; The Entity-Relationship Model - Toward a Unified View 
of Data, ACM Transactions on Database Systems 1 (1): 9–36. (March 
1976). 
R. Elmasri & S. Navathe, Fundamentals of Database Systems (6th 
Edition) Pearson/Addison Wesley, 2007

Outros materiais