Você está na página 1de 71

BANCO DE DADOS I

MODELO ENTIDADE
RELACIONAMENTO

Prof. Oteniel Santos


2
O QUE VAMOS
APRENDER HOJE...
1. O que é MODELO ER
2. Cardinalidade
3. Relação 1:1
4. Relação 1:N
5. Relação N:N
6. Convertendo em Tabelas
7. Exercícios
1.
O MODELO
ENTIDADE RELACIONAMENTO
Entendendo como as entidades se relacionam

3
O MODELO ENTIDADE
4 RELACIONAMENTO

MER (Modelo de Entidade e Relacionamento) é uma ferramenta gráfica


usada para projetar e auxiliar na implementar de bancos de dados cuja a
finalidade é identificar as entidades e os seus relacionamentos

COMPONENTES DO MER
• Entidade
• Atributos
• Relacionamentos
ENTIDADE

5
6 ENTIDADE
Identifica o objeto de interesse do sistema e tem "vida" própria, ou
seja, a representação abstrata de um objeto do mundo real sobre o
qual desejamos guardar informações.

REPRESENTAÇÃO GRÁFICA
Retângulo com o nome no centro. Geralmente um substantivo no singular.

CLIENTE
ATRIBUTOS

7
8 ATRIBUTOS
Informações que desejamos guardar sobre a instância de entidade.
Exemplo: Nome do aluno, Número da turma, Endereço do
fornecedor, Sexo do funcionário, etc.

REPRESENTAÇÃO GRÁFICA
Círculo com o nome ao lado, ligado a entidade por uma linha

Nome
CLIENTE
CPF
RELACIONAMENTO

9
10 RELACIONAMENTO
Após a identificação das entidades e dos respectivos atributos, é
necessário perceber o modo como estas entidades se relacionam
Assim, um relacionamento é uma associação existente entre entidades.

REPRESENTAÇÃO GRÁFICA
Losango com o nome no centro. Geralmente um verbo no singular.

COMPRA
EXEMPLO

11
12 EXEMPLO
Aluno está matriculado no curso

ALUNO MATRICULA CURSO

Cod. Nome CPF Cod. Nome Duração


CARDINALIDADE

13
14 CARDINALIDADE
Especifica o número máximo de vezes em que a entidade pode
participar do relacionamento

Cliente possui Conta

O diagrama indica que o cliente possui conta. Mas quantas contas um cliente
pode ter? E uma conta bancária, pode pertencer a quantos clientes? Sem uma
indicação prévia essas perguntas ficariam sem resposta
15 TIPO DE RELACIONAMENTO
A cardinalidade ajuda a esclarecer esse tipo de pergunta. Para isso
basta indicar na relação a quantidade que cada entidade participa na
relação o que pode ser:

1:1 1:N N:N


um-para-um um-para-muitos muitos-para-muitos
16 Voltando ao Exemplo...
Para indicar que:
Um cliente pode possuir somente uma conta coloca-se o número
1 na entidade do lado oposto ao relacionamento.

1
Cliente possui Conta
17 Voltando ao Exemplo...
Fazendo a leitura temos:
Um cliente

1
Cliente possui Conta
18 Voltando ao Exemplo...
Fazendo a leitura temos:
Um cliente possui

1
Cliente possui Conta
19 Voltando ao Exemplo...
Fazendo a leitura temos:
Um cliente possui uma

1
Cliente possui Conta
20 Voltando ao Exemplo...
Fazendo a leitura temos:
Um cliente possui uma conta

1
Cliente possui Conta
21
Para indicar que:
Um cliente pode possuir várias contas...

N
Cliente possui Conta
22 Caminho inverso
Nesse caso, uma conta pode pertencer a quantos clientes?

1 N
Cliente possui Conta

Uma conta pertencer a um cliente


23 Agora é a sua vez
Nesse caso, uma conta pode pertencer a quantos clientes?

1 N
Cliente possui Conta

Uma conta pertence a um cliente


24 Agora é a sua vez
Nesse caso, uma conta pode pertencer a quantos clientes?

1 N
Cliente possui Conta

Uma conta pertence a um cliente


25 Agora é a sua vez
Nesse caso, uma conta pode pertencer a quantos clientes?

1 N
Cliente possui Conta

Uma conta pertence a um cliente


1.
MAIS
EXEMPLOS

26
27 Exemplo 1:N
Um aluno pertence a uma turma, uma turma possui vários alunos

N 1
Aluno pertence Turma
28 Exemplo 1:N
Um aluno pertence a uma turma, uma turma possui vários alunos

N 1
Aluno pertence Turma
29 Exemplo 1:N
Um aluno pertence a uma turma, uma turma possui vários alunos

