SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Banco de Dados I
Projeto de Banco de Dados e o
Modelo E-R – Parte 2
Fabricio Breve
Aspectos de projeto de entidade-
relacionamento
• As noções de um conjunto de entidades e
um conjunto de relacionamento não são
precisas, e é possível definir um conjunto
de entidades e os relacionamentos entre
eles de diversas maneiras
Uso de conjunto de entidades
versus atributos
• Considere o conjunto:
– Id_funcionario, nome_funcionario,
numero_telefone
• numero_telefone pode ser uma entidade com seus
próprios atributos: numero_telefone e local
(escritório, casa, etc...)
• Tratar telefone como entidade modela melhor uma
situação em que se pode querer manter
informações extras sobre o telefone
– local, tipo, pessoas que o compartilham
Uso de conjunto de entidades
versus atributos
• O que constitui um atributo?
• O que constitui um conjunto de entidades?
– Depende!
• Qual a estrutura da empresa real?
• Qual o significado associado?
Uso de conjunto de entidades versus
conjunto de relacionamentos
• Nem sempre é claro se um objeto é mais bem
expresso por um conjunto de entidades ou por
um conjunto de relacionamento
– Em nosso exemplo do banco, o empréstimo poderia
ser uma relação entre cliente e agência
• É satisfatório se um cliente puder fazer apenas um
empréstimo por agência e um empréstimo pertencer a
apenas um cliente
• Caso contrário, é problemático
Conjunto de relacionamentos binários
versus enários
• Alguns relacionamentos ternários são
melhor representados por dois
relacionamentos binários
– Exemplo: relacionamento ternário pais,
relacionando um filho aos seus pais
Convertendo relacionamentos não
binários para a forma binária
n Em geral, qualquer relacionamento não binário pode ser representado usando
relacionamentos binários criando um conjunto de entidades artificial.
l Substitua R entre os conjuntos de entidades A, B e C por um conjunto de
entidades E três conjuntos de relacionamento:
1. RA, relacionando E e A
2. RB, relacionando E e B
3. RC, relacionando E e C
l Crie um atributo identificador especial para E
l Inclua quaisquer atributos de R em E
l Para cada relacionamento (ai , bi , ci) em R,
1. crie uma nova entidade ei no conjunto de entidades E
2. inclua (ei , ai ) em RA
3. inclua (ei , bi ) em RB
4. inclua (ei , ci ) em RC
Cardinalidades de mapeamento afetam
o projeto ER
n Podemos tornar a data de acesso um atributo de conta, em vez de um
atributo de relacionamento, se cada conta puder ter apenas um cliente
l Ou seja, o relacionamento de conta para cliente é muitos-para-um ou,
equivalentemente, cliente para conta é um-para-muitos
Conjunto de Entidades Fracos
• É um conjunto de entidades que não tem atributos suficientes para
formar uma chave primária
• A existência de um conjunto de entidades fraco depende da
existência de um conjunto de entidades identificador (ou
proprietário)
– Ele precisa se relacionar com o conjunto de entidades identificador
através de um conjunto de relacionamento um-para-muitos total, do
identificador para o conjunto de entidades fraco
– Relacionamento identificador descrito usando um losango duplo
• O discriminador (ou chave parcial) de um conjunto de entidades
fraco é o conjunto de atributos que distingue entre todas as
entidades de um conjunto de entidades fraco.
• A chave primária de um conjunto de entidades fraco é formada pela
chave primária do conjunto de entidades forte em que o conjunto de
entidades fraco é dependente de existência, mais o discriminador
do conjunto de entidades fraco.
Conjuntos de Entidades Fracos
n Representamos um conjunto de entidades fraco por retângulos duplos.
n Sublinhamos o discriminador de um conjunto de entidades fraco com
uma linha tracejada.
n número_pagamento — discriminador do conjunto de entidades
pagamento.
n Chave primária para pagamento — (número_empréstimo,
número_pagamento)
Conjuntos de Entidades Fracos
n Nota: A chave primária do conjunto de entidades forte não é
explicitamente armazenada com o conjunto de entidades fraco, já
que ela está implícita no relacionamento identificador.
n Se número_empréstimo fosse explicitamente armazenado,
pagamento poderia se tornar uma entidade forte, mas, então, o
relacionamento entre pagamento e empréstimo seria duplicado
por um relacionamento implícito definido pelo atributo
número_empréstimo comum a pagamento e empréstimo.
Especialização
• Processo de projeto de cima para baixo: Designamos
subagrupamentos dentro de um conjunto de entidades que são
distintivos de outras entidades no conjunto.
• Esses subagrupamentos se tornam conjuntos de entidades de
nível inferior que possuem atributos ou participam em
relacionamentos que não se aplicam ao conjunto de entidades
de nível superior.
• Representada por um componente triângulo rotulado ISA (por
exemplo, cliente “é uma” pessoa).
• Herança de atributo — Um conjunto de entidades de nível
inferior herda todos os atributos e a participação de
relacionamento do conjunto de entidades de nível superior ao
qual está vinculado.
Exemplo de Especialização
Generalização
• Combina vários conjuntos de entidades que
compartilham os mesmos recursos em um
conjunto de entidades de nível superior.
• A especialização e a generalização são simples
inversões uma da outra; são representadas em
um diagrama ER da mesma maneira.
• Os termos especialização e generalização são
usados indistintamente.
Restrições em generalizações
• Restrição sobre que entidades podem ser membros de um
determinado conjunto de entidades de nível inferior
– Definido por condição
• Exemplo: Todos os clientes com mais de 65 anos são membros do conjunto
de entidades cidadão_senior; cidadão_senior ISA pessoa.
– Definido pelo usuário
• Restrição sobre se ou não as entidades podem pertencer a mais de
um conjunto de entidades de nível inferior dentro de uma única
generalização.
– Disjuntos
• uma entidade pode pertencer a não mais que um conjunto de entidades de
nível inferior
• Indicados no diagrama ER pela inscrição de disjunto ao lado do triângulo
ISA
– Superpostos
• um conjunto de entidades pode pertencer a mais de um conjunto de
entidades de nível inferior
Restrições em generalizações
• Restrição de integralidade — Especifica
se ou não uma entidade no conjunto de
entidades de nível superior precisa
pertencer a pelo menos um dos conjuntos
de entidades de nível inferior dentro de
uma generalização
– total: Uma entidade precisa pertencer a um
conjunto de entidades de nível inferior
– parcial: Uma entidade não precisa pertencer
a um conjunto de entidades de nível inferior
Agregação
• Considere o relacionamento ternário trabalha_em, que
vimos anteriormente
• Suponha que queremos registrar gerentes para tarefas
realizadas por um funcionário em uma agência
Agregação
• Os conjuntos de relacionamento trabalha_em e gerencia
representam informações superpostas
– Cada relacionamento gerencia corresponde a um relacionamento
trabalha_em
– Entretanto, alguns relacionamentos trabalha_em podem não
corresponder a nenhum relacionamentos gerencia
• Portanto, não podemos descartar o relacionamento trabalha_em
• Elimine essa redundância através da agregação
– Trate relacionamento como uma entidade abstrata
– Permite relacionamentos entre relacionamentos
– Abstração de relacionamento em nova entidade
• Sem introduzir redundância, o diagrama a seguir representa:
– Um funcionário trabalha em um cargo específico em uma agência
específica
– Um funcionário, agência ou combinação de cargos pode ter um gerente
associado
Agregação
Exemplo de
diagrama ER para
uma instituição
bancária
Resumo dos símbolos usados na
notação ER (Silberschatz)
Resumo dos símbolos (cont.)
Notações ER alternativas
Notação BRModelo
muitos-para-muitos
um-para-um
muitos-para-um
* Indicação de Cardinalidade mínima e máxima
Referências Bibliográficas
• SILBERSCHATZ, Abraham; KORTH,
Henry F.; SUDARSHAN, S. Sistema de
Banco de Dados. 5ª Ed. Campus, 2006
• PONTI JR, Moacir. Banco de Dados:
Introdução - Notas de Aula. 2006.

