Buscar

Aula5+-Construcao+de+modelos

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 20 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 20 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 20 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

Prévia do material em texto

27/03/2015
1
Construção de modelos 
entidade-relacionamento
Banco de dados 1
Fabrício Nogueira
fabricio.silva@uva.br
RelembrandoRelembrandoRelembrandoRelembrando
• Entidades
• Atributos
• Relacionamentos
• Cardinalidades
• Generalização/Especialização
• Entidade associativa
27/03/2015
2
Propriedades do MERPropriedades do MERPropriedades do MERPropriedades do MER
• É um modelo formal
• Tem poder de expressão limitado
Pessoa
Casamento
Marido Esposa
p1
p3
p7
p8
P1,p3
P3,p6
P5,p5
p2
p4 p6
p5
P6,p8
marido esposa
marido
esposa
marido esposa
Permite
A realidade exige 
restrições de 
integridade
A modelagem nem 
sempre permite 
representar todas as 
restrições.
Propriedades do MERPropriedades do MERPropriedades do MERPropriedades do MER
• É um modelo formal
• Tem poder de expressão limitado
Empregado
Supervisão
Supervisor Supervisionado
e1
e3
e7
e8
e1,e2 E3,e4
e2
e4 e6
e5
E5,e1
Permite
e1,e3
supervisor
supervisionado supervisionado
supervisor
E3,e5
supervisionado
supervisionado
supervisor
27/03/2015
3
Propriedades do MERPropriedades do MERPropriedades do MERPropriedades do MER
• Diferentes modelos podem ser equivalentes
• Dois modelos são equivalentes quando geram o mesmo esquema de 
banco de dados
Médico PacienteConsulta
n n
Médico Paciente
(1,1)
Consulta
(0,n) (0,n) (1,1)
Propriedades do MERPropriedades do MERPropriedades do MERPropriedades do MER
• Diferentes modelos podem ser equivalentes
• Relacionamentos n:m podem ser transformados em entidades
• É possível construir modelos sem relacionamento n:m, porém equivalentes 
aos que usam relacionamento n:m
• Relacionamentos 1:1 podem ser eliminados, unificando-se as 
entidades
Empregado Mesa
(1,1) (1,1)
Empregado
Atributos da mesa
27/03/2015
4
Determinando construçõesDeterminando construçõesDeterminando construçõesDeterminando construções
• Entidade, Relacionamento, atributo, ...?
• A escolha não pode ser observando-se o objeto isoladamente
• Depende do contexto
• A decisão pode sofrer alterações durante a modelagem
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributos vs entidade relacionada
Automóvel
Número do chassi
Cor
Automóvel
Número do chassi
Cor
(1,1)
(0,n)
OU
Útil quando se 
pretende manter 
informações extras 
sobre a cor 
(fabricante, data de 
validade, etc)
27/03/2015
5
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributos vs entidade relacionada
• Caso o objeto em discussão tenha atributos, relacionamentos, entidades 
genéricas ou especializadas � Entidade
• Atributo não pode ter atributos
• Atributos não pode estar relacionado a outras entidades
• Atributo não pode ser generalizado/especializado
• Ex.: Cor
• Seria entidade se precisássemos armazenar: fabricante, data de início e fim de uso da 
cor,
• Seria atributo se precisássemos armazenar apenas o valor da cor
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributo vs especialização
• Especializações devem ser usadas quando sabe-se que as entidades 
especializadas possuem propriedades particulares (atributos, 
relacionamentos, generalizações, especializações)
Empregado
Motorista Engenheiro
xt
Nome Código
cnh validade CREA
EmpregadoNome Código
Categoria 
funcional
27/03/2015
6
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributo vs especialização
• Especializações devem ser usadas quando sabe-se que as entidades 
especializadas possuem propriedades particulares (atributos, 
relacionamentos, generalizações, especializações)
Empregado
Homem Mulher
xt
Nome Código
EmpregadoNome Código
sexo
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Entidade relacionada vs especialização
• Uma universidade deseja manter um cadastro de seus alunos e servidores;
• Cada um deles é identificado pela matrícula. Além da matrícula, alguns dados 
de aluno e servidor devem ser mantidos, tais como: nome, endereço e data 
de nascimento;
• Para os alunos, deseja-se manter o nome da escola que o aluno é 
proveniente, bem como o ano de ingresso na universidade;
• Para os servidores, a universidade deseja manter seus cargos.
Atributos comuns a 
aluno e servidor
Atributos 
particulares a aluno
Atributo particular 
a servidor
27/03/2015
7
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Entidade relacionada vs especialização
Pessoa
Servidor Aluno
ct
Nome matrícula
cargo
Data de 
nascimento
endereço
Data de ingresso
Escola secundária
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Entidade relacionada vs especialização
• Modificando a realidade anterior...
• Um aluno pode ingressar várias vezes na universidade para retomar um curso 
trancado, ou ingressar em um novo;
• Um servidor pode ocupar mais de um cargo ao mesmo tempo;
• Cada ocupação de um cargo por um servidor recebe um número que a 
identifica e é necessário saber as datas inicial e final da ocupação.
27/03/2015
8
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Entidade relacionada vs especialização
Pessoa
Ocupação
Aluno
p
Nome matrícula
número
Data de 
nascimento
endereço
Escola secundária
n
1
Data início
Data fim
cargo Data de ingresso
Ingresso
1
n
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Entidade relacionada vs especialização
• Modificando a realidade anterior...
• No novo modelo não há propriedades específicas do servidor para serem 
armazenadas
• Ocupação representa a possibilidade de um servidor possuir mais de um cargo
• Servidor ficou restrito à entidade pessoa
• A entidade ingresso registra os diversos ingressos de um aluno, que continua sendo 
uma especialização de pessoa
27/03/2015
9
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributos opcionais
• A existência de atributos opcionais indicam uma possível modelagem de 
entidades especializadas
EmpregadoNome
Código
CREA CRM
CNH Validade CNH
Tipo de empregado
Empregado
Motorista Engenheiro
xt
Nome Código
cnh validade CREA
Médico
CRM
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributo multivalorado
• Atributo cujos valores podem ter mais de uma ocorrência
Empregado
Nome
Dependente(0,n)
Lançamento pagamento (0,n)
27/03/2015
10
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributo multivalorado
• Indesejados
• SGBDs relacionais não possuem uma representação direta de um atributo multivalorado
• Ex.: Dependente = [Ana, Carla, Pedro, Raul]
• SGBDs relacionaisrepresentam múltiplos valores através de um atributo texto
• Ex.: Telefone = “Ana, Carla, Pedro, Raul”
• Não existe qualquer regra para se obter um nome específico
• Não existe qualquer regra que defina um delimitador entre os dependentes, o exemplo utiliza 
“,”, mas poderia ser “-”, “_”, “ “, etc
• Podem induzir a um erro de modelagem, pois podem ocultar entidades e 
relacionamentos em atributos multivalorados
• Analisando-se a entidade Empregado, percebe-se que dependente pode ter outros atributos 
(nome e data de nascimento). Lançamento pode ter um código e um tipo
Determinando construções Determinando construções Determinando construções Determinando construções –––– CritériosCritériosCritériosCritérios
• Atributo multivalorado
Empregado
Tipo 
lançamento
Dependente
Nome
matrícula
nome
(1,1)
1
descrição
Pagamentovalor
código
(0,n)
(1,1)
(0,n)
(1,1)
(0,n)
Data de nascimento
27/03/2015
11
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• O modelo deve ser correto
• Não contém erros de modelagem
• Erros sintáticos � Não respeita as regras de construção do modelo
• Ex.: Associação entre atributos, associação relacionamento-atributo, etc
• Erros semâticos � Apesar de obedecer às regras de construção, reflete a realidade de 
forma inconsistente
• Ex.: 
• Atribuir a uma entidade um atributo que deveria ser de outra � Atributo “nome de filial” em 
Cliente ao invés de ser colocado como sendo de Filial
• Usar uma entidade como atributo de outra entidade � Entidade Banco aparece como 
atributo da entidade Cliente
• Usar um número incorreto de entidades em um relacionamento
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• O modelo deve ser completo
• Deve retratar todos os dados presentes no negócio
• Só pode ser verificado por um especialista do domínio � Envolver usuário
• O modelo deve ser livre de redundância
• Deve ser mínimo
• Não deve aparecer no modelo
• Devem ser explicitamente documentadas como redundantes
• Relacionamentos redundantes são os resultantes da combinação de outros 
relacionamentos entre as mesmas entidades
• Não há perda de informação ao eliminá-los
27/03/2015
12
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
Fábrica
Empregado
Departamento
(1,1)
(1,1)
(0,n)
(1,1)
(0,1)
Máquina
Sindicato
(0,n)
(0,n)
(0,n)
(0,n)
(0,n)
(1,1)
(0,n)
(0,n)
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
Departamento Departamento
(1,1) n
código
Quantidade de 
empregados
Código do 
departamento
27/03/2015
13
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• O modelo deve refletir o aspecto temporal
• Certas aplicações exigem que o banco de dados mantenha o histórico de 
alteração de informações
• Dados temporais
• Mudam ao longo do tempo e para os quais o BD deve manter um histórico
• Atributos cujos valores mudam ao longo do tempo
• Ex.: Salário
• Relacionamentos que mudam ao longo do tempo
• Ex.: Alocação de um empregado 
• Não há regra, porém alguns padrões
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• O modelo deve refletir o aspecto temporal
• Atributo temporal. Ex.: Salário
Empregado
Salário
Empregado
Salário
Data valor
Empregado
Salário
Início valor
fim
Apenas a 
informação do 
salário atual
Apenas a 
informação do 
salário atual
Histórico da 
evolução do 
salário
27/03/2015
14
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• O modelo deve refletir o aspecto temporal
• Relacionamento temporal. 1:1 e 1:n � n:n
Empregado Empregado
Mesa
Data
Alocação
Mesa
Alocação
1
1 n
n
Alocação atual 
do empregado Histórico de 
alocações
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• O modelo deve refletir o aspecto temporal
• Relacionamento temporal. 1:1 e 1:n � n:n
Empregado Empregado
Departamento
Data
Lotação
Departamento
Lotação
n
1 n
n
nome nome
Lotação atual 
do empregado Histórico de 
lotações
27/03/2015
15
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• O modelo deve refletir o aspecto temporal
• Relacionamento temporal. n:n� n:n com atributo identificador
Participante Participante
Curso
Data
Inscrição
Curso
Inscrição
n
n n
n
Data
Inscrição de um 
participante em 
um curso em 
dado instante
Inscrição de um 
participante em vários 
cursos ao longo do tempo
Verificação de modeloVerificação de modeloVerificação de modeloVerificação de modelo
• Evitar entidades isoladas
• Entidades que não se relacionam com nenhuma outra
• Podem ocorrer raramente
• Devem ser evitadas
• Exemplo
UF
27/03/2015
16
Estratégias de modelagemEstratégias de modelagemEstratégias de modelagemEstratégias de modelagem
• O modelo não é construído num único passo
• Processo incremental
• Diferentes propostas de modelagem proposta
• Nenhuma proposta é universalmente aceita
• A melhor estratégia depende da fonte de informação a ser 
considerada
• Descrição de dados existentes
• Conhecimento de especialistas do negócio
Estratégias de modelagemEstratégias de modelagemEstratégias de modelagemEstratégias de modelagem
• A partir de descrições de dados existentes
• Modelo para um sistema já existente � Engenharia reversa
• Documentos (pastas, fichas, documentos fiscais, ...)
• Ascendente
• Maior detalhe para mais abstrato
• 1. Atributos
• 2. Entidades
• 3.1 Relacionamentos
• 3.2 Generalizações/Especializações
27/03/2015
17
Estratégias de modelagemEstratégias de modelagemEstratégias de modelagemEstratégias de modelagem
• A partir do conhecimento das pessoas
• Novos sistemas sem descrição de dados sendo concebidos
• Descendente
• Do mais abstrato para os mais detalhados
• 1. Entidade genéricas
• 2. Atributos
• 3.1 Relacionamentos
• 3.2 Atributos dos relacionamentos
• 4. Especializações
Estratégias de modelagemEstratégias de modelagemEstratégias de modelagemEstratégias de modelagem
• A partir do conhecimento das pessoas – Descendente
• Modelagem superficial � DER pouco detalhado
• 1. Enumeração das entidades
• 2. Relacionamentos e hierarquias de generalização/especialização e cardinalidades
• 3. Determinação dos atributos de entidades e relacionamentos
• 4. Determinação dos identificadores (entidades e relacionamentos)
• 5. Verificação do aspecto temporal
• Modelagem detalhada � Domínios dos atributos e cardinalidades mínimas
• 6. Adiciona-se os domínios dos atributos (Ex.: texto, número, data)
• 7. Determinação das cardinalidades mínimas
• 8. Demais restrições que não são cobertas pelo MER
• Validação do modelo
• 9. Verifica a existência de redundâncias
• 10. Validação com especialista do domínio
• Em qualquer etapa é possível retornar passos anteriores
27/03/2015
18
Estratégias de modelagemEstratégias de modelagemEstratégias de modelagemEstratégias de modelagem
• A partir do conhecimento das pessoas 
• Inside-out (de dentro para fora)
• Parte-se de conceitos centrais (mais importantes)
• Identificação de entidade particularmente importante
• Entidade que estará relacionada com muitas outras
• Atributos, entidades relacionadas, generalizações/especializações
• Entidades importantes geralmente ficam no centro do modelo a fim de evitar 
cruzamento de linhas
Estratégias de modelagemEstratégias de modelagemEstratégias de modelagemEstratégias de modelagem
• A partir do conhecimentodas pessoas - Inside-out (de dentro para 
fora)
Empregado
nome cpf
tipo
Lotação Departamento
(0,n) (1,1)
Gerente
Lotação
(1,n)
(0,1)
Secretária
Engenheiro
CREA
Alicação
Domínio
Projeto
(0,n)(0,n)
(0,n)
Editor de texto
(1,n)
27/03/2015
19
Notações alternativasNotações alternativasNotações alternativasNotações alternativas
• Notação vista até agora � Peter Chen
• Notação engenharia de informações
• Notação UML
Notações alternativasNotações alternativasNotações alternativasNotações alternativas
• Notação engenharia de informações
27/03/2015
20
Notações alternativasNotações alternativasNotações alternativasNotações alternativas
• Notação UML

Outros materiais