O documento descreve um modelo entidade-relacionamento (MER) para um sistema de biblioteca. O MER contém entidades como Livro, Autor e Editora e relacionamentos como Escreve entre Autor e Livro e Contrato entre Autor e Editora.
4. 4
Introdução
• O Modelo Entidade-Relacionamento (MER) é um modelo de dados de alto-nível
criado com o objetivo de representar a semântica associada aos dados do
minimundo.
• O MER é utilizado na fase de projeto conceitual, onde o esquema conceitual do banco
de dados da aplicação é concebido.
• Seus conceitos são intuitivos, permitindo que projetistas de banco de dado capturem
os conceitos associados aos dados da aplicação, sem a interferência da tecnologia
específica de implementação do banco de dados.
5. 5
Introdução
• Em engenharia de software, é um modelo entidade relacionamento (MER) é
utilizado para descrever os dados ou aspectos de informação de um domínio de
negócio ou seus requisitos de processo, de uma maneira abstrata que, em última
análise, se presta a ser implementada em um banco de dados relacional.
6. 6
Modelo Entidade-Relacionamento (MER)
• Define uma representação gráfica do projeto de BD
• define um problema do mini-mundo como um conjunto de entidades (E1, E2,..., En)
e de relacionamentos (R1, R2,..., Rk) entre estes.
• E os respectivos atributos da entidade ou do relacionamentos.
• Representação padrão para modelagem conceitual possui OS seguintes
componentes:
• Entidades
• Atributos
• Relacionamentos
• Restrições
7. 7
MER
• Neste curso estudaremos a notação clássica proposta por Peter Chein.
• Existem outros diversos.
8. 8
Entidade
• Objeto do problema modelado sobre o qual se deseja manter informações no BD
• Toda entidade é representada por um retângulo
• Exemplo:
• Armazenar quais pessoas estão trabalham em quais departamentos
PESSOA DEPARTAMENTO
9. 9
Entidade
• Uma entidade E é um conjunto de instâncias e1, e2, ..., en.
• Exemplo: Pessoa = {p1, p2, p3, p4, p5, p6}, Carro = {c1, c2, c3, c4},
Departamento = {d1, d2, d3}
• p1
• p2
• p3
• p4
• p5
• p6
PESSOA
• d1
• d2
• d3
DEPARTAMENTO
• c1
• c2
• c3
• c4
CARRO
10. 10
Atributo
• Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento
ENGENHEIRO PROJETO
CREA Nome Codigo Titulo
11. 11
Atributo–Chave
• Cada entidade deve possuir um atributo identificador (chave)
• O atributo que é chave é identificado é sublinhado
ENGENHEIRO PROJETO
CREA Nome Codigo Titulo
12. 12
Atributo–Chave
• Cada entidade deve possuir um atributo identificador (chave)
• Em alguns casos, o identificador é formado pela junção de mais de um atributo
PRATELEIRA
NumCorredor
Capacidade
NumPrateleira
13. 13
AtributoSimplese Composto
• Atributos simples x compostos
• Atributos simples são atômicos
• Atributos compostos por outros atributos.
• Exemplo:
FUNCIONARIO
Endereco
SIMPLES
14. 14
AtributoSimplese Composto
• Atributo simples a informação é atômica
• Atributo composto possui atributos que
• Exemplo:
FUNCIONARIO
Endereco
FUNCIONARIO Estado
Cidade
Logradouro
Cep
SIMPLES
COMPOSTO
Endereco
15. 15
AtributoMultivalorado
• Atributos de valor único x multivalorados
• em geral atributos tem apenas um valor associado
• Exemplo → idade
• em alguns casos os atributos podem ter mais de um valor (multivalorados)
• Exemplo → uma pessoa tem vários e-mail, as cores de uma roupa (a roupa é
branca e preta).
• Exemplo:
roupa
cores
PESSOA
e-mail
16. 16
AtributoDerivado
• Atributos armazenados x derivados
• em alguns casos valores de atributos podem estar relacionados
• Exemplo → Idade e DataNascimento
• nesse exemplo o valor associado a “Idade” depende do valor atribuído a
“DataNascimento”
• Portanto: DataNascimento é atributo armazenado e Idade é derivado
• Exemplo:
PESSOA
Idade
DataNasc
17. 17
Relacionamento
• Define associações entre as entidades
• Representado por um losango
• Este modelo expressa que o BD mantém informações sobre:
• um conjunto de objetos classificados como pessoas (entidade PESSOA)
• um conjunto de objetos classificados como departamentos (entidade DEPARTAMENTO)
• um conjunto de associações, que ligam um departamento a uma pessoa (relacionamento
TRABALHA)
PESSOA DEPARTAMENTO
TRABALHA
18. 18
Instânciasde Relacionamentos
• O conjunto de relacionamentos R é um conjunto de elementos ri , em que cada
instância ri associa as instâncias ej , e cada instância ej pertence a um conjunto de
entidades (E1, E2, ..., Em).
• Exemplo:
• Suponha que Ri = {r1, r2, ..., rm}, E1 = P = {p1, p2, ..., pk} e
E2 = D = {d1, d2, ..., dn}
Podemos ter r1 = (p1, d2) e r2 = (p3, d2) por exemplo
• As entidades participantes em R indicam que estão de algum modo relacionadas na
situação do minimundo representado.
22. 22
MER:Relacionamento
• Vamos praticar:
• Exercício 1:
• Alunos são matriculados em um curso
• Um curso tem disciplinas
• Disciplinas tem professores responsáveis
• Exercício 2:
• Em um conjunto de funcionários, alguns são supervisores e outros
supervisionados.
• Como fica o auto-relacionamento?
23. 23
Restriçãode Cardinalidade
• Número máximo de instâncias de relacionamento nas quais uma entidade pode
participar
• Exemplo:
• Um funcionário só pode estar trabalhando em 1 departamento
• Um departamento pode ter vários funcionários.
EMPREGADO DEPARTAMENTO
TRABALHA
1
N
26. 26
Restriçãode Cardinalidade
• Relacionamentos 1:N (um para muitos)
• Relacionamentos N:N (muitos para muitos)
• Relacionamentos 1:1 (um para um)
ALUNO CURSO
INSCRICAO
1
N
MEDICO PACIENTE
CONSULTA
N
N
EMPREGADO MESA
ALOCACAO
1
1
27. 27
Restriçãode Participação
• A participação de um conjunto de entidades E em um conjunto de relacionamentos R
é dita total, se todas as entidades em E participam em pelo menos um
relacionamento em R. Caso contrário é parcial.
• Exemplo: todas as instâncias de “DEPARTAMENTO” DEVEM ser associada a uma
instância do relacionamento GERENCIA
• Enquanto que para as instâncias de “FUNCIONÁRIO” não é obrigatório ter a
participação no relacionamento GERENCIA
FUNCIONÁRIO DEPARTAMENTO
gerencia
1 1
28. 28
EntidadesFracas
• Entidades são subdivididas em dois tipos: Fortes e Fracas
• Uma entidade Y é dita fraca quando a sua existência só faz sentido se existe uma
outra entidade forte X. Dizemos que
• Um relacionamento entre uma entidade fraca e sua proprietária é um
relacionamento de identificação, representado por um losango de linhas duplas.
• Portanto, A participação de um conjunto de entidades fracas deverá ter restrição de
participação total.
• Não tem chave primária da entidade fraca é sublinhada por uma linha dupla.
29. 29
EntidadesFracas
• Exemplo Fortes e Fracas:
• Obs: Uma entidade fraca também pode ser representada por um atributo composto
ou multivalorado.
FUNCIONARIO DEPENDENTES
TEM
1 N
Nome
DataNasc
parentesco
matricula
30. 30
Restriçãode ParticipaçãoeentidadeFraca
• Exemplo: todas as instâncias de “INVESTIMENTO” DEVEM ser associada a uma
instância do relacionamento TEM.
• Enquanto que as instâncias não é obrigatório ter a participação no relacionamento
TEM
CONTA INVESTIMENTO
TEM
1 N
33. 33
Exercícios
• Crie um diagrama usando o modelo entidade-relacionamento para os exercícios a
seguir.
34. 34
Exercício1 -Empresa
• A empresa é organizada em departamentos. Cada departamento tem um nome exclusivo, um número
exclusivo e um empregado particular que o gerencia. Registramos a data inicial em que esse
empregado começou a gerenciar o departamento. Um departamento pode ter vários locais.
• Um departamento controla uma série de projetos, cada um deles com um nome e um número
exclusivo.
• Armazenamos o nome, CPF e o salário de cada empregado. Um empregado é designado a um
departamento, mas pode trabalhar em vários projetos, que não necessariamente são controlados
pelo mesmo departamento. Registramos o número atual de horas por semana que um empregado
trabalha em cada projeto. Também registramos o supervisor direto de cada empregado.
• Queremos registrar os dependentes de cada empregado para fins de seguro. Para cada dependente,
mantemos o nome, sexo, data de nascimento e parentesco com o empregado.
35. 35
Exercício1 -Empresa
• A empresa é organizada em departamentos. Cada departamento tem um nome exclusivo, um número
exclusivo e um empregado particular que o gerencia. Registramos a data inicial em que esse
empregado começou a gerenciar o departamento. Um departamento pode ter vários locais.
• Um departamento controla uma série de projetos, cada um deles com um nome e um número
exclusivo.
• Armazenamos o nome, CPF e o salário de cada empregado. Um empregado é designado a um
departamento, mas pode trabalhar em vários projetos, que não necesariamente são controlados pelo
mesmo departamento. Registramos o número atual de horas por semana que um empregado trabalha
em cada projeto. Também registramos o supervisor direto de cada empregado.
• Queremos registrar os dependentes de cada empregado para fins de seguro. Para cada dependente,
mantemos o nome, sexo, data de nascimento e parentesco com o empregado.
36. 36
Exercício1 -Empresa
• A empresa é organizada em departamentos. Cada departamento tem um nome exclusivo, um número
exclusivo e um empregado particular que o gerencia. Registramos a data inicial em que esse
empregado começou a gerenciar o departamento. Um departamento pode ter vários locais.
• Um departamento controla uma série de projetos, cada um deles com um nome e um número
exclusivo.
• Armazenamos o nome, CPF e o salário de cada empregado. Um empregado é designado a um
departamento, mas pode trabalhar em vários projetos, que não necesariamente são controlados pelo
mesmo departamento. Registramos o número atual de horas por semana que um empregado trabalha
em cada projeto. Também registramos o supervisor direto de cada empregado.
• Queremos registrar os dependentes de cada empregado para fins de seguro. Para cada dependente,
mantemos o nome, sexo, data de nascimento e parentesco com o empregado.
38. 38
Exercício2 -Biblioteca
• Uma biblioteca deseja cadastrar informações de seus livros, autores e editoras para realizar um
controle interno simples para compra e contato com editoras e autores. (Não é necessário controlar os
usuários da biblioteca e empréstimos e devolução de livros).
• Um livro possui ISBN, título, área, autores, edição, editora e ano de publicação.
• Todos os livros apresentam pelo menos um exemplar na biblioteca.
• O nome do autor é representado por três partes: primeiro, meio e último nome.
• De cada editora possui as seguintes informações: código, nome do representante, endereço completo
e telefone.
• Alguns autores possuem contrato para publicação com as editoras por um determinado tempo de
duração especificado em anos.