UC2 · Implementar Banco de Dados

Do MER ao DER

Aula 06 — Desenhando o modelo

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

O mapa de hoje

  • Bloco 1 — MER × DER e a legenda completa do diagrama
  • Bloco 2 — resolver o N:N e os relacionamentos especiais
  • Bloco 3 — draw.io do zero: passo a passo da ferramenta
  • Bloco 4 — mão na massa: desenhar o DER do projeto
Este é o artefato mais importante da UC até aqui. O DER de hoje é usado em todas as aulas até a 18.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone MER × DER — duas coisas diferentes

Sigla Nome completo O que é
MER Modelo de Entidade e Relacionamento A ideia — entidades, atributos, chaves e cardinalidades (aulas 3–5)
DER Diagrama de Entidade e Relacionamento O desenho dessa ideia — caixas e linhas, o que fazemos hoje
Até ontem vocês tinham o MER no papel e na planilha. Hoje ele vira um DER de verdade, num arquivo que dá para abrir, editar e entregar.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Bloco 1

A legenda completa do DER

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone A legenda, do zero — um símbolo por vez

Vocês já viram cada símbolo, espalhado pelas aulas 3, 4 e 5.
Agora vamos montar a legenda inteira, um componente por vez, sobre o mesmo exemplo.

Ninguém precisa ter memorizado nada das aulas anteriores. A legenda recomeça do zero, de propósito.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Legenda 1 — a entidade

Passo 1 da legenda: a entidade, uma caixa com o nome em caixa alta

O símbolo: uma caixa, com o nome em CAIXA ALTA no cabeçalho escuro.

A função: representa a "coisa" do mundo real que vai virar uma tabela no banco.

EN PT
entity entidade
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Legenda 2 — o atributo

Passo 2 da legenda: os atributos, as linhas dentro da caixa

O símbolo: cada linha dentro da caixa, com o tipo à esquerda e o nome à direita.

A função: uma característica da entidade — vira uma coluna da tabela.

EN PT
attribute atributo
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Legenda 3 — a chave primária

Passo 3 da legenda: a chave primaria, marcada por asterisco antes do nome

O símbolo: um * antes do nome. A função: identifica cada registro de forma única — nunca repete, nunca fica vazio.

EN PT
primary key (PK) chave primária
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Legenda 4 — uma segunda entidade

Passo 4 da legenda: duas caixas no desenho, ainda sem ligacao

Duas caixas soltas. Cada uma com sua chave primária.

Até aqui, nada afirma que elas têm relação uma com a outra.

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Legenda 5 — o relacionamento

Passo 5 da legenda: a linha com o verbo, ligando as duas entidades

O símbolo: a linha que liga duas entidades, com um verbo escrito em cima.

A função: afirma que existe uma ligação, e diz qual é. Lê-se
"uma plataforma possui jogos".

EN PT
relationship relacionamento
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Legenda 6 — a chave estrangeira

Passo 6 da legenda: a chave estrangeira, marcada com CE barra FK no atributo

O símbolo: a sigla CE/FK no atributo.

A função: guarda a chave primária de outra entidade. É o que faz a linha existir de verdade dentro do banco.

EN PT
foreign key (FK) chave estrangeira · em português, CE
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Legenda 7 — a cardinalidade

Passo 7 da legenda: as tres cardinalidades, 1 para 1, 1 para N e N para N, cada uma com seu simbolo

O símbolo: os marcadores nas pontas da linha.

Símbolo na ponta Quer dizer Leitura
` ` dois tracinhos
pé de galinha vários "uma plataforma tem vários jogos"
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone A legenda inteira, para consultar

Componente Símbolo Função
Entidade caixa com cabeçalho escuro a "coisa" que vira tabela
Atributo linha dentro da caixa característica, vira coluna
Chave primária * antes do nome identifica o registro, única
Chave estrangeira CE/FK no atributo aponta para a PK de outra entidade
Relacionamento linha com verbo afirma que existe ligação
Cardinalidade marcadores nas pontas quantos de cada lado
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Checagem do Bloco 1

Um grupo entregou um DER com três erros de notação. Ache os três e diga o
conserto de cada um:

  • a caixa se chama CLIENTES
  • dentro de JOGO, dois atributos têm *: *id_jogo e *titulo
  • a linha entre PLATAFORMA e JOGO tem pé de galinha nos dois lados
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Intervalo

10 minutos

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Bloco 2

Resolvendo o N:N e os casos especiais

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone O problema que ficou de ontem