N 1
Aluno pertence Turma
30 Exemplo 1:1
Um funcionário ocupa um cargo, um cargo é ocupado por somente um
funcionário

1 1
Funcionário ocupa Cargo
31 Exemplo 1:1
Um funcionário ocupa um cargo, um cargo é ocupado por somente um
funcionário

1 1
Funcionário ocupa Cargo
32 Exemplo 1:1
Um funcionário ocupa um cargo, um cargo é ocupado por somente um
funcionário

1 1
Funcionário ocupa Cargo
33 Exemplo N:N
Um aluno matricula em vários cursos. Um curso pode ter vários
alunos

N N
Aluno matricula Curso
34 Exemplo N:N
Um aluno matricula em vários cursos. Um curso pode ter vários
alunos

N N
Aluno matricula Curso
35 Exemplo N:N
Um aluno matricula em vários cursos. Um curso pode ter vários
alunos

N N
Aluno matricula Curso
36 Exemplo N:1
Como o diagrama abaixo deve ser lido?

N 1
Empregado Trabalha Setor
1.
DIAGRAMA DE OCORRÊNCIAS

37
38 DIAGRAMA DE OCORRÊNCIAS
Para facilitar o entendimento das cardinalidades é possível criar
um diagrama de ocorrências.

N 1
Empregado Trabalha Setor
39 DIAGRAMA DE OCORRÊNCIAS
Nesse exemplo podemos observar que cada empregado trabalha
somente em um setor. Um setor pode ter vários empregados.

N 1
Empregado Trabalha Setor

T.I
Adriana

Financeiro
Beto

Logística
Carlos
40 Um pouco mais complicado

N N N 1
Fornecedor Vende Produto Possui Categoria
Um fornecedor vende vários produtos
41

Fornecedor
N N Produto N 1 Categoria
Vende Possui

Ferramenta

Limpeza

Higiene

Roupa
Um produto é vendido por vários fornecedores
42

Fornecedor
N N Produto N 1 Categoria
Vende Possui

Ferramenta

Limpeza

Higiene

Roupa
Um produto possui uma categoria
43

Fornecedor
N N Produto N 1 Categoria
Vende Possui

Ferramenta

Limpeza

Higiene

Roupa
Uma categoria possui vários produtos
44

Fornecedor
N N Produto N 1 Categoria
Vende Possui

Ferramenta

Limpeza

Higiene

Roupa
45 Autorrelacionamento

Supervisor
1

Funcionário Supervisiona

N
Supervisionado
46 Autorrelacionamento

Funcionário
1 Supervisor

N Supervisionado
1.
IDENTIFICANDO ENTIDADES

47
48
Identificador de Entidade
É o atributo que a identifica incontestavelmente. Portanto, seu conceito é
similar ao conceito de chave primária em processamento de dados
convencional.

Matrícula
Empregado Nome
1.
MAPEAMENTO PARA ESQUEMA
RELACIONAL

49
50
Após a elaboração do diagrama E-R precisamos converter esse
modelo para o modelo relacional (tabelas)

MER Relacional

Cod. Nome Fone


Entidade se torna tabela

Funcionário
51

MER Atributos se Relacional


tornam colunas

Cod. Nome CPF


Cod. Nome CPF

Funcionário
52 Mas e quanto aos relacionamentos?
Converter uma entidade em tabela e atributos em colunas é simples, mas e quando
houver duas entidades se relacionando, como proceder?

1 1
Funcionário ocupa Cargo

Cod. Nome CPF Cod. Nome Sigla


CARDINALIDADE 1 : 1

53
REGRAS PARA CARDINADADE 1:1
54
1 1
Funcionário ocupa Cargo

Cod. Nome CPF Cod. Nome Sigla

Cod. Nome CPF Converte em Cod. Descrição Salário


tabela
1 Adelmo 111 1 Contador R$ 2.300

2 Beto 222 2 TI R$ 8.500

3 Oteniel 333 3 Administrador R$ 1.450


REGRAS PARA CARDINADADE 1:1
55
1 : 1 - A chave de qualquer entidade pode ser inserida na outra entidade e
vice-versa.

1 1
Funcionário ocupa Cargo

Cod. Nome CPF Cod. Nome Sigla

Cod. Nome CPF Cod. Descrição Salário


1 Adelmo 111 1 Contador R$ 2.300

2 Beto 222 2 TI R$ 8.500

3 Oteniel 333 3 Administrador R$ 1.450


REGRAS PARA CARDINADADE 1:1
56
1 : 1 - A chave de qualquer entidade pode ser inserida na outra entidade e
vice-versa.