Mais conteúdo relacionado

Semelhante a Banco Dados I - Modelo ER Parte 2

Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Modelagem
ModelagemModelagem
Modelagemprsimon
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfssuser69006f
 
Modelagem de dados usando o mer parte 3
Modelagem de dados usando o mer parte 3Modelagem de dados usando o mer parte 3
Modelagem de dados usando o mer parte 3Elaine Cecília Gatto
 
Modelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de DadosModelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de Dadosinfo_cimol
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de DadosFabio Abel
 
ATRIBUTOS.pptx
ATRIBUTOS.pptxATRIBUTOS.pptx
ATRIBUTOS.pptxfabio20718
 
Modelo de Entidades e Relacionamentos
Modelo de Entidades e RelacionamentosModelo de Entidades e Relacionamentos
Modelo de Entidades e RelacionamentosRobson Silva Espig
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Aula 03 generalização e especialização
Aula 03   generalização e especializaçãoAula 03   generalização e especialização
Aula 03 generalização e especializaçãoRoitier Gonçalves
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefRodrigo Kiyoshi Saito
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 

Semelhante a Banco Dados I - Modelo ER Parte 2 (20)

Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Modelagem
ModelagemModelagem
Modelagem
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdf
 
Bd 02 mer
Bd 02 merBd 02 mer
Bd 02 mer
 