O N para N entre CLIENTE e JOGO, sem lugar nenhum para guardar a data da retirada

Um cliente aluga vários jogos. Um jogo é alugado por vários clientes.

Onde guardar a data da retirada?

  • Em CLIENTE? Ele tem várias retiradas, uma por jogo
  • Em JOGO? Ele tem várias retiradas, uma por cliente
  • A data não pertence a nenhuma das duas — pertence à ligação
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone A solução — a entidade no meio

O mesmo caso com EMPRESTIMO no meio: o N para N vira dois 1 para N, e a data passa a morar no emprestimo

Todo N:N vira uma entidade no meio, com duas chaves estrangeiras — uma para cada lado — e os atributos próprios da ligação. O N:N some, e no lugar ficam dois 1:N.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone Como batizar a entidade do meio

N:N entre Entidade do meio
CLIENTE e JOGO EMPRESTIMO
ALUNO e DISCIPLINA MATRICULA
CLIENTE e PRODUTO (confeitaria) ITEM_ENCOMENDA
JOGADOR e PARTIDA ESCALACAO
Prefira o nome do acontecimento (empréstimo, matrícula, escalação) a um nome colado (CLIENTE_JOGO). O nome do acontecimento diz o que aquilo é.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone Relacionamentos especiais

Dois casos especiais: ITEM_EMPRESTIMO como entidade fraca dentro de EMPRESTIMO, e JOGO ligado a ele mesmo como DLC

  • Entidade fraca — só existe dentro de outra (ITEM_EMPRESTIMO sem EMPRESTIMO)
  • Autorrelacionamento — a entidade se liga a ela mesma (um JOGO é DLC de outro)
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone Erro comum — desenhar antes de decidir

O draw.io é lápis, não cérebro. Grupo que abre a ferramenta sem o papel da Aula 05 na mão passa a aula arrastando caixa e sai sem modelo.

Ordem certa:

  1. Decidir no papel: entidades, atributos, chaves, cardinalidades
  2. Só então abrir a ferramenta
  3. Desenhar o que já foi decidido
  4. Revisar o desenho e ajustar o papel, se for preciso
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Checagem do Bloco 2

  • Um AUTOR escreve vários LIVROs e um LIVRO tem vários AUTORes.
    Qual é a entidade do meio? Que atributos ela teria?
  • Por que ITEM_EMPRESTIMO é entidade fraca?
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Intervalo

10 minutos

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Bloco 3

draw.io — a ferramenta de vocês

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone Por que draw.io

  • É gráfico: arrastar e clicar, sem sintaxe para decorar
  • É grátis e roda no navegador — não precisa instalar nada
  • Tem extensão do VS Code, que vocês já usam na UC1
  • O arquivo salvo continua editável, aula após aula
Os diagramas destes slides eu gero por outro caminho, porque preciso versionar dezenas deles. Vocês não precisam disso — a ferramenta do curso, do começo ao fim, é o draw.io.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Passo a passo — abrir e preparar

  1. No VS Code, crie um arquivo chamado der.drawio.svg na pasta do grupo
  2. Dê dois cliques no arquivo — o editor do draw.io abre dentro do VS Code
  3. Se preferir o navegador: acesse app.diagrams.net e escolha "Device"
  4. Na barra de busca da paleta (à esquerda, em cima), digite entity
  5. Clique em "Entity Relation" para abrir a paleta certa
A extensão Draw.io Integration já está instalada nas máquinas do laboratório. Se não abrir, me chame — não perca tempo procurando.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Passo a passo — desenhar a primeira entidade

  1. Na paleta, ache a forma "Table" (uma caixa com faixa no topo) e arraste para a tela
  2. Dê dois cliques na faixa do topo e digite o nome em CAIXA ALTA: JOGO
  3. Dê dois cliques na primeira linha e digite o atributo: *id_jogo
  4. Com a linha selecionada, pressione Ctrl+D para duplicar e criar a próxima
  5. Repita até ter todos os atributos da entidade
O asterisco é digitado, na frente do nome. Não existe botão de chave primária — a notação é sua responsabilidade.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Passo a passo — ligar duas entidades

  1. Desenhe a segunda entidade do mesmo jeito
  2. Passe o mouse sobre a borda da primeira caixa até aparecerem setinhas azuis
  3. Clique e arraste de uma borda até a outra caixa — solte quando a caixa inteira ficar destacada em verde
  4. Dê dois cliques em cima da linha e digite o verbo: possui
