Modelo Entidade Relacionamento para Bancos de Dados

Você conhece o Modelo Entidade Relacionamento (MER)? Hoje eu quero te mostrar o que é esse modelo e como ele funciona!

O Modelo Entidade-Relacionamento (MER) é a representação conceitual de um banco de dados: ele descreve as entidades (objetos do negócio), seus atributos (características) e os relacionamentos entre elas, incluindo a cardinalidade (1 para 1, 1 para n ou n para n). O Diagrama Entidade-Relacionamento (DER) é o desenho que representa esse modelo antes de criar as tabelas no banco de dados.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

O que você aprende neste vídeo

Resposta rápida: O MER descreve um negócio em entidades (os objetos: cliente, produto, funcionário), atributos (as características de cada uma) e relacionamentos (os verbos que as ligam: cliente compra produto). No banco, a entidade vira tabela e o atributo vira coluna, e um relacionamento muitos-para-muitos exige uma terceira tabela.

Neste vídeo (19 min):

  • 1:00 - Antes do modelo vem o levantamento: quais dados o negócio controla, o que precisa ser armazenado e como esses elementos se ligam.
  • 2:30 - MER é o modelo; DER é o diagrama, a representação visual do mesmo levantamento.
  • 3:00 - Entidade: o elemento do negócio, sempre um substantivo, cliente, produto, funcionário, loja, projeto, departamento.
  • 3:30 - Atributos: as características de cada entidade (ID, nome, CPF, preço, data de contratação).
  • 4:30 - A ponte com o banco: a entidade vira tabela e cada atributo vira uma coluna dessa tabela.
  • 5:30 - Relacionamento: como as entidades se ligam, quase sempre expresso por um verbo, “cliente compra produto”.
  • 6:30 - A cardinalidade tem três formas: um-para-um, um-para-muitos e muitos-para-muitos.
  • 7:30 - No exemplo, a relação é muitos-para-muitos: um cliente compra vários produtos e um produto é comprado por vários clientes.
  • 11:00 - Tentativa que não funciona: colocar a lista de produtos numa coluna da tabela de clientes, cada célula só pode ter um valor.
  • 12:00 - O inverso também falha, pelo mesmo motivo: listar vários clientes numa coluna da tabela de produtos.
  • 13:00 - A solução é uma terceira tabela (vendas), com ID da venda, ID do cliente e ID do produto, uma linha por compra.
  • 14:00 - Essa tabela ainda comporta atributos próprios do relacionamento, como a data da venda.
  • 15:00 - Do modelo ao banco: um SGBD relacional (MySQL, SQL Server, PostgreSQL) e os comandos SQL, agrupados em DDL e DML.

Trechos do vídeo:

  • É onde a tabela de vendas ganha sentido: ela não nasce de uma entidade do negócio, e sim da necessidade de registrar a relação entre duas entidades que se cruzam muitas para muitas.
  • A regra que elimina as duas primeiras tentativas é a mesma da normalização: em banco relacional, cada célula guarda um único valor, não uma lista.
  • A divisão dos comandos segue o papel de cada um: DDL (create, alter, drop) monta e altera a estrutura das tabelas; DML (insert, update, delete) mexe nos dados dentro delas.

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

O que é um Modelo Entidade Relacionamento (MER)

O Modelo Entidade Relacionamento para bancos de dados é um modelo que descreve os objetos (entidades) envolvidos em um negócio, com suas características (atributos) e como elas se relacionam entre si (relacionamentos).

Nessa aula eu vou detalhar um pouco mais sobre o MER e como ele pode te auxiliar na construção de bancos de dados.

Ícone SQLSQL Impressionador

Domine a linguagem mais importante do Mundo para quem trabalha com Dados, seja para se destacar na sua empresa atual, para conseguir um diferencial em processos seletivos ou até mesmo para entrar em áreas de dados.

Começar agoraSeta para a direita
Fundo SQLTelas SQL
Luz SQL

Construção de Banco de Dados

Esse modelo vai representar a estrutura que o banco de dados terá. Só que nós temos também, o Diagrama Entidade Relacionamento (DER), que é o desenho esquemático que representa o MER.

Antes de iniciar é importante que você saiba o que precisamos para a construção de um banco de dados.

Para iniciar a construção do banco de dados de um negócio, é necessário fazer o levantamento dos pré-requisitos do projeto.

  • Quais dados serão controlados?
  • Quais informações serão armazenadas?
  • Qual o objetivo da empresa?
  • Quais são os elementos (objetos) do negócio?
  • Quais relações serão estabelecidas entre os elementos do negócio?

Veja que precisamos responder algumas dessas perguntas para construir um banco de dados eficiente e que tenha as informações necessárias para o projeto.

Isso vai evitar com que você construa um banco de dados e tenha que voltar várias vezes para adicionar informações porque a primeira etapa não foi feita de forma eficiente.

Agora vamos a explicação do que é essa entidade. As entidades são os elementos envolvidos no negócio. Cada entidade terá associado uma série de atributos (características):

  • Cliente (id do cliente, nome do cliente, cpf)
  • Produto (id do produto, nome do produto, preço)
  • Funcionário (id do funcionário, nome do funcionário, salário)
  • Loja (id da loja, endereço, contato)
  • Projeto (id do projeto, data de início, responsável)
  • Departamento (id do departamento, nome do departamento, número de funcionários)

