Buscar

PBD ppt unidade05 ModelagemOO

Prévia do material em texto

Projeto de Banco de Dados 
Unidade 5: Modelos de Dados 
Orientados a Objetos
Profa. Dra. Marcela Xavier Ribeiro
1
ObjetivosObjetivos
Apresentar conceitos básicos de 
Modelagem de Dados Orientada a g
Objetos;
Usar o diagrama de Classes paraUsar o diagrama de Classes para 
representar o Modelo de Dados.
2
UML (Linguagem de Modelagem 
ifi d )
A UML é li d í b l i i d
Unificada)
A UML é uma linguagem de símbolos visuais  usada 
para modelar sistemas computacionais por meio do 
paradigma de Orientação a Objetos.
3
Diagrama de ClassesDiagrama de Classes
R t ã d d d i l dRepresentação dos dados manipulados e 
armazenados pelos programas de acordo 
com os conceitos de Orientação a Objetos;com os conceitos de Orientação a Objetos;
Notação fortemente baseada no DiagramasNotação fortemente baseada no Diagramas 
Entidade‐Relacionamento;
Deve‐se observar que o Diagrama de Classes, 
privilegia a descrição segundo o paradigmaprivilegia a descrição segundo o paradigma 
Orientado a Objetos.
4
Diagrama de classes
N UML l
Diagrama de classes
– Na UML, uma classe 
possui a notação de um 
retângulo dividido em trêsretângulo dividido em três 
partes: Cliente
1. Nome da Classe;
2. Atributos da Classe;
Atributo
atributo: tipo de dado
atributo: tipo de dado = valor inicial2. Atributos da Classe;
3. Métodos da Classe;
p
Operação
Operação(lista de argumentos):Operação(lista de argumentos): 
tipo do resultadoOpcionais
Fornecidos após um maior 
entendimento do sistema Na fase de análise não é necessárioentendimento do sistema. Na fase de análise não é necessário 
determinar a visibilidade dos atributos 
(public, private, protected)
AtributosAtributos
PessoaAtributo simples
Nome
Endereço: TipoEndereco
(Logradouro)
Atributo Composto
( g )
(Bairro)
(Cidade)
Telefone [0..*]Atributo 
M l i l dMultivalorado
6
Associações
 Uma associação é uma linha cheia entre duas classes. É usada para 
Associações
U a assoc ação é u a a c e a e e duas c asses usada pa a
representar uma propriedade (atributo) da classe.
escrito por 1 * P0 *Livro escrito por 1.. Pessoa0..
rótulorótulo
multiplicidade
A multiplicidade de uma associação indica quantos objetos podem 
participar da mesma. No exemplo, um livro é escrito por uma ou 
mais pessoas Uma pessoa pode escrever zero ou mais livrosmais pessoas. Uma pessoa pode escrever zero ou mais livros.
Quando oculta a multiplicidade é  1..1.
MultiplicidadeMultiplicidade
8
Associações PapeisAssociações Papeis
PessoaLivro
Nome
Endereço: TipoEndereco
(Logradouro)
Título
Editora escrito por 1 *0 * (Logradouro)
(Bairro)
(Cidade)
Telefone [0..*]
Editora
Resumo
Palavras‐Chave [0..*]
escrito por 1..*  
autor
0..
Telefone [0.. ]papel
O papel é geralmente mapeado como atributo. Nesse 
exemplo autor é atributo da classe livro Mas cuidado! No
9
exemplo, autor é atributo da classe livro. Mas cuidado! No 
modelo relacional, o autor é um atributo do 
relacionamento escrito por.
Associações
 Exemplo de associação unária, ou reflexiva:
Associações
e p o de assoc ação u á a, ou e e a
Funcionário
0..*
Nome
Telefone
chefe
0..1
Salario
atualizaSalario ()()
NavegabilidadeNavegabilidade
 N bilid d d i õ d Navegabilidade: descreve como as associações devem ser 
navegadas.
 Unidirecional: só é possível navegar em uma direção.
– Por exemplo, a partir de um Funcionário pode‐se determinar o 
Departamento para o qual ele trabalha, mas o inverso não é 
í lpossível.
 Bidirecional: navega‐se em ambas as direções.
Funcionário Departamentotrabalha0..*
Turma Aluno
alunosturma
11
Aluno
5..1000..*
Classes AssociativasClasses Associativas
Usada para modelar a informação que 
surge a partir da associação de outras g p ç
classes.
Aluno * Disciplina*
matriculado
Matrícula
data
conceito
Classe associativa.
12
Usado quando o conceito 
pertence ao relacionamento 
existente entre as classes.
Classes Associativas
Cl i i b i íd l i
Classes Associativas
• Classes associativas substituídas por classes normais:
• Vale observar que a notação do slide anterior é 
completamente equivalente à seguinte:p q g
Aluno Disciplina
**1..1 1..1Matrícula
• Observe atentamente como ficaram as cardinalidades
Classes AssociativasClasses Associativas
casamento
Casamento
d
Pessoa
0..1esposa data
regime
Nome
Telefone [1..*]
marido
0..1
Salario
atualizar ()()
14
Classes AssociativasClasses Associativas
Banco 0..1 *financia *
feita
Venda Vendedor
Financiamento
dataAprov.
valor
15
GeneralizaçãoGeneralização
Indica relacionamentos de herança de classes.
Notas e comentáriosNotas e comentários
 É possível adicionar comentários e/ou restrições para as 