Modelagem de dados usando o mer parte 3
Modelagem de dados usando o mer parte 3Modelagem de dados usando o mer parte 3
Modelagem de dados usando o mer parte 3
 
Aula bd i 05 04-21
Aula bd i 05 04-21Aula bd i 05 04-21
Aula bd i 05 04-21
 
Modelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de DadosModelo Conceitual - Banco de Dados
Modelo Conceitual - Banco de Dados
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
ATRIBUTOS.pptx
ATRIBUTOS.pptxATRIBUTOS.pptx
ATRIBUTOS.pptx
 
Modelo de Entidades e Relacionamentos
Modelo de Entidades e RelacionamentosModelo de Entidades e Relacionamentos
Modelo de Entidades e Relacionamentos
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Aula 03 generalização e especialização
Aula 03   generalização e especializaçãoAula 03   generalização e especialização
Aula 03 generalização e especialização
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Aula 02 mer
Aula 02   merAula 02   mer
Aula 02 mer
 

Mais de Tecksantos

Mais de Tecksantos (6)

Aula1
Aula1Aula1
Aula1
 
Sql02
Sql02Sql02
Sql02
 
Sql01
Sql01Sql01
Sql01
 
Curso de banco de dados
Curso de banco de dadosCurso de banco de dados
Curso de banco de dados
 
Bd aula5
Bd aula5Bd aula5
Bd aula5
 
Bd aula4
Bd aula4Bd aula4
Bd aula4
 