1 1
Funcionário ocupa Cargo

Cod. Nome CPF Cod. Nome Sigla

Cod. Nome CPF Cargo Cod. Descrição Salário


1 Adelmo 111 1 1 Contador R$ 2.300

2 Beto 222 1 2 TI R$ 8.500

3 Oteniel 333 2 3 Administrador R$ 1.450


REGRAS PARA CARDINADADE 1:1
57
1 : 1 - A chave de qualquer entidade pode ser inserida na outra entidade e
vice-versa.

1 1
Funcionário ocupa Cargo

Cod. Nome CPF Cod. Descrição Salário Func


1 Adelmo 111 1 Contador R$ 2.300 1

2 Beto 222 2 TI R$ 8.500 3

3 Oteniel 333 3 Administrador R$ 1.450 2


CARDINALIDADE 1 : N

58
REGRAS PARA CARDINADADE 1:N
59
1 : N – Chave do lado 1 vai para tabela do lado N.

N 1
Aluno pertence Turma

Cod. Nome CPF Cod. Nome Sigla


1 Adelmo 111 1 5º Semestre SI5

2 Beto 222 2 3º Semestre SI3

3 Carla 333 3 1º Semestre SI1

4 Diana 444

5 Edina 555
REGRAS PARA CARDINADADE 1:N
60
1 : N – Chave do lado 1 vai para tabela do lado N.

N 1
Aluno pertence Turma

Cod. Nome CPF turma Cod. Nome Sigla


1 Adelmo 111 2 1 5º Semestre SI5

2 Beto 222 2 2 3º Semestre SI3

3 Carla 333 1 3 1º Semestre SI1

4 Diana 444 3

5 Edina 555 1
CARDINALIDADE N : N

61
REGRAS PARA CARDINADADE 1:N
62
N : N – O relacionamento se converte em tabela contendo as chaves primárias das
entidades participantes do relacionamento

N N
Aluno assiste Aula

Cod. Nome CPF Cod. Assunto Duração


1 Adelmo 111 Banco de
1 90 min
Dados
2 Beto 222
2 PHP 90 min
3 Carlos 333
3 Java 90 min
4 Diego 444

5 Erasmo 555
REGRAS PARA CARDINADADE 1:N
63
N : N – Criar uma “Relação de Ligação” contendo as chaves primárias das entidades
participantes do relacionamento

N N
Aluno assiste Aula

Cod. Nome CPF Cod. Assunto Duração


Cod Aluno. Cod. Aula Data
1 Adelmo 111 Banco de
1 90 min
Dados
2 Beto 222 1 1 13/03/2019
2 PHP 90 min
3 Carlos 333
1 2 13/03/2019 3 Java 90 min
4 Diego 444

5 Erasmo 555 2 1 13/03/2019

2 2 20/03/2019
AUTORRELACIONAMENTO

64
Supervisor
65 1

Funcionário Supervisiona

N
Supervisionado

Cod Funcionário. Nome Cod. Supervisor


1 Aderbal 1

2 Bia 1

3 Cesar 1

4 Diana 1

5 Emilia 2
EXERCÍCIOS
CRIE OS DIAGRAMAS ENTIDADE RELACIONAMENTO PARA AS SITUAÇÕES A
SEGUIR

66
67 EXERCÍCIO 1
Uma Empresa possui vários funcionários.
Um funcionário trabalha em uma Empresa.
68 EXERCÍCIO 2

Os Atletas participam de várias competições.


Em uma competição participam vários atletas.
69 EXERCÍCIO 3
Observando o diagrama abaixo, como ele deve ser lido?

1 N 1 N
Cliente faz Pedido Contem Produtos
70 EXERCÍCIO 4
Deseja-se fazer um banco de dados para uma
rede de hotelaria.
• Um hotel possui quartos.
• Cada quarto pertence a apenas um hotel.
• Cada quarto possui um número, um tipo
(simples ou luxo) e numero de vagas (casal ou
solteiro)
• Cada hotel possui um Nome, Endereço e uma
classificação (5 estrelas por exemplo).
71 EXERCÍCIO 5
Elaborar um diagrama E-R de uma Agenda de Contatos
O banco de dados deverá armazenar informações sobre os contatos, telefone e
endereço de cada contato.
Requisitos:
• Cada contato deve ter um nome, RG e CPF
• Um contato pode ter vários telefones
• Cada telefone pode ser do tipo residencial, celular, comercial ou outro tipo.
• De cada telefone anota-se o DDD, prefixo e número.
• Cada contato possui um endereço.
• Um endereço pode ser do tipo residência própria, alugada, residência com parentes
• Um endereço pode pertencer a mais de uma pessoa.