BachareladoemSistemasdeInformação
BancodeDadosI
IvonePenqueMatsunoYugoshi
ivone.matsuno@ufms.br
Modelo Entidade-Relacionamento
2
Visãosimplificadade projetode BD
3
Visãosimplificadade projetode BD
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
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
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
MER
• Neste curso estudaremos a notação clássica proposta por Peter Chein.
• Existem outros diversos.
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
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
Atributo
• Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento
ENGENHEIRO PROJETO
CREA Nome Codigo Titulo
11
Atributo–Chave
• Cada entidade deve possuir um atributo identificador (chave)
• O atributo que é chave é identificado é sublinhado
ENGENHEIRO PROJETO
CREA Nome Codigo Titulo
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
AtributoSimplese Composto
• Atributos simples x compostos
• Atributos simples são atômicos
• Atributos compostos por outros atributos.
• Exemplo:
FUNCIONARIO
Endereco
SIMPLES
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
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
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
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
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.
19
Instânciasde Relacionamentos
p1
●
p2
●
p3
●
p4
●
p5
●
p6
●
•d1
•d2
•d3
r1
●
r2
●
r3
●
r4
●
r5
●
r6
●
PESSOA DEPARTAMENTO
TRABALHA
20
Instânciasde Relacionamentos
p1
●
p2
●
p3
●
p4
●
p5
●
p6
●
•d1
•d2
•d3
r1
●
r2
●
r3
●
r4
●
r5
●
r6
●
PESSOA DEPARTAMENTO
TRABALHA
Ex: r5={p5, d3}
21
MER:Relacionamento
• Auto-Relacionamento
• Relacionamento entre ocorrências de uma mesma entidade
• Neste caso é necessário um “papel” para definir o relacionamento
• Exemplo:
PESSOA CASAMENTO
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
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
24
Restriçãode Cardinalidade
• Relacionamentos 1:N (um para muitos)
ALUNO CURSO
INSCRICAO
1
N
25
Restriçãode Cardinalidade
• Relacionamentos 1:N (um para muitos)
• Relacionamentos N:N (muitos para muitos)
ALUNO CURSO
INSCRICAO
1
N
MEDICO PACIENTE
CONSULTA
N
N
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
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
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
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
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
31
Resumoda Notação
32
Ferramentas
• brModelo
(www.brmodeloweb.com)
• MySQL Workbench
(www.mysql.com/products/workbench/ )
• Draw.io
(www.draw.io)
• Lucidchart
(www.lucidchart.com)
• Bizagi
(www.bizagi.com/pt/plataforma/modeler)
• Pesquisem outras... Compartihem ☺
33
Exercícios
• Crie um diagrama usando o modelo entidade-relacionamento para os exercícios a
seguir.
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
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
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.
n
1
dt_inicio
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.

bd_aula02-IPMY.pdf

  • 1.
  • 2.
  • 3.
  • 4.
    4 Introdução • O ModeloEntidade-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 engenhariade 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 cursoestudaremos a notação clássica proposta por Peter Chein. • Existem outros diversos.
  • 8.
    8 Entidade • Objeto doproblema 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 entidadeE é 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 entidadedeve possuir um atributo identificador (chave) • O atributo que é chave é identificado é sublinhado ENGENHEIRO PROJETO CREA Nome Codigo Titulo
  • 12.
    12 Atributo–Chave • Cada entidadedeve 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 • Atributossimples x compostos • Atributos simples são atômicos • Atributos compostos por outros atributos. • Exemplo: FUNCIONARIO Endereco SIMPLES
  • 14.
    14 AtributoSimplese Composto • Atributosimples 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 devalor ú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 armazenadosx 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çõesentre 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 • Oconjunto 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.
  • 19.
  • 20.
  • 21.
    21 MER:Relacionamento • Auto-Relacionamento • Relacionamentoentre ocorrências de uma mesma entidade • Neste caso é necessário um “papel” para definir o relacionamento • Exemplo: PESSOA CASAMENTO
  • 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úmeromá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
  • 24.
    24 Restriçãode Cardinalidade • Relacionamentos1:N (um para muitos) ALUNO CURSO INSCRICAO 1 N
  • 25.
    25 Restriçãode Cardinalidade • Relacionamentos1:N (um para muitos) • Relacionamentos N:N (muitos para muitos) ALUNO CURSO INSCRICAO 1 N MEDICO PACIENTE CONSULTA N N
  • 26.
    26 Restriçãode Cardinalidade • Relacionamentos1: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 • Aparticipaçã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ãosubdivididas 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 Fortese 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
  • 31.
  • 32.
    32 Ferramentas • brModelo (www.brmodeloweb.com) • MySQLWorkbench (www.mysql.com/products/workbench/ ) • Draw.io (www.draw.io) • Lucidchart (www.lucidchart.com) • Bizagi (www.bizagi.com/pt/plataforma/modeler) • Pesquisem outras... Compartihem ☺
  • 33.
    33 Exercícios • Crie umdiagrama usando o modelo entidade-relacionamento para os exercícios a seguir.
  • 34.
    34 Exercício1 -Empresa • Aempresa é 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 • Aempresa é 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 • Aempresa é 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.
  • 37.
  • 38.
    38 Exercício2 -Biblioteca • Umabiblioteca 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.