Modelagem de dados- Modelo ER

Propaganda
Modelagem de dados
usando o modelo
EntidadeRelacionamento
BANCO DE DADOS – 1º TRIMESTRE
PROF. PATRÍCIA LUCAS
Introdução
• Modelagem conceitual – fase de
planejamento/projeto de um BD;
• Modelo Entidade/Relacionamento – Modelo
conceitual de alto nível;
Diagrama Entidade / Relacionamento;
• DER -Diagrama
Modelos de Dados
Modelo conceitual (projeto conceitual)
◦ Modelo de dados abstrato que descreve a estrutura de um banco de dados independente de
um SGBD
Modelo lógico (projeto lógico)
◦ Modelo de dados que representa a estrutura dos dados de um banco de dados
◦ Dependente do modelo do SGBD
Modelo físico (projeto físico)
◦ Nível de Implementação
◦ Depende do SGBD
◦ ênfase na eficiência de acesso
Projeto de Banco de Dados
Mini-mundo
Coleta e Análise de
Requisitos
Requisitos de dados
Projeto Conceitual
Esquema conceitual
Independente
de SGBD
Projeto Lógico
Esquema lógico
Projeto Físico
Esquema físico
Específico
para um
SGBD
Modelagem Conceitual
Modelo Entidade Relacionamento (ER)
◦ É a técnica mais conhecida
◦ Tem como objetivo auxiliar na especificação geral do sistema
◦ O modelo de dados é representado graficamente através de um Diagrama de EntidadeRelacionamento (DER).
◦ Principais conceitos do Modelo ER são:
◦ Entidades
◦ Atributos e
◦ Relacionamentos
◦ Notação: Criada por Peter Chen em 1976
Entidade
Entidade
◦ É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no
banco de dados
◦ É distinguível de outros objetos
◦ Representada através de um retângulo
Departamento
◦ Pode representar:
◦ objetos concretos (uma pessoa)
◦ objetos abstratos (um departamento)
Empregado
João
Pedro
Paulo
Maria
Contabilidade
Financeiro
Jurídico
Pessoal
Possui propriedades
Atributos e Relacionamentos
Atributo
• É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento
• Exemplos de atributos de entidades:
Empregado
Departamento
Nome
Endereço
Salário
Descrição
númeroDeFuncionários
Atributos
Monovalorado:: possui um valor único em uma entidade
◦ Exemplo: nome
Empregado
nome
Endereço
Salário
Composto: podem ser divididos em subpartes menores.
◦ Exemplo: endereço (rua, número, cidade)
Empregado
nome
Endereço
Salário
Multivalorado:: possui mais de um valor para cada ocorrência da entidade
nome
◦ Exemplo: telefone
Endereço
Empregado
Salário
telefone (0,N)
Exercício
• Considerando um sistema acadêmico, envolvendo entidades que todos conhecemos, defina
pelo menos 3 atributos para cada uma das entidades abaixo:
Aluno
Professor
Disciplina
Turma
Relacionamentos
• Como expressamos que João trabalha no Departamento de Contabilidade?
Empregado
João
Pedro
Paulo
Maria
Departamento
Diagrama de Ocorrências (instâncias)
Contabilidade
Financeiro
Jurídico
Pessoal
Relacionamentos
Relacionamento:
◦ É uma associação entre entidades
◦ Representado através de um losângulo e linhas que ligam as entidades relacionadas
A
nomeDoRelacionamento
B
Exemplos de Relacionamentos
Medico
Cliente
Residência
Cidade
Consulta
Paciente
ContaCliente
Conta
Relacionamentos com Atributos
Médico
nome celular
Consulta
dataDaConsulta
Paciente
nome endereço
instâncias
Dr. Paulo
Dr. Flora
22/10/2007
2007
05/02/2009
2009
20/03/2009
2009
Vania
José
Relacionamentos com Atributos
Empregado
nome salario
Vania
Pedro
Gabriel
Atuação
função
coordenador
pesquisador
bolsista
Projeto
sigla
AATOM
Sinpli
Exercício
• Identifique os relacionamentos no modelo
lo e os aatributos do relacionamento (quando houver)
– vide exercício anterior:
Aluno
Professor
Disciplina
Turma
Exercício - Resposta
CPF
Nome
Salario
Professor
regência
atuação
Aluno
CPF Matricula nome
Matrícula
Turma
Numero Sala horario
Disciplina
da
Codigo
nome
CH
Cardinalidade de Relacionamentos
Uma propriedade importante dos
relacionamentos é a especificação de
quantas
ocorrências
de
uma
entidade podem estar associadas a
uma determinada ocorrência de
outra entidade
Existem 2 cardinalidades:
Máxima
Mínima
A
B
a1
b1
a2
b2
a3
b3
a4
b4
A ocorrência a1 da entidade A
está relacionado a quantas
Ocorrências em B?
Cardinalidade de Relacionamentos
• Cardinalidade (mínima, máxima) de uma entidade em relacionamento é o número (mínimo,
máximo) de ocorrências de entidade associadas a uma ocorrência da entidade em questão
através do relacionamento.
matrícula nome
data
nasc.
endereço
sexo
Funcionário
número
(0, n)
trabalha em
(1, 1)
nome
Departamento
telefone
Cardinalidades mínima e máxima para cada entidade relacionada
Relacionamento Um para Um – 1:1
Uma ocorrência de A está associada a no máximo uma ocorrência
de B, e uma ocorrência em B está associada a no máximo uma
ocorrência em A.
Conjunto A
(Empregado)
João
Contabilidade
Pedro
Financeiro
Jurídico
Paulo
Maria
Empregado
1
Conjunto B
(Departamento)
Gerencia
1
Departamento
Relacionamento Um para Muitos –
1:N
Uma ocorrência de A está associada a várias ocorrências de B, porém
uma ocorrência de B deve estar associada a no máximo uma
ocorrência em A
João
Conjunto A
(Departamento)
Contabilidade
Sandro
Financeiro
Pedro
Ana
Departamento
1
Lotação
N
Conjunto B
(Empregado)
Empregado
Relacionamento Muitos para Muitos – M:N ou
N:N
Uma ocorrência de A está associada a qualquer número de
ocorrências de B, e uma ocorrência em B está associada a qualquer
número de ocorrências em A
Conjunto A
(Empregad
o)
João
Sinpli
Pedro
AATOM
Paulo
MM-TOM
Sigmoda
Maria
Empregado
N
Atua
N
Projeto
Cardinalidade Mínima
O modelo ER permite expressar cardinalidades mínimas e máximas em cada relacionamento
◦ Cardinalidade Mínima:
◦ número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B
◦ Representação:
◦ (cardinalidade mínima, cardinalidade máxima)
máxima
◦ Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0
0,N)
◦ Cardinalidade mínima = 1 (relacionamento obrigatório)
◦ Cardinalidade mínima = 0 (relacionamento opcional)
Cardinalidade Mínima e Máxima
Exemplo de Relacionamento Obrigatório:
cada ocorrência de cliente está relacionado a no mínimo quantas contas e no
máximo quantas contas?
Cada ocorrência de conta está relacionada a no mínimo quantos clientes e no
máximo quantos clientes?
Cliente
(1,1)
ContaCliente
(1,N)
Conta
Exemplo de Relacionamento Opcional:
Empregado
(1,1)
Gerencia
(0,1)
Departamento
Exercício
• Identifique as cardinalidades mínimas e máximas dos relacionamentos do modelo ER
realizado nos exercícios anteriores.
Resposta
CPF
Nome
Salario
Professor
(0,N)
regência
(1,N)
atuação
(0,N)
(1,N)
Aluno
Matrícula
(0,N)
(0,N)
(1,N)
Turma
Numero Sala horario
(1,1)
Disciplina
da
Codigo
nome
CH
Auto-Relacionamento
Relacionamento
(Relacionamento Unário)
Relacionamento entre ocorrências da mesma entidade
Pessoa
Empregado
supervisionado
supervisor
(1,1)
(1,N)
supervisiona
Marido
Esposa
(0,1)
(0,1)
casadoCom
supervisionada
João
Pedro
Paulo
Maria
esposa
supervisor
Roberto
Pedro
Felipe
Ana
marido
Restrições de participação e
dependência de existência
• A restrição de participação determina se a existência de uma entidade depende de sua
existência relacionada à outra entidade, pelo tipo de relacionamento.
• Essa restrição determina o número mínimo de instâncias de um relacionamento em que cada
entidade pode participar (cardinalidade mínima).
• São dois tipos:
•
Total: todo departamento deve ser gerenciado por um empregado (existência total).
Empregado
•
1
Gerencia
1
Departamento
Parcial: Nem todo empregado deve gerenciar um departamento.
Relacionamentos e Papéis
• Papel é a função que uma ocorrência da entidade cumpre dentro de
uma ocorrência do relacionamento
◦ Não é obrigatória no Modelo ER
movimenta
Cliente
(1,1)
alocado
Empregado
(1,N)
É movimentada
ContaCliente
Atua
(1,N)
envolve
(0,N)
Conta
Projeto
Identificando Entidades
Cada entidade deve ter um identificador
Identificador (também conhecido como chave):
◦ É o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para
distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade
◦ Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão
brasileiro
Representação no Modelo
CPF
Cliente
NOME
Identificando Relacionamentos
Quando parte da chave é um relacionamento
◦ Exemplo: CPF do Empregado e numero seqüencial na entidade Dependente
Cpf
Nome
Endereco
Empregado
Possui
Dependente
Número
Nome
Chave parcial = núm
Entidade Fraca:
Fraca entidade sem chave
◦ A entidade é identificada por algum atributo da entidade + algum relacionamento
Entidade Forte:
Forte entidade com chave
◦ A entidade é identificada por atributos da própria entidade
Notação do DER
ENTIDADE
ENTIDADE FRACA
RELACIONAMENTO
RELACIONAMENTO IDENTIFICADOR
ATRIBUTO SIMPLES
ATRIBUTO IDENTIFICADOR
ATRIBUTO MULTIVALORADO
Notação do DER
ATRIBUTO COMPOSTO
CHAVE PARCIAL
PARTICIPAÇÃO TOTAL DE E2
E EM R
RAZÃO DE CARDINALIDADE 1:N PARA E1:E2 EM R
RESTRIÇÃO
TRIÇÃO EESTRUTURAL (MIN,MÁX) DA PARTICIPAÇÃO DE E EM R
Exercício I
1.
Todos os projetos de uma Universidade têm a participação de pelo menos um professor da
universidade. Todos os departamentos são chefiados por um professor. Identifique
entidades, relacionamentos e atributos.
2.
Em uma empresa de peças usadas podem ter como componentes várias peças (ex: um
motor é composto de cilindro, válvula, etc.) e uma peça pode ser componente de várias
outras peças (ex: o parafuso está contido no motor, no pára-choque,
pára
na porta). Identifique
entidades, relacioamentos e atributos.
3.
Cada curso da Faculdade X pertence a um departamento da instituição. Esses
departamentos são lotados por professores que são responsáveis por cada disciplina
oferecida. Para os cursos é necessário guardar o nome, data de reconhecimento do MEC e a
duração. Para os professores é necessário guardar o nome, telefone e endereço e pra os
departamentos o nome.
Exercício II
1.
Considere o diagrama ER mostrado no próximo slide.
a)
b)
c)
d)
e)
Liste as entidades (não fracas) do diagrama.
Há um tipo de entidade fraca? Se sim, dê o seu nome, chave parcial e o relacionamento
identificador.
Quais restrições a chave parcial e o relacionamento identificador do tipo entidade fraca
especificam nesse diagrama?
Liste todos os relacionamentos e especifique a restrição (min,max) em cada participação de
entidade. Justifique suas escolhas.
Liste os requisitos do usuário que levaram a esse projeto.
Modelagem com ER Estendido
• Especialização/Generalização
•
•
•
Subclasses
Superclasses
Herança
Subclasses, Superclasses e
Herança
• Uma entidade Empregado se refere ao conjunto corrente das entidades Empregado do banco
de dados Empresa.
• Em muitos casos, um tipo entidade tem numerosos subgrupos dessas entidade, que são
significativos e que necessitam ser representados.
•
Ex: as entidades que são membros do tipo Empregado podem ser agrupadas em
Empregado_assalariado e Empregado_horista.
• O conjunto de entidades de cada um desses grupos é um subconjunto das entidades que
pertencem ao conjunto de entidades Empregado, significando que toda entidade, que é um
membro de um desses subgrupos, é também um empregado.
• Chamamos cada um desses subgrupos uma subclasse do tipo entidade Empregado.
• E o tipo entidade Empregado é conhecido como superclasse para cada uma dessas
subclasses.
Exemplo:
Empregado
Horista
Superclasse
Assalariado
Subclasses
Herança
• Um importante conceito associado a subclasses é o tipo de herança.
• Recordemos que o tipo de uma entidade é definido pelos atributos que ela possui e pelos
tipos relacionamento dos quais participa.
• Como uma entidade de uma subclasse representa a mesma entidade do mundo real da
superclasse, ela deve possuir valores para seus atributos específicos, bem como valores para
seus atributos como membro da superclasse.
• Dizemos que uma entidade, que é membro de uma subclasse, herda todos os atributos da
entidade como membro da superclasse, assim como os relacionamentos.
Especialização/Generalização total: para cada ocorrência da
entidade genérica existe sempre uma
a ocorrência em uma das entidades especializadas.
CARRO
t
CARRO PARTICULAR
CARRO OFICIAL
CARRO CORRIDA
Especialização/Generalização parcial: nem toda ocorrência da
entidade genérica possui uma ocorrência correspondente em uma entidade especializada.
FUNCIONÁRIO
tipo
ANALISTA
p
GERENTE
SECRETÁRIA
Exemplo:
1.
Em uma biblioteca identificamos o conjunto de Leitores que podem ser classificados em
Alunos e Professores. Estes leitores possuem características comuns como: nome e CPF; e
características específicas de acordo sua classificação.
classificação Para os alunos as características são:
curso e turma; e para os professores, o departamento.
departamento
Resolução do exemplo:
Nome
Leitor
CPF
Departamento
Professor
Aluno
Curso
Turma
Entidades Associativas
• Em alguns casos, é necessário que associemos uma entidade com a ocorrência de um
relacionamento. O modelo de entidades e relacionamentos não permite relacionamentos
entre relacionamentos, somente entre entidades.
entidades A idéia da entidade associativa é tratar um
relacionamento como se ele fosse uma entidade.
entidade
Exemplo
◦ Exemplo: Se desejarmos controlar os medicamentos receitados pelo médico em determinada consulta,
temos que relacionar a entidade medicamento com o fato de ter havido uma consulta (relacionamento
consulta).
Médico
N
Consulta
N
Emissão
N
Medicamento
N
Paciente
Exercícios 1
1.
Museus possuem em seus acervos obras de diversos artistas plásticos. Deseja-se
Deseja registrar o
nome do artista, seu pseudônimo e sua data de nascimento, o título da bra, a data em que o
museu adquiriu a obra, bem como o nome do museu.
2.
Sabe-se
se que todos os funcionários de uma empresa estão lotados em algum departamento,
que pode ou não ter funcionários. Nessa empresa, é feito um acompanhamento dos cursos
de especialização realizados por todos os engenheiros. Das secretárias, deve-se
deve conhecer as
línguas estrangeiras que cada uma domina. Quanto aos motoristas, deve-se
deve ter controle
sobre os veículos que dirigem, além de eventuais acidentes ocorridos.
3.
Em um concerto as músicas possuem gravações feitas por diversas orquestras. Cada
gravação foi feita em uma determinada data e pode estar contida em vários volumes de
disco.
Exercícios
4.
Uma indústria é dividida em setores de produção. Cada setor é responsável pela produção
de determinados tipos de peça. Um peça pode ser composta de várias peças. Cada setor
tem um funcionário responsável e um suplente, que também é funcionário.
5.
A empresa WK possui diversos planos de assinaturas com preços e canais diferenciados.
Seus clientes assinam planos e podem comprar programas adicionais. Cad aplano possui
diversos canais e cada canal possui uma programação onde cada programa em um canal
possui data e hora de exibição.
6.
Os transplantes ocorridos no Hospital K&K referem-se
referem a um paciente e a vários órgãos. Cada
transplante ocorre em uma sala do hospital, utiliza vários equipamentos, é pago através de
um convênio/plano de saúde e é de responsabilidade de vários médicos.
Exercícios 2
1.
O setor de manutenção de equipamentos de informática trabalha coma manutenção de
computadores e impressoras. Para os computadores são registrados as suas configurações
básicas de hardware (modelo do processador, tamanho do HD e memória RAM) e software
(versão do SO e antivirus instalado). Para as impressoras são guardadas informações do seu
modelo e fabricante. Cada equipamento contém um código de patrimônio, uma descrição, a
data da última manutenção preventiva e o setor onde está lotado. Existe ainda a
necessidade de ter cadastrado a localização do setor de origem do equipamento (prédio,
sala, andar), o funcionário responsável por este setor e o número dos seus ramais. O setor
de manutenção tem registrado o histórico das manutenções preventivas dos equipamentos,
com a data das manutenções, a descrição do serviço executado, o técnico responsável e os
materiais utilizados durante a manutenção.
Download