Banco Dados I - Modelo ER Parte 2

  • 1. Banco de Dados I Projeto de Banco de Dados e o Modelo E-R – Parte 2 Fabricio Breve
  • 2. Aspectos de projeto de entidade- relacionamento • As noções de um conjunto de entidades e um conjunto de relacionamento não são precisas, e é possível definir um conjunto de entidades e os relacionamentos entre eles de diversas maneiras
  • 3. Uso de conjunto de entidades versus atributos • Considere o conjunto: – Id_funcionario, nome_funcionario, numero_telefone • numero_telefone pode ser uma entidade com seus próprios atributos: numero_telefone e local (escritório, casa, etc...) • Tratar telefone como entidade modela melhor uma situação em que se pode querer manter informações extras sobre o telefone – local, tipo, pessoas que o compartilham
  • 4. Uso de conjunto de entidades versus atributos • O que constitui um atributo? • O que constitui um conjunto de entidades? – Depende! • Qual a estrutura da empresa real? • Qual o significado associado?
  • 5. Uso de conjunto de entidades versus conjunto de relacionamentos • Nem sempre é claro se um objeto é mais bem expresso por um conjunto de entidades ou por um conjunto de relacionamento – Em nosso exemplo do banco, o empréstimo poderia ser uma relação entre cliente e agência • É satisfatório se um cliente puder fazer apenas um empréstimo por agência e um empréstimo pertencer a apenas um cliente • Caso contrário, é problemático
  • 6. Conjunto de relacionamentos binários versus enários • Alguns relacionamentos ternários são melhor representados por dois relacionamentos binários – Exemplo: relacionamento ternário pais, relacionando um filho aos seus pais
  • 7. Convertendo relacionamentos não binários para a forma binária n Em geral, qualquer relacionamento não binário pode ser representado usando relacionamentos binários criando um conjunto de entidades artificial. l Substitua R entre os conjuntos de entidades A, B e C por um conjunto de entidades E três conjuntos de relacionamento: 1. RA, relacionando E e A 2. RB, relacionando E e B 3. RC, relacionando E e C l Crie um atributo identificador especial para E l Inclua quaisquer atributos de R em E l Para cada relacionamento (ai , bi , ci) em R, 1. crie uma nova entidade ei no conjunto de entidades E 2. inclua (ei , ai ) em RA 3. inclua (ei , bi ) em RB 4. inclua (ei , ci ) em RC
  • 8. Cardinalidades de mapeamento afetam o projeto ER n Podemos tornar a data de acesso um atributo de conta, em vez de um atributo de relacionamento, se cada conta puder ter apenas um cliente l Ou seja, o relacionamento de conta para cliente é muitos-para-um ou, equivalentemente, cliente para conta é um-para-muitos
  • 9. Conjunto de Entidades Fracos • É um conjunto de entidades que não tem atributos suficientes para formar uma chave primária • A existência de um conjunto de entidades fraco depende da existência de um conjunto de entidades identificador (ou proprietário) – Ele precisa se relacionar com o conjunto de entidades identificador através de um conjunto de relacionamento um-para-muitos total, do identificador para o conjunto de entidades fraco – Relacionamento identificador descrito usando um losango duplo • O discriminador (ou chave parcial) de um conjunto de entidades fraco é o conjunto de atributos que distingue entre todas as entidades de um conjunto de entidades fraco. • A chave primária de um conjunto de entidades fraco é formada pela chave primária do conjunto de entidades forte em que o conjunto de entidades fraco é dependente de existência, mais o discriminador do conjunto de entidades fraco.
  • 10. Conjuntos de Entidades Fracos n Representamos um conjunto de entidades fraco por retângulos duplos. n Sublinhamos o discriminador de um conjunto de entidades fraco com uma linha tracejada. n número_pagamento — discriminador do conjunto de entidades pagamento. n Chave primária para pagamento — (número_empréstimo, número_pagamento)
  • 11. Conjuntos de Entidades Fracos n Nota: A chave primária do conjunto de entidades forte não é explicitamente armazenada com o conjunto de entidades fraco, já que ela está implícita no relacionamento identificador. n Se número_empréstimo fosse explicitamente armazenado, pagamento poderia se tornar uma entidade forte, mas, então, o relacionamento entre pagamento e empréstimo seria duplicado por um relacionamento implícito definido pelo atributo número_empréstimo comum a pagamento e empréstimo.
  • 12. Especialização • Processo de projeto de cima para baixo: Designamos subagrupamentos dentro de um conjunto de entidades que são distintivos de outras entidades no conjunto. • Esses subagrupamentos se tornam conjuntos de entidades de nível inferior que possuem atributos ou participam em relacionamentos que não se aplicam ao conjunto de entidades de nível superior. • Representada por um componente triângulo rotulado ISA (por exemplo, cliente “é uma” pessoa). • Herança de atributo — Um conjunto de entidades de nível inferior herda todos os atributos e a participação de relacionamento do conjunto de entidades de nível superior ao qual está vinculado.
  • 14. Generalização • Combina vários conjuntos de entidades que compartilham os mesmos recursos em um conjunto de entidades de nível superior. • A especialização e a generalização são simples inversões uma da outra; são representadas em um diagrama ER da mesma maneira. • Os termos especialização e generalização são usados indistintamente.
  • 15. Restrições em generalizações • Restrição sobre que entidades podem ser membros de um determinado conjunto de entidades de nível inferior – Definido por condição • Exemplo: Todos os clientes com mais de 65 anos são membros do conjunto de entidades cidadão_senior; cidadão_senior ISA pessoa. – Definido pelo usuário • Restrição sobre se ou não as entidades podem pertencer a mais de um conjunto de entidades de nível inferior dentro de uma única generalização. – Disjuntos • uma entidade pode pertencer a não mais que um conjunto de entidades de nível inferior • Indicados no diagrama ER pela inscrição de disjunto ao lado do triângulo ISA – Superpostos • um conjunto de entidades pode pertencer a mais de um conjunto de entidades de nível inferior
  • 16. Restrições em generalizações • Restrição de integralidade — Especifica se ou não uma entidade no conjunto de entidades de nível superior precisa pertencer a pelo menos um dos conjuntos de entidades de nível inferior dentro de uma generalização – total: Uma entidade precisa pertencer a um conjunto de entidades de nível inferior – parcial: Uma entidade não precisa pertencer a um conjunto de entidades de nível inferior
  • 17. Agregação • Considere o relacionamento ternário trabalha_em, que vimos anteriormente • Suponha que queremos registrar gerentes para tarefas realizadas por um funcionário em uma agência
  • 18. Agregação • Os conjuntos de relacionamento trabalha_em e gerencia representam informações superpostas – Cada relacionamento gerencia corresponde a um relacionamento trabalha_em – Entretanto, alguns relacionamentos trabalha_em podem não corresponder a nenhum relacionamentos gerencia • Portanto, não podemos descartar o relacionamento trabalha_em • Elimine essa redundância através da agregação – Trate relacionamento como uma entidade abstrata – Permite relacionamentos entre relacionamentos – Abstração de relacionamento em nova entidade • Sem introduzir redundância, o diagrama a seguir representa: – Um funcionário trabalha em um cargo específico em uma agência específica – Um funcionário, agência ou combinação de cargos pode ter um gerente associado
  • 20. Exemplo de diagrama ER para uma instituição bancária
  • 21. Resumo dos símbolos usados na notação ER (Silberschatz)
  • 25. Referências Bibliográficas • SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de Dados. 5ª Ed. Campus, 2006 • PONTI JR, Moacir. Banco de Dados: Introdução - Notas de Aula. 2006.