Solte em cima da caixa inteira (contorno verde), não num pontinho azul da borda. Preso à caixa, o conector acompanha quando você arrasta. Preso a um ponto fixo, ele descola e o diagrama vira espaguete.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Passo a passo — a cardinalidade

  1. Clique na linha para selecioná-la
  2. No painel da direita, abra a aba Style
  3. Em Line start e Line end, escolha o marcador: ERone (um) ou ERmany (pé de galinha)
  4. Confira lendo em voz alta nos dois sentidos — se a frase soar errada, o marcador está invertido
Marcador de "um" fica do lado de quem tem a chave primária. Pé de galinha fica do lado de quem tem a chave estrangeira.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Passo a passo — salvar e entregar

  1. Ctrl+S no VS Code salva direto no der.drawio.svg
  2. No navegador: File → Save as → Device, com a extensão .drawio.svg
  3. Confira o nome final: grupoNN-aula06-der.drawio.svg
  4. Entregue na pasta da turma antes de sair
Formato Serve? Por quê
.drawio.svg sim abre como imagem e continua editável
.drawio / .xml sim editável, mas não abre como imagem
.png / .jpg não vira foto: vocês não conseguem mais editar na Aula 09
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone Tropeços que custam caro

Conector que não gruda: se a linha descola quando você move a caixa, ela foi presa a um ponto, não à caixa. Apague e refaça soltando sobre o contorno verde.
Texto minúsculo: no projetor, fonte menor que 12pt some. Selecione tudo (Ctrl+A) e aumente para 12pt ou mais.
Arquivo que eu não abro: PNG, JPG ou print de tela não serão aceitos.
Tudo amontoado: deixe respiro entre as caixas. Diagrama espremido não se lê no projetor.
Esqueceu de salvar: Ctrl+S a cada entidade concluída. O navegador não salva sozinho.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Checagem do Bloco 3

Três coisas que vão acontecer com alguém hoje. O que você faz em cada uma?

  • Você salvou como .png e o arquivo abre bonito na sua tela
  • Moveu a entidade e a linha ficou parada, sozinha, no lugar antigo
  • Do lado do JOGO a linha está com uma risquinha só, e você precisa de vários
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Intervalo

10 minutos

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Desenhar o DER do projeto

  1. Abram o der.drawio.svg do grupo e a paleta Entity Relation
  2. Desenhem uma entidade por vez, com todos os atributos do dicionário (Aula 04)
  3. Marquem a chave primária com * em cada entidade
  4. Liguem as entidades e escrevam o verbo em cada linha
  5. Ajustem os marcadores de cardinalidade e leiam em voz alta nos dois sentidos
  6. Resolvam os N:N criando a entidade do meio, com as duas CE/FK
  7. Salvem como grupoNN-aula06-der.drawio.svg e entreguem
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Enquanto vocês desenham

Passo nas máquinas. O que eu vou conferir:

  • Toda entidade tem * numa chave primária?
  • Toda linha tem um verbo?
  • Toda linha tem marcador nas duas pontas?
  • Sobrou algum N:N sem entidade do meio?
  • As CE/FK estão do lado certo?
  • Dá para ler o diagrama de longe?
Este DER é a base de tudo daqui até a Aula 18. Vale gastar os 40 minutos direito.
Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

icone Um exemplo possível — o DER da locadora

O DER completo da locadora, com PLATAFORMA, JOGO, CLIENTE e EMPRESTIMO, suas chaves e suas cardinalidades

Comparem com o de vocês. Não é gabarito — é uma forma válida de representar a mesma ideia.

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Antes da próxima aula

Testar em casa: reabra o draw.io e desenhe, fora do projeto, duas entidades novas ligadas por um relacionamento — só para treinar a ferramenta sem a pressão do projeto.

Tarefa opcional: releia o DER do grupo procurando um atributo que esteja na entidade errada. Se achar, anote — e traga na Aula 07.

Para treinar: exercícios da Aula 06 — a data que não cabe em lado nenhum, o nome que vira tabela e a caixa que se liga nela mesma — e oito perguntas com resposta na hora. No site da UC, na página da aula.

Aula 06 · 15/10/2026 · Indicadores 2, 4
UC2 · Implementar Banco de Dados

Fim do bloco de Modelagem

O DER está desenhado. Como é que esse desenho vira tabela de verdade?

Aula 06 · 15/10/2026 · Indicadores 2, 4
← todas as aulas