Portanto, identificamos uma entidade como um substantivo que representa de forma clara alguma função dentro de um negócio.

Modelo Entidade Relacionamento para Bancos de Dados - imagem ilustrativa

Aqui temos um exemplo de um banco de dados de vendas, então vamos ter cliente, produto, funcionário… Entre outras informações.

Após identificar as entidades, definimos como será feito o relacionamento entre elas. Basicamente, existem 3 tipos de relacionamento:

  • Relacionamento 1 para 1
  • Relacionamento 1 para n
  • Relacionamento n para n

Os relacionamentos em geral são referidos como verbos que representam a forma como as entidades interagem entre si.

Modelo Entidade Relacionamento para Bancos de Dados - imagem ilustrativa

Sabendo quais são as entidades, nós vamos ter o relacionamento entre elas. Esses serão os relacionamentos que vimos anteriormente.

Então podemos ter o cliente comprando apenas 1 item, ou o cliente comprando vários itens, ou vários clientes comprando vários itens.

Agora onde o SQL entra em tudo isso? Bem, ele vai entrar na parte de criação do banco de dados projetado no Modelo Entidade Relacionamento.

Para criar as tabelas do banco de dados projetado no Modelo Entidade Relacionamento, utilizaremos um programa de banco de dados, conhecido como Sistema de Gerenciamento de Banco de Dados Relacional (SGBDR). Os principais são: Oracle, MySQL, SQL Server e PostgreSQL.

Nesse programa, utilizaremos comandos SQL para: criar, alterar, inserir, atualizar e excluir dados das tabelas.

Esses comandos também são conhecidos como DDL e DML.

Modelo Entidade Relacionamento para Bancos de Dados - imagem ilustrativa

Com esses comandos é que você consegue criar, alterar, inserir, atualizar e excluir os dados da tabela. Então pode começar a construir sua base de dados com base nas informações já coletadas.

Dessa forma você garante que seu banco de dados terá as informações corretas e suficientes para fazer suas análises posteriormente e armazenar tudo o que precisa.

Perguntas frequentes sobre Modelo Entidade-Relacionamento (MER)

1. Qual a diferença entre MER e DER?

O MER (Modelo Entidade-Relacionamento) é o modelo conceitual que descreve entidades, atributos e relacionamentos de um banco de dados. O DER (Diagrama Entidade-Relacionamento) é a representação gráfica desse modelo, o desenho que materializa o MER visualmente antes da criação das tabelas.

2. O que é uma entidade e o que é um atributo no MER?

Uma entidade é um objeto ou conceito do negócio que precisa ter dados armazenados, como Cliente, Produto ou Funcionário. Um atributo é uma característica dessa entidade, como nome, CPF ou preço. Cada entidade pode ter vários atributos.

3. Quais são os tipos de cardinalidade entre entidades?

Existem três tipos de relacionamento: 1 para 1 (um registro se associa a apenas um outro), 1 para n (um registro se associa a vários) e n para n (vários registros se associam a vários). A cardinalidade define como as entidades se conectam no banco de dados.

4. Como o MER se relaciona com os comandos SQL?

Depois de definir entidades, atributos e relacionamentos no MER, esse modelo vira a base para criar as tabelas em um SGBDR, como MySQL, SQL Server, Oracle ou PostgreSQL. Os comandos SQL (DDL e DML) criam, alteram, inserem e atualizam os dados dessas tabelas.

5. O que são chave primária e chave estrangeira?

A chave primária é o atributo que identifica cada registro de forma única dentro de uma entidade, como o ID do cliente. A chave estrangeira é o atributo que referencia a chave primária de outra entidade, sendo o elemento que efetiva o relacionamento entre as tabelas.

6. Dá para aprender a montar um MER sem saber programar?

Sim. O MER é um modelo conceitual e não exige conhecimento prévio de programação, apenas entendimento do negócio que será representado. A prática com comandos SQL entra depois, só na etapa de criação das tabelas no banco de dados.

Conclusão – Modelo Entidade Relacionamento

Nessa aula eu te mostrei o que é o MER e como ele funciona para a criação de bancos de dados. É importante que você conheça esses termos e modelos para quando for estudar sobre SQL ou bancos de dados tudo ficar mais claro!

Se você deseja se aprofundar, um curso de SQL pode ser uma excelente oportunidade para aprender a fundo os conceitos e a prática. Além disso, quando mencionei sobre o SGBDR, deixei alguns links para que você possa dar os primeiros passos em cada um deles e já criar seu primeiro banco de dados.

Dessa forma você vai conseguir ver na prática como isso funciona e a importância de criar um banco de dados bem elaborado no início para não ter que voltar no início e refazer alguns passos.

Eu fico por aqui! Até a próxima! Um abraço,

Hashtag Treinamentos

Para acessar outras publicações de SQL, clique aqui!


Quer aprender mais sobre SQL com um minicurso básico gratuito?