Modelo de diagrama de relacionamento de entidade (ER) com exemplo de DBMS
โก Resumo Inteligente
Exemplo de Diagrama de Entidade-Relacionamento (ER) com SGBD Ilustra um mรฉtodo estruturado para representar visualmente dados e suas interconexรตes em bancos de dados relacionais. Proposto por Peter Chen, ele fornece uma base de modelagem conceitual para definir entidades, atributos, relacionamentos e suas cardinalidades com precisรฃo.
O que รฉ um diagrama ER?
O Diagrama de Entidade-Relacionamento (ER) รฉ uma poderosa ferramenta visual para projetar estruturas de bancos de dados relacionais. Proposto inicialmente por Peter Chen em 1976, ele fornece uma base conceitual para modelagem, definindo entidades, atributos, relacionamentos e suas cardinalidades com precisรฃo. Este tutorial abrange tudo, desde conceitos bรกsicos atรฉ tรฉcnicas avanรงadas, ajudando vocรช a dominar o projeto de esquemas de banco de dados.
Os diagramas ER contรชm diferentes sรญmbolos que usam retรขngulos para representar entidades, ovais para definir atributos e losangos para representar relacionamentos.
ร primeira vista, um Diagrama ER parece muito semelhante a um fluxograma. No entanto, um Diagrama ER inclui muitos sรญmbolos especializados, e seus significados tornam esse modelo รบnico. O objetivo de um Diagrama ER รฉ representar a infraestrutura do framework de entidades.

