Você está na página 1de 31

Projeto de Banco de Dados

Aula 5
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
⮚ Como o SGBD consegue manter o relacionamento entre os
objetos no banco de dados?
⮚ No banco de dados relacional temos o uso de chave primária
e chave estrangeira.
⮚ Um grande impasse nos SGBD´s orientado a objeto é o
encapsulamento, não seria possível relacionamento sem a
implementação externa de um método (Lembrando, estamos
falando de banco de dados e não de aplicação).
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
⮚ Para solucionar esse problema o padrão ODMG permite a
utilização do relacionamento chamado RELACIONAMENTO
BINÁRIO.
⮚ Esse relacionamento é feito por uma inserção do OID na
estrutura de ambos os objetos, fazendo assim com que os
objetos façam referência direta um ao outro, retirando a
necessidade de um chave primária e chave estrangeira.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
⮚ Mas afinal, o que seria um relacionamento de objetos em
banco de dados orientado a objetos?
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
⮚ Antes de entendermos, temos que fazer uma distinção entre
dois tipos de objetos:
• Objetos Simples;
• Objetos Complexos.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
⮚ Objetos Simples:
• É aquele que possui apenas atributos primitivos ou valores
simples.
• Esses atributos podem incluir tipos de dados básicos, como
inteiros, strings, booleanos, entre outros.
• Um objeto simples pode representar uma pessoa com
atributos como nome, idade e sexo, onde todos esses
atributos são tipos de dados simples.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
⮚ Objetos Complexos:
• É aquele que possui atributos que são eles próprios objetos.
• Esses objetos podem ser simples ou complexos e podem estar
relacionados de várias maneiras, como associações,
agregações, ou composições.
• Por exemplo, objeto chamado Pedido, que contém atributos
como data do pedido e status, mas também contém objetos
complexos como Itens do Pedido, que por sua vez têm atributos
como quantidade, preço e produto.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
• Tipos mais comuns:
⮚ Entre objetos de diferentes classes:
o Associação – “usa”;
o Agregação – “é parte de”;
o Composição – “é parte essencial de”.
⮚ Entre classes:
o Generalização – “É um”.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
• Características:
⮚ Nome: descrição dada ao relacionamento (faz, tem,
possui...):
o É usualmente um verbo.

Relação
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
• Características:
⮚ Navegabilidade: indicada por uma seta no fim do
relacionamento:
o Uni ou bidirecional.

Relação
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
• Características:
⮚ Multiplicidade:
o Refere-se ao número de instâncias de uma classe
relacionada com uma instância de outra classe.
o Para cada associação, há duas decisões a fazer,
uma para cada lado da relação
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
• Características:
⮚ Multiplicidade:
o Para cada instância de Professor, podem ocorrer muitos (zero
ou mais) Alunos;
o Por outro lado, para cada instância de Aluno, pode ocorrer
exatamente um Professor.

Relação
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
• Características:
⮚ Multiplicidade:
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Associação – “usa”:
● Um objeto está associado a outro objeto, mas cada
um deles mantém sua própria identidade.
● Cada objeto pode existir de forma independente.
● Por exemplo, um objeto Carro pode estar
associado a um objeto Motor , mas cada um deles
existe independentemente.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Associação – “usa”:
● São representadas como linhas conectando as classes
participantes do relacionamento;
● Podem ter um nome identificando a associação;
● Podem ter uma seta junto ao nome indicando que a associação
somente pode ser utilizada em uma única direção, ou seja,
apenas um objeto poderá acessar o outro.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Associação – “usa”:
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Associação – “usa”:
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Associação – “usa”:

Classes Associativas são


representadas igualmente
como classes comuns

CLASSE ASSOCIATIVA
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Agregação – “é parte de”:
● Ocorre quando um objeto é composto por outros
objetos.
● É frequentemente descrito como uma relação "tem-
um" ou "possui-um".
● Por exemplo, um objeto "Carro" pode ser composto
por objetos "Motor", "Rodas" e "Carroceria".
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Agregação – “é parte de”:
● Implica que os objetos agregados podem existir
independentemente do objeto agregador.
● A destruição do objeto “todo” não implica a
destruição do objeto parte;
● Um objeto pode ser parte componente de vários
outros objetos.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Agregação – “é parte de”:
● É representado por um losango sem o
preenchimento interno, ficando sempre localizado
no lado “todo”.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Agregação – “é parte de”:
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Agregação – “é parte de”:
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Composição – “é parte essencial de”:
● Similar à agregação, porém com uma diferença
crucial: na composição, os objetos agregados
estão intimamente ligados ao objeto agregador.
● Isso significa que os objetos agregados geralmente
não existem independentemente do objeto
principal.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Composição – “é parte essencial de”:
● Por exemplo, um objeto "Casa" pode ser composto por
objetos "Quartos", "Cozinha" e "Banheiro", e esses
quartos só fazem sentido dentro do contexto da casa.
● Se o objeto “todo” é destruído as partes são destruídas
também.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Composição – “é parte essencial de”:
● É representado por um losango com o preenchimento
interno, ficando sempre localizado no lado “todo”.
● O lado “todo” deve ter sempre multiplicidade 1.
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Composição – “é parte essencial de”:
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Espécies:
■ Composição e Composição:
Banco de Dados Orientado a Objetos
● Relacionamento entre objetos:
○ Classe todo:
■ É a classe resultante da agregação ou composição
○ Classe parte:
■ É a classe cujas instâncias formam a agregação ou
composição
○ Exemplo:
■ Apartamento e Garagem: um apartamento pode ter garagem.
● Classe Apartamento: todo ou agregada
● Classe Garagem: parte
Banco de Dados Orientado a Objetos

● Relacionamento entre objetos:


Banco de Dados Orientado a Objetos

● Relacionamento entre objetos:


○ Espécies:
■ Herança/Generalização – “é um”:

Você também pode gostar