associações. Exemplo
Turma Aluno
alunos
5 1000..*
turmas
5..1000
O aluno só pode ser incluído na 
turma mediante a aprovação do 
professor.professor.
Associação especiaisAssociação especiais
 A UML define alguns tipos de associação que possuem 
um significado adicional
 C i ã Composição 
 Agregação
 A composição é uma associação que indica um 
relacionamento PARTE‐TODO.  Exemplos
 Mão (todo) – Dedos (parte)
 Polígono (todo) – Vértices (parte)
 Tabuleiro (todo) – Casas (parte) Tabuleiro (todo)  Casas (parte)
ComposiçãoComposição
 Composição
 É indicada com um losango cheio na classe que representa o todo.
1..*
PARTE TODO
 Algumas regas devem ser obedecidas para se definir uma 
composição
 1 – Um objeto da classe PARTE deve “pertencer” a um e somente 
um objeto da classe TODO
 2 – O objeto da classe TODO é totalmente responsável pela 2  O objeto da classe TODO é totalmente responsável pela 
criação e remoção de seus objetos partes .
ComposiçãoComposição
 Exemplos
1..*
PedidoCompraItemPedido
 Não é preciso marcar a multiplicidade do lado da classe 
TODO pois esta será sempre 1..1 p p
Agregação
 A agregação é também uma associação que representa 
Agregação
g g ç ç q p
um relacionamento PARTE‐TODO, porém de maneira 
mais relaxada:   não são aplicadas regras como na 
Composição.
 Não tem praticamente nenhum valor semântico 
adicional com relação às associações simples. 
 Evite usar!
 Porém, se você a vir em algum diagrama, terá uma 
idéi d t tidéia do que se trata. 
Associações especiais
 Agregação. Notação
Associações especiais
g g ç ç
PARTE TODO1..*
Correspondência DER paraCorrespondência DER para 
Diagrama de Classes
 As entidades e relacionamentos são representados por 
meio de classes;
 O l i ã d i õ Os relacionamentos são mapeados para associações;
 O diagrama de classes deve ser feito em três etapas:
1 Incluir somente o nome das entidades (nome das1. Incluir somente o nome das entidades (nome das 
classes);
2. Incluir os atributos; 
3. Incluir as operações das classes.  As operações não 
fazem parte do MER.
23
Exemplo de  um Diagrama ER para
b h duma base chamada Empresa
logradouro cidade
nroe
end
cidade
estado
nrod locais
nome N 1
Departamentotrabalha_em
nomed
gerencia
N 1
1 1
nroempssalario
Empregado
datainicio
gerencia
tem
1
M
supervisiona
1
N controla
1
Dependentes
N
Trabalha em
horas
N
nomedepen
N
nroproj
Projeto
parentesco descricao
Diagrama ER com notação (min,max) 
bpara a base Empresa
logradouro cidade
nroe
end
cidade
estado
nrod locais
nome (1,1) (4,N)
Departamentotrabalha_em
nomed
gerencia
(1,1) (4,N)
(0,1) (1,1)
nroemps
(0 N)
salario
Empregado
datainicio
gerencia
tem
(0,N)
( )
supervisiona(0,N)
(0,1) controla
(0,N)
( )
(1,N)
Dependentes
(1,1)
Trabalha em
horas
(1,N)
nomedepen
(1,1)
nroproj
Projeto
parentesco descricao
Diagrama de Classes UML para a base 
Empresa
EMPREGADO DEPARTAMENTO
NroE
Nome
End: TipoEnd
(Logradouro)
NroD
NomeD
Locais [1..*]
Salario
Trabalha_Em4..* 1..1
1..1 0..1(Logradouro)
(Cidade)
(Estado)
Salario
Salario
nroEmps
adicionarEmpregado
...
1..1 0..1
GERENCIA
DataInicio* mudarSalario
...
Controla
1..1
*
1..*
1 *
supervisionado
supervisor 0 1
1..1
PROJETO
NroD
NomeD
*
TRABALHA_EM
horas
1..supervisor 0..1
DEPENDENTE
NomeDepen NomeD
Locais [1..*]
Salario
nroEmps
NomeDepen
Parentesco
...
adicionarEmpregado
...
(PK) Chave primária
(WK) Chave da  Entidade Fraca 
Considerações FinaisConsiderações Finais
Mais sobre UML, consultar:
– http://www.uml.org/p // g/
– Grady Booch, James Rumbaugh, Ivar 
Jacobson UML Guia do Usuário EditoraJacobson, UML Guia do Usuário, Editora 
Campus, 2000
27

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes