Buscar

Unidade II - Traçando modelos 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 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
Traçando modelos de dados
PUC Minas – Unidade Barreiro
Curso Sistemas de Informação
Bancos de Dados – Unidade II
Profº. Palhares – agosto de 2014
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 2
Bibliografia Básica:
• NAVATHE, Shamkant B., ELSMARI, Ramez.
Sistemas de Banco de dados. Cap. 7:
Modelagem de dados usando o modelo
Entidade-relacionamento (ER). 6ª edição.
São Paulo: Addison Wesley, 2011.
• Vide outras referências no plano de ensino e no planejamento da
disciplina.
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 3
Recordando conceitos
Esquema em Banco de Dados
� é a descrição do banco de dados. Descreve 
a forma como o banco de dados está 
estruturado e as regras que deve seguir
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 4
Recordando conceitos
Instância
� “a coleção de informações armazenadas no 
banco de dados em um determinado 
instante” (KORTH)
� é a fotografia do banco de dados
� muitas vezes nos referimos a ocorrências 
como instância 
A arquitetura de três níveis e a A arquitetura de três níveis e a 
modelagem conceitualmodelagem conceitual
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 6
Modelo Conceitual 
� Constituem uma importante fase do projeto
de banco de dados
� É a representação dos requisitos funcionais
existentes no mini mundo da aplicação ou
do usuário, levantado durante a fase de
análise
� Inclui entidades, relacionamentos e
restrições
2
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 7
Modelo Conceitual 
No Modelo Conceitual de Banco 
de Dados não existe nenhuma 
preocupação com 
implementação física
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 8
NAVATHE, pág. 43
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 9
Conceitos
Entidade:
� é tudo aquilo que a organização deseja 
guardar informação a respeito
� Possui vida independente
� Ex.: empregado, automóvel, cargo, 
departamento, etc..
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 10
Conceitos
Atributo:
� identificam ou qualificam uma entidade
Podem ser:
� simples ou compostos; mono ou 
multivalorados; armazenados ou derivados; 
obrigatórios ou com possibilidade de serem 
nulos; complexos.
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 11
Conceitos
Tipo de Entidade:
� um conjunto de entidades que têm os 
mesmos atributos
� entity type
� entity set
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 12
Conceitos
Atributo chave: 
� chave
� chave candidata
� chave primária
� chaves alternativas
3
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 13
Conceitos
Domínio: 
� especifica o tipo de dado
� conjunto de valores aos quais estão 
associados cada atributo
� discreto ou não
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 14
Símbolos
ENTIDADE
ENTIDADE
FRACA
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 15
Símbolos
ATRIBUTO
ATRIBUTO CHAVE
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 16
Símbolos
ATRIBUTO 
MULTIVALORADO
ATRIBUTO
COMPOSTO
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 17
Símbolos
ATRIBUTO 
DERIVADO
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 18
Relacionamento
É uma associação entre duas ou mais 
entidades com determinado significado
4
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 19
Relacionamento
e1
e2
e3
e4
d1
d2
d3
r1
r2
r4
r3
Empregado X Departamento
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 20
Relacionamento
� Cardinalidade
� Grau
� Totalidade
� Relacionamentos recursivos
� Atributos de relacionamento
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 21
Símbolos
RELACIONAMENTO
RELACIONAMENTO
IDENTIFICADOR
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 22
Entidade Fraca
� Entidade Fraca: É uma entidade, cuja 
existência depende da existência de 
outra entidade
� Relacionamento identificador: associa 
uma entidade forte a uma entidade 
fraca. 
� Uma entidade fraca tem sempre uma 
participação total no relacionamento
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 23
Símbolos
1 N
TOTALIDADE
CARDINALIDADE
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 24
5
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 25
Outros Conceitos
� Especialização
� Generalização 
� Especialização (disjunto / sobreposto)
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 26
NAVATHE, pág. 77
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 27
Exemplos
� exemplificar com conjuntos 
generalização/especialização
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 28
Conceitos
Especialização:
� disjunto total (disjoint, total)
� disjunto parcial (disjoint, partial)
� Sobreposto total (overlapping, total)
� Sobreposto parcial (overlapping, partial)
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 29
NAVATHE, pág. 84
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 30
Semântica
� alguns problemas:
Empregado - Trabalha - Departamento
Empregado - Gerencia - Departamento
(exemplificar com traçado no quadro)
6
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 31
Exercícios: modelo conceitual
� Vide exercícios propostos na pasta 
Material Didático/Trabalhos, do SGA
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 32
Projeto Lógico
� Acompanhe e anote as aulas expositivas 
referentes a este tópico 
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 33
Exercícios: modelo lógico
� Os exercícios para modelos no projeto 
lógico são os mesmos propostos para o 
modelo conceitual e se encontram na 
pasta Material Didático/Trabalhos, do 
SGA
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 34
Mapeamento de Diagrama de 
Classes para o DER
� O processo é semelhante ao
mapeamento físico de bancos de dados
� MER apresenta dados e relacionamentos
entre eles
� Modelo de classes apresenta objetos (dados
e comportamento)
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 35
Mapeamento de Diagrama de 
Classes para o DER
� Via de regra, classes são mapeadas para
Entidades
� Muito freqüentemente não existe
correspondência unívoca entre classes e
Entidades
� Pode ser que várias classes sejam mapeadas
em uma única Entidade
� Ou uma classe seja mapeada em várias
Entidades
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 36
Mapeamento de Diagrama de 
Classes para o DER
� Um atributo será mapeado para um ou 
mais atributos
� Atributos derivados não são mapeados 
DER
� Atributos multivalorados serão mapeados 
para uma nova Entidade 
7
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 37
Mapeamento de Diagrama de 
Classes para o DER
Cliente CPF
Nome: string
Telefone: string
Logradouro: string
Nascimento: data
Idade: integer
CEP: string
Número: string
Dígito: string
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 38
Mapeamentode Diagrama de Classes para o DER
Cliente {id, cpf, nome, telefone, logradouro, nascimento, idCEP}
CEP {idCEP, número, sufixo}
Cliente {id, cpf, nome, telefone, logradouro, nascimento, cep}
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 39
Mapeamento de Diagrama de 
Classes para o DER
� No exemplo anterior, poderíamos ter vários 
atributos em uma só coluna (cpf e dv)
� Um atributo em várias colunas (endereço: 
comercial e particular)
� Um atributo em uma nova Entidade 
(telefone) 
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 40
Mapeamento de Diagrama de 
Classes para o DER
� Associações
� Utiliza conceito de chave-estrangeira
trabalha
Departamento Empregado
Siga: string
Nome: string
Matrícula: string
CPF: string
Nome: string
Endereço: string
CEP: string
Projeto
Nome: string
Verba: decimal
0..1 1
gerenciado
1 *
* *
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 41
Mapeamento de Diagrama de 
Classes para o DER
� Considere duas classes C1 e C2, e que
essas classes foram mapeadas em duas
Entidades E1 e E2
� Associação um-para-um
� Quando há uma associação entre C1 e C2
de conectividade um para um, deve se
adicionar uma chave-estrangeira em uma
das relações pra referenciar a chave-
primária da outra Entidade
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 42
Mapeamento de Diagrama de 
Classes para o DER
� Como escolher onde ficar a chave estrangeira?
� A associação é obrigatória em ambos os extremos
(tanto faz)
� A associação é opcional em em ambos os extremos
(tanto faz)
� A associação é opcional em apenas um dos
extremos (adiciona-se na opcional)
� Muitas classes com associação um-para-um
podem ser mapeadas em uma única Entidade
8
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 43
Mapeamento de Diagrama de 
Classes para o DER
� Associações de conectividade um para
muitos
� Adiciona-se a chave estrangeira na Entidade
que representa a classe com muitas
ocorrências
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 44
Mapeamento de Diagrama de 
Classes para o DER
� Associações de conectividade muitos para
muitos
� Um relacionamento deve ser criado
� Considera-se duas associações um para
muitos
� A chave da Entidade de associação pode ser
uma chave composta ou uma coluna de
implementação
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 45
Mapeamento de Diagrama de 
Classes para o DER
� Agregações
� Uma agregação é uma forma especial de
associação. Portanto os mesmos procedimento
de associações serão empregados
� Diferenças apenas de como o SGBDR deverá
agir: se o objeto todo for removido, os objetos
partes também o serão? (utilizar gatilhos)
� Se o objeto todo for restaurado, restaura-se
também os objetos partes (gatilhos)
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 46
Mapeamento de Diagrama de 
Classes para o DER
� Associações reflexivas
1
Empregado
Matrícula: string
CPF: string
Nome: string
Endereço: string
CEP: string
supervisor
Empregado {matricula, nome, Endereço, Cep, idSupervisor}
1
1
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 47
Mapeamento de Diagrama de 
Classes para o DER
� Associações ternárias (ou n-nárias)
� Age-se conforme visto nas binárias: um
Relacionamento para representar a
associação é criado; chaves estrangeiras de
todas elas são colocadas neste
Relacionamento
1
1
1
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 48
Mapeamento de Diagrama de 
Classes para o DER
� Classes Associativas
1
1
1
0..11
Empregado Projeto
Matrícula: string
CPF: string
Nome: string
Endereço: string
CEP: string
Nome: string
Verba: decimal
Ferramenta
Nome: string
Descrição: decimal* *
trabalho utilização
Cargahorária
remuneração
datauso
9
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 49
Mapeamento de Diagrama de 
Classes para o DER
� Generalização
C
CCC
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 50
Mapeamento de objetos para 
o modelo relacional
� Generalização
� Uma Entidade para cada classe da hierarquia
� Uma Entidade para toda a hierarquia
� Uma Entidade para cada classe concreta da
hierarquia
� (esta parte será vista a pós o estudo do
modelo Relacional)
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 51
Exercícios mapeamento de 
diagrama de classes para o ER
� Os exercícios para esta parte serão os 
mesmos propostos para o modelo 
conceitual/lógico e se encontram na 
pasta Material Didático/Trabalhos, do 
SGA
PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 52
Fim da Unidade II

Outros materiais

Perguntas Recentes