Histรณrico dos Modelos de ER
Peter Chen propรดs o Diagrama ER em 1976, em seu artigo seminal "O Modelo Entidade-Relacionamento: Rumo a uma Visรฃo Unificada dos Dados". Seu objetivo era criar uma convenรงรฃo uniforme que pudesse ser usada tanto para bancos de dados relacionais quanto para redes. Chen idealizou o Modelo ER como uma abordagem de modelagem conceitual que preencheria a lacuna entre os requisitos do mundo real e a implementaรงรฃo tรฉcnica de bancos de dados.
Desde entรฃo, o Modelo ER evoluiu com vรกrios sistemas de notaรงรฃo, incluindo a Notaรงรฃo de Chen (a original), a Notaรงรฃo de Pรฉ de Galinha (popular em ferramentas modernas) e abordagens baseadas em UML. Apesar dessas variaรงรตes, os conceitos fundamentais permanecem consistentes em todas as implementaรงรตes.
Por que usar diagramas ER?
Os diagramas ER oferecem inรบmeros benefรญcios para o projeto e desenvolvimento de bancos de dados:
- Comunicaรงรฃo visual: Elas fornecem uma representaรงรฃo visual clara que pode ser compreendida tanto por pessoas com conhecimento tรฉcnico quanto por aquelas sem.
- Plano para o Desenvolvimento: Elas mostram exatamente como as tabelas devem ser conectadas e quais campos cada tabela conterรก.
- Traduรงรฃo pronta: Os diagramas ER podem ser traduzidos diretamente em tabelas relacionais, permitindo que vocรช crie bancos de dados rapidamente.
- Prevenรงรฃo de erros: Elas ajudam a identificar falhas de projeto e redundรขncias antes da implementaรงรฃo, economizando tempo e recursos.
- Documentaรงรฃo: Servem como documentaรงรฃo permanente que ajuda os novos membros da equipe a compreender a arquitetura do sistema.
- Anรกlise de sistema: Eles ajudam a identificar todas as entidades que existem em um sistema e as relaรงรตes entre elas.
Componentes do Diagrama ER
Todo diagrama ER รฉ construรญdo a partir de trรชs componentes principais: Entidades, Atributos e Relacionamentos. Compreender cada componente e como eles interagem รฉ essencial para criar projetos de banco de dados eficazes.
Exemplos de diagramas ER
Por exemplo, em um banco de dados universitรกrio, podemos ter entidades para Alunos, Cursos e Professores. Uma entidade Aluno pode ter atributos como Matrรญcula, Nome e ID do Departamento. Ela pode ter relacionamentos com Cursos e Professores.
Entidades
Uma entidade representa qualquer objeto do mundo real โ vivo ou nรฃo vivo โ que possa ser claramente identificado e sobre o qual dados possam ser armazenados. Pode ser algo fรญsico, um fato sobre a empresa ou um evento que ocorre no mundo real. As entidades podem incluir pessoas, lugares, objetos, eventos ou conceitos.
Exemplos de entidades por categoria:
- Pessoa: Funcionรกrio, Estudante, Paciente, Cliente
- local: Loja, Edifรญcio, Escritรณrio, Armazรฉm
- Objeto: Mรกquina, Produto, Carro, Livro
- Evento: Venda, Registro, Renovaรงรฃo, Transaรงรฃo
- Conceito: Conta, Curso, Departamento, Projeto
Conjunto de Entidades
Um conjunto de entidades รฉ um grupo de entidades semelhantes que compartilham atributos comuns. Por exemplo, todos os alunos de uma universidade formam um conjunto de entidades "Aluno". As entidades sรฃo representadas em diagramas ER usando retรขngulos, com o nome da entidade escrito dentro deles.
As entidades sรฃo representadas por suas propriedades, tambรฉm chamadas de atributos. Todos os atributos possuem valores distintos. Por exemplo, uma entidade estudante pode ter como atributos nome, idade e turma.
Entidades fortes vs. Entidades fracas
As entidades sรฃo classificadas como fortes ou fracas com base em sua capacidade de existir independentemente. Compreender essa distinรงรฃo รฉ crucial para um projeto de banco de dados adequado.
Uma entidade forte possui sua prรณpria chave primรกria e pode existir independentemente. Por exemplo, uma entidade "Aluno" pode ser identificada exclusivamente pelo ID do aluno, sem depender de nenhuma outra entidade.
Uma entidade fraca nรฃo possui uma chave primรกria prรณpria e depende de uma entidade forte (chamada de entidade proprietรกria) para sua identificaรงรฃo. Ela utiliza uma chave parcial (discriminador) combinada com a chave primรกria da entidade proprietรกria para garantir a unicidade. Por exemplo, em um sistema bancรกrio, uma entidade "Transaรงรฃo" depende de uma entidade "Conta" โ o nรบmero da transaรงรฃo, por si sรณ, nรฃo รฉ รบnico em todo o banco de dados, mas, combinado com o nรบmero da conta, torna-se รบnico.
| Entidade Forte | Entidade Fraca |
|---|---|
| Possui sua prรณpria chave primรกria. | Nรฃo possui chave primรกria; utiliza chave parcial. |
| Representado por um รบnico retรขngulo | Representado por um retรขngulo duplo |
| A chave primรกria estรก sublinhada com uma linha contรญnua. | Parte da chave estรก sublinhada com uma linha tracejada. |
| Podem existir independentemente | Depende da entidade proprietรกria para existir. |
| Relacionado com um รบnico diamante | Conectado com diamante duplo (relaรงรฃo de identificaรงรฃo) |
| Exemplo: Estudante, Funcionรกrio, Produto | Exemplo: Transaรงรฃo, Dependente, Item_do_Pedido |
Relacionamento
Um relacionamento representa uma associaรงรฃo entre duas ou mais entidades. Os relacionamentos sรฃo geralmente identificados por meio de verbos ou locuรงรตes verbais que descrevem como as entidades interagem entre si. Em diagramas ER, os relacionamentos sรฃo representados por losangos. Exemplo: Tom trabalha no departamento de Quรญmica.
As entidades participam dos relacionamentos. Muitas vezes podemos identificar relaรงรตes com verbos ou frases verbais.
Exemplos:
- Vocรช estรก participando desta palestra
- estou dando a palestra
- Um estudante assiste a uma palestra
- Um palestrante estรก dando uma palestra.
Atributos
Um atributo รฉ uma propriedade ou caracterรญstica que descreve uma entidade ou relacionamento. Os atributos fornecem as informaรงรตes detalhadas que tornam cada instรขncia de entidade รบnica e significativa. Em diagramas ER, os atributos sรฃo representados por ovais (elipses) conectados ร sua entidade pai por uma linha.
Por exemplo, uma entidade Estudante pode ter atributos como ID_do_Estudante, Nome, Data_de_Nascimento, Email e Nรบmero_de_Telefone.
Tipos de atributos
| Tipo de Atributo | Descriรงรฃo | Exemplo |
|---|---|---|
| Simples (Atomic) | Nรฃo pode ser dividido em componentes menores. | Nรบmero de telefone, CPF, e-mail |
| composto | Pode ser dividido em subatributos menores. | Nome completo (nome, nome do meio, sobrenome), endereรงo (rua, cidade, CEP) |
| Derivado | O valor รฉ calculado a partir de outros atributos; nรฃo รฉ armazenado diretamente. | Idade (calculada a partir da data de nascimento), Preรงo total |
| Multivalorado | Pode armazenar mรบltiplos valores para uma รบnica entidade. | Telemรณvel NumbersEndereรงos de e-mail, Habilidades |
| Atributo Chave | Identifica exclusivamente cada instรขncia da entidade (Chave Primรกria) | ID_do_aluno, ID_do_funcionรกrio, ISBN |
Dica chave: Nos diagramas ER, os atributos principais sรฃo representados com seus nomes sublinhados. Os atributos derivados sรฃo representados por ovais tracejados e os atributos multivalorados por ovais duplos.
Cardinalidade (Tipos de Relacionamento)
A cardinalidade define as restriรงรตes numรฉricas de um relacionamento โ especificamente, quantas instรขncias de uma entidade podem ser associadas a instรขncias de outra entidade. Compreender a cardinalidade รฉ essencial para projetar estruturas de banco de dados eficientes.
1. Um para um (1:1)
Uma entidade do conjunto A pode ser associada a, no mรกximo, uma entidade do conjunto B, e vice-versa.
Exemplo: Um aluno recebe exatamente um nรบmero de identificaรงรฃo estudantil, e cada nรบmero de identificaรงรฃo estudantil pertence a exatamente um aluno.
2. Um-para-Muitos (1:N)
Uma entidade do conjunto A pode ser associada a mรบltiplas entidades do conjunto B, mas cada entidade em B estรก associada a apenas uma entidade em A.
Exemplo: Uma turma รฉ composta por vรกrios alunos.
3. Muitos-para-Um (N:1)
Mรบltiplas entidades do conjunto A podem ser associadas a uma entidade do conjunto B.
Por exemplo, muitos alunos pertencem ร mesma turma.
4. Muitos para muitos (M:N)
Vรกrias entidades do conjunto A podem ser associadas a vรกrias entidades do conjunto B, e vice-versa.
Por exemplo, os alunos como um grupo estรฃo associados a vรกrios membros do corpo docente, e os membros do corpo docente podem estar associados a vรกrios alunos.
Sรญmbolos e Notaรงรตes de Diagramas ER
Os diagramas ER utilizam sรญmbolos padronizados para representar diferentes componentes. Embora existam diversos sistemas de notaรงรฃo, os dois mais utilizados sรฃo a notaรงรฃo de Chen e a notaรงรฃo de pรฉ de galinha.
Notaรงรฃo de Chen
A notaรงรฃo de Chen, desenvolvida por Peter Chen em 1976, utiliza formas geomรฉtricas para representar diferentes elementos:
| Sรญmbolo | Nome | representa |
|---|---|---|
| Retangular | Entidade | Entidade forte (ex.: Aluno, Produto) |
| Double Retangular | Entidade Fraca | Entidade dependente de outra (ex.: Transaรงรฃo) |
| Elipse/Oval | Atributo | Propriedade de uma entidade (ex.: Nome, ID) |
| Double Elipse | Atributo multivalorado | Atributo com mรบltiplos valores (ex.: Telefone) Numbers) |
| Elipse tracejada | Atributo derivado | Valor calculado (ex.: idade a partir da data de nascimento) |
| Diamante | Relacionamento | Associaรงรฃo entre entidades (ex.: Inscriรงรตes) |
| Double Diamante | Relaรงรฃo de Identificaรงรฃo | Relaรงรฃo com entidade fraca |
| Line | de vidrio | Conecta componentes. |
| Texto sublinhado | Chave primรกria | Identificador รบnico para entidade |
Notaรงรฃo de Pรฉ de Galinha
A notaรงรฃo de pรฉ de galinha (tambรฉm chamada de notaรงรฃo IE) รฉ mais comumente usada em ferramentas modernas de design de banco de dados. Ela usa diferentes finais de linha para representar a cardinalidade e รฉ particularmente eficaz para mostrar o lado "muitos" dos relacionamentos.
| Sรญmbolo Descriptรญon | Significado |
|---|---|
| Linha vertical รบnica (|) | Obrigatรณrio Um (exatamente um) |
| Cรญrculo com linha (O|) | Opcional Um (zero ou um) |
| Pรฉ de galinha com linha (>|) | Obrigatรณrio Muitos (um ou mais) |
| Pรฉ de galinha com cรญrculo (>O) | Opcional: Muitos (zero ou mais) |
Notaรงรฃo de Chen vs. Notaรงรฃo de Pรฉ de Galinha: Quando usar cada uma
| Aspecto | Notaรงรฃo de Chen | Notaรงรฃo de Pรฉ de Galinha |
|---|---|---|
| Melhor Para | Modelagem conceitual, uso acadรชmico | Modelagem fรญsica/lรณgica, uso industrial |
| Exibiรงรฃo de atributos | Exibe todos os atributos visualmente. | Lista os atributos dentro da caixa da entidade |
| Cardinalidade | Usa nรบmeros (1, N, M) | Utiliza sรญmbolos visuais |
| Complexidade | Pode ficar desorganizado | Mais compacto e mais limpo |
| Suporte de ferramenta | Suporte limitado para ferramentas modernas | Amplamente suportado em ferramentas |
Como criar um diagrama de relacionamento entre entidades (ERD)
Neste tutorial sobre Diagrama ER (Entidade-Relaรงรฃo), aprenderemos como criar um Diagrama ER. Os passos para criar um Diagrama ER sรฃo os seguintes:
Vamos estudรก-los com um exemplo de diagrama de relacionamento de entidade:
Em uma universidade, um aluno se matricula em disciplinas. Um aluno deve ser matriculado em pelo menos uma disciplina. Cada disciplina รฉ ministrada por um รบnico professor. Para manter a qualidade do ensino, um professor pode ministrar apenas uma disciplina.
Etapa 1) Identificaรงรฃo da Entidade
Temos trรชs entidades:
- estudante
- Para
- Professor
Etapa 2) Identificaรงรฃo de Relacionamento
Temos as seguintes duas relaรงรตes:
- O aluno รฉ atribuรญdo um curso
- O professor entrega um curso
Etapa 3) Identificaรงรฃo da Cardinalidade
A partir da descriรงรฃo do problema, sabemos que:
- Um aluno pode ser designado mรบltiplo cursos
- Um professor sรณ pode entregar um curso
Etapa 4) Identificar atributos
Vocรช precisa estudar os arquivos, formulรกrios, relatรณrios e dados atualmente mantidos pela organizaรงรฃo para identificar os atributos. Vocรช tambรฉm pode realizar entrevistas com diversas partes interessadas para identificar as entidades. Inicialmente, รฉ importante identificar os atributos sem associรก-los a uma entidade especรญfica.
Apรณs obter a lista de atributos, vocรช precisa mapeรก-los para as entidades identificadas. Certifique-se de que um atributo esteja associado a exatamente uma entidade. Se vocรช acha que um atributo deve pertencer a mais de uma entidade, use um modificador para tornรก-lo รบnico.
Feito o mapeamento, identifique as chaves primรกrias. Se uma chave exclusiva nรฃo estiver disponรญvel, crie uma.
| Entidade | Chave primรกria | Atributo |
|---|---|---|
| estudante | Identidade estudantil | Nome do aluno |
| Professor | ID do Empregado | ProfessorNome |
| Para | Identidade do curso | Nome do curso |
Para a entidade Curso, os atributos podem ser Duraรงรฃo, Crรฉditos, Tarefas, etc. Para simplificar, consideramos apenas um atributo.
Etapa 5) Crie o DER (Diagrama Entidade-Relacionamento).
Exemplo de uma representaรงรฃo mais moderna de um Diagrama de Entidade-Relacionamento:
Melhores Prรกticas para Diagramas ER Eficazes
Siga estas diretrizes para criar diagramas ER claros, fรกceis de manter e eficazes:
- Eliminar a redundรขncia: Remova entidades, atributos ou relacionamentos duplicados.
- Use convenรงรตes de nomenclatura claras: Use nomes consistentes e descritivos. Evite abreviaรงรตes.
- Validar em relaรงรฃo aos requisitos: Certifique-se de que o diagrama suporte todas as necessidades de armazenamento de dados.
- Mantenha simples: Crie vรกrios diagramas em diferentes nรญveis, em vez de um รบnico diagrama confuso.
- Use cores com moderaรงรฃo: Use cores de forma consistente para destacar as categorias.
- Pressupostos do documento: Inclua notas explicativas sobre as premissas das regras de negรณcio.
- RevVisualizaรงรฃo com as partes interessadas: Peรงa aos usuรกrios de negรณcios e ร equipe tรฉcnica que revisem o diagrama.
- Controle de versรฃo: Manter versรตes atualizadas conforme o projeto evolui.
Diagramas ER versus Diagramas de Classe UML
Embora os diagramas ER e os diagramas de classes UML sejam usados โโpara modelagem de dados, eles servem a propรณsitos e contextos diferentes. Compreender quando usar cada um รฉ importante para um projeto de sistema eficaz.
| Aspecto | Diagrama ER | Diagrama de Classe UML |
|---|---|---|
| Objetivo Primรกrio | Projeto de banco de dados | Design de software/objeto |
| Foco | Dados e relaรงรตes | Objetos, mรฉtodos e comportamentos |
| Mรฉtodos/Operaรงรตes | Nรฃo suportado | Totalmente compatรญvel |
| Heranรงa | Limitado (apenas em EER) | Apoio total |
| Uso da indรบstria | Administradores de banco de dados, analistas de dados | Desenvolvedores de software, arquitetos |
















