Aprenda os fundamentos de diagramas e modelos ER, juntamente com seus usos, origens, exemplos, componentes, limitações e orientações sobre como desenhá-los usando a nossa ferramenta de diagramas ER.
Leitura de 11 minuto(s)
Quer criar seu próprio diagrama ER? Experimente o Lucidchart. É rápido, fácil e completamente gratuito.
Conceito de diagrama entidade relacionamento
Um diagrama entidade relacionamento (ER) é um tipo de fluxograma que ilustra como “entidades”, p. ex., pessoas, objetos ou conceitos, se relacionam entre si dentro de um sistema. Diagramas ER são mais utilizados para projetar ou depurar bancos de dados relacionais nas áreas de engenharia de software, sistemas de informações empresariais, educação e pesquisa. Também conhecidos como DERs, ou modelos ER, usam um conjunto definido de símbolos, tais como retângulos, diamantes, ovais e linhas de conexão para representar a interconectividade de entidades, relacionamentos e seus atributos. Eles espelham estruturas gramaticais, onde entidades são substantivos e relacionamentos são verbos.
Diagramas ER estão relacionados com diagramas de estrutura de dados (DEDs), que incidem sobre as relações de elementos dentro de entidades em vez de relações entre as próprias entidades. Diagramas ER são também muitas vezes utilizados junto com diagramas de fluxo de dados (DFDs), que mapeiam o fluxo de informações para processos ou sistemas.
Histórico de modelos ER
Peter Chen (também conhecido como Peter Pin-Shan Chen), atualmente membro do corpo docente da Carnegie-Mellon University, em Pittsburgh, EUA, desenvolveu a modelagem ER para o design de bancos de dados na década de 1970. Enquanto professor assistente na Sloan School of Management, do MIT, Peter publicou um artigo inovador em 1976 intitulado “O Modelo entidade relacionamento: uma visão unificada de dados” (em tradução livre).
Num sentido mais amplo, a representação da interconectividade das coisas remonta à Grécia antiga, com as obras de Aristóteles, Sócrates e Platão. Mais recentemente, é representada em trabalhos do século 19 e 20 de filósofos-lógicos como Charles Sanders Peirce e Gottlob Frege.
Na década de 1960 e 70, Charles Bachman (acima) e A.P.G. Brown trabalhavam a abordagem de Peter Chen. Bachman desenvolveu um tipo de diagrama de estrutura de dados, batizado de diagrama de Bachman. Brown publicou trabalhos sobre modelagens de sistemas do mundo real. James Martin acrescentou refinamentos aos DERs. Os trabalhos de Chen, Bachman, Brown, Martin e outros também contribuíram para o desenvolvimento da Linguagem de modelagem unificada (UML, Unified Modeling Language, em inglês), amplamente utilizada em design de software.
Usos de diagramas entidade relacionamento
Design de banco de dados:
diagramas ER são usados para modelar e criar bancos de dados relacionais, em termos de regras lógicas e de negócio (em um modelo lógico de dados) e em termos da tecnologia específica a ser implementada (em um modelo físico de dados.) Na engenharia de software, um diagrama ER é muitas vezes um passo inicial na determinação de requisitos para um projeto de sistemas da informação. Também é usado para modelar certos bancos de dados. Um banco de dados relacional possui uma tabela relacional equivalente, e pode potencialmente ser expressado dessa forma, conforme necessário.Solução de problemas de bancos de dados:
diagramas ER são usados para analisar bancos de dados existentes para encontrar e resolver problemas de lógica ou de implementação. Ao desenhar o diagrama, o erro deverá ser revelado.Sistemas de informação de negócios:
os diagramas são usados para criar ou analisar bancos de dados relacionais utilizados em processos de negócios. Qualquer processo de negócio que use dados padronizados envolvendo entidades, ações e interação pode potencialmente se beneficiar de um banco de dados relacional. Ele pode agilizar os processos, revelar informações mais facilmente e melhorar os resultados.Reengenharia de processos de negócio (RPN):
diagramas ER ajudam na análise de bancos de dados utilizados na reengenharia de processos de negócio e na modelagem de uma nova configuração de bancos de dados.Educação:
bancos de dados são o método atual de armazenamento de informação relacional para fins educacionais e sua posterior recuperação. Portanto, diagramas ER podem ajudar no planejamento dessas estruturas de dados.Pesquisa:
como muitas pesquisas baseiam-se em dados estruturados, diagramas ER podem desempenhar um papel fundamental na criação de bancos de dados úteis para analisar dados.
Componentes e funcionalidades de um diagrama ER
Diagramas ER são compostos de entidades, relacionamentos e atributos. Eles também descrevem a cardinalidade, que define as relações em termos de números. Veja um glossário:
Entidade
Algo que pode ser definido e que pode ter dados armazenados sobre ele — como uma pessoa, um objeto, conceito ou evento. Pense em entidades como substantivos. Exemplos: um cliente, estudante, carro ou produto. Normalmente representado como um retângulo.
Tipo de entidade: um grupo de coisas definíveis, como estudantes ou atletas, ao passo que a entidade seria um estudante ou atleta específico. Outros exemplos: clientes, carros ou produtos.
Conjunto de entidade: assim como um tipo de entidade, mas definido em um determinado ponto no tempo, tal como estudantes matriculados em um curso no primeiro dia de aula. Outros exemplos: clientes que fizeram compras no mês passado, carros atualmente registrados na Flórida. Um termo relacionado é ‘instância’, em que a pessoa ou carro específico seria uma instância do conjunto de entidade.
Categorias de entidades: entidades são categorizadas como forte, fraca ou associativa. Uma entidade forte pode ser definida unicamente pelos seus próprios atributos, enquanto uma entidade fraca não pode. Uma entidade associativa junta entidades (ou elementos) dentro de um conjunto de entidades.
Chaves de entidades: refere-se a um atributo que define exclusivamente uma entidade dentro de um conjunto de entidades. Chaves de entidades podem ser super, candidata ou primária. Superchave: um conjunto de atributos (um ou mais) que, juntos, definem uma entidade em um conjunto de entidades. Chave candidata: uma superchave mínima, o que significa que tem o menor número possível de atributos para ser uma superchave. Um conjunto de entidades pode ter mais de uma chave candidata. Chave primária: uma chave candidata escolhida pelo designer do banco de dados para identificar exclusivamente o conjunto de entidades. Chave estrangeira: identifica o relacionamento entre entidades.
Relacionamento
Como entidades atuam umas sobre as outras ou estão associadas uma com a outra. Pense em relacionamentos como verbos. Por exemplo, o estudante pode se inscrever em um curso. As duas entidades seriam o aluno e o curso, e o relacionamento descrito é o ato de matricular-se, assim conectando as duas entidades. Relacionamentos são tipicamente representados por diamantes ou etiquetas diretamente sobre as linhas de ligação.
Relacionamento recursivo: a mesma entidade participa mais de uma vez na relação.
Atributo
A propriedade ou característica de uma entidade, muitas vezes representada por um oval ou círculo.
Atributo descritivo: uma propriedade ou característica de uma relação (versus de uma entidade).
Categorias de atributos: atributos são classificados como simples, composto, derivado, bem como de valor único ou multivalor. Simples: significa que o valor do atributo é atômico e não pode ser dividido, como um número de telefone. Composto: subatributos nascem de um atributo. Derivado: o atributo é calculado, ou derivado de outro atributo, tal como a idade a partir de uma data de nascimento.
Multivalor: mais de um valor de atributo é identificado, como vários números de telefone para uma única pessoa.
Valor único: apenas um valor de atributo. Os tipos podem ser combinados, tais como: atributos de valor único e simples ou atributos de multivalor compostos.
Cardinalidade
Define os atributos numéricos da relação entre duas entidades ou conjuntos de entidades. Os três principais relacionamentos cardinais são um-para-um, um-para-muitos e muitos-para-muitos. Um exemplo de um-para-um seria um estudante associado a um endereço de correspondência. Um exemplo de um-para-muitos (ou muitos-para-um, dependendo do sentido da relação): um estudante se inscreve para vários cursos, mas todos esses cursos têm uma única linha que leva de volta ao aluno. Exemplo de muitos-para-muitos: estudantes como um grupo são associados a vários membros do corpo docente, e membros do corpo docente, por sua vez, são associados a vários alunos.
Visualizações de cardinalidade: a cardinalidade pode ser representada por interpolação ou do mesmo lado, dependendo de onde os símbolos são mostrados.
Restrições de cardinalidade: os números mínimos ou máximos que se aplicam a um relacionamento.
Mapeamento de linguagem natural
Componentes de ER podem ser equiparados a partes do discurso, como demonstrado por Peter Chen. Isso mostra como um diagrama ER se compara a um diagrama de gramática:
Substantivo comum:
tipo de entidade. Exemplo: estudante.Nome próprio:
entidade. Exemplo: Sally Smith.Verbo:
tipo de relacionamento. Exemplo: matricula-se. (Tal como em um curso, o que seria um outro tipo de entidade.)Adjetivo:
atributo para a entidade. Exemplo: aluno do segundo ano.Advérbio:
atributo para o relacionamento. Exemplo: digitalmente.
A linguagem de consulta de banco de dados ERROL imita construções de linguagem natural. ERROL é baseado em álgebra relacional remodelada (RRA, em inglês) e funciona com modelos ER, capturando seus aspectos linguísticos.
Quer criar seu próprio diagrama ER? Experimente o Lucidchart. É rápido, fácil e completamente gratuito.
Crie um diagrama ERSímbolos e notações de diagramas ER
Existem diversos sistemas de notação que são semelhantes entre si, porém variam em alguns detalhes.
Estilo de notação Chen
Estilo pé de galinha/Martin/engenharia da informação
Estilo Bachman
Estilo IDEF1X
Estilo Barker
Exemplos
Seguem exemplos de diagramas ER feitos em cada sistema.
Modelos conceituais, lógicos e de dados físicos
Modelos ER e modelos de dados são normalmente desenhadas em até três níveis de detalhe:
Modelo de dados conceitual:
a visão de mais alto nível que contém o mínimo de detalhe. Seu valor é de mostrar um âmbito geral do modelo e retratar a arquitetura do sistema. Para um sistema de alcance menor, pode não ser necessário desenhar. Em vez disso, comece com um modelo lógico.Modelo de dados lógico:
contém mais detalhes que um modelo conceitual e entidades operacionais e transacionais mais detalhadas agora são definidas. O modelo lógico é independente da tecnologia na qual ele será implementado.Modelo de dados físico:
um ou mais modelos físicos podem ser desenvolvidos a partir de cada modelo lógico. Modelos físicos devem mostrar detalhes de tecnologia suficientes para produzir e implementar o banco de dados.
Note-se que existem níveis de detalhes e alcance semelhantes em outros tipos de diagramas, tais como diagramas de fluxo de dados, mas que contrastam com a abordagem de três esquemas da engenharia de software, que por sua vez divide a informação de outra forma. Por vezes, engenheiros ramificam diagramas ER com hierarquias adicionais para acrescentar níveis de informação necessários para poder criar o banco de dados. Por exemplo, eles podem adicionar agrupamentos estendendo para cima com superclasses, e para baixo com subclasses.
Limitações de diagramas e modelos ER
Apenas para dados relacionais:
entenda que o objetivo é mostrar as relações. Diagramas ER mostram apenas essa estrutura relacional.Não é para dados não estruturados:
a menos que os dados sejam claramente delineados em diferentes campos, linhas ou colunas, diagramas ER são, provavelmente, de uso limitado. O mesmo vale para dados semiestruturados, pois apenas alguns dos dados terão utilidade.Dificuldade ao integrar com um banco de dados existente:
devido às diferentes arquiteturas, o uso de modelos ER para integração com um banco de dados pode ser dificultoso.
Como desenhar um diagrama ER básico
-
Finalidade e alcance: defina a finalidade e o alcance do que você está analisando ou modelando.
-
Entidades: identifique as entidades que estão envolvidas. Quando estiver pronto, comece a desenhá-las em retângulos (ou preferência de forma de seu sistema) e rotulá-las como substantivos.
-
Relacionamentos: determine como as entidades estão todas relacionadas. Desenhe linhas entre elas para mostrar as relações e rotulá-las. Algumas entidades podem não estar relacionadas, e isso não é um problema. Em diferentes sistemas de notação, a relação pode ser rotulada em um diamante, outro retângulo ou diretamente em cima da linha de ligação.
-
Atributos: acrescente mais camadas de detalhes ao adicionar atributos-chave de entidades. Atributos são frequentemente apresentados como ovais.
-
Cardinalidade: mostre se a relação é de um-para-um, um-para-muitos ou muitos-para-muitos.
Mais dicas para diagramas ER
-
Mostre o nível de detalhe necessário para o seu propósito. Você pode desenhar um modelo conceitual, lógico ou físico, dependendo dos detalhes necessários. (Veja acima as descrições desses níveis.)
-
Fique atento a entidades ou relacionamentos redundantes.
-
Se você estiver solucionando um problema de banco de dados, fique atento aos buracos nos relacionamentos, ou entidades ou atributos ausentes.
-
Certifique-se de que todas as suas entidades e os seus relacionamentos estão rotulados.
-
Você pode traduzir repetidas vezes tabelas relacionais e diagramas ER, se isso o ajudar a atingir seu objetivo.
-
Certifique-se de que o diagrama ER suporta todos os dados que você precisa armazenar.
- Pode haver diferentes abordagens para um diagrama ER. Contanto que ele forneça as informações necessárias para seu alcance e objetivo, é válido.