O modelo Entidade-Relacionamento foi proposto por Peter Chen (1976) em seu artigo seminal "The Entity-Relationship Model: Toward a Unified View of Data". Segundo Elmasri & Navathe (2017), o modelo ER é uma ferramenta conceitual para descrever dados, suas relações, semântica e restrições de integridade.
"O modelo ER é uma representação conceitual de dados que descreve a estrutura de um banco de dados de forma independente do SGBD específico" - Date (2003)
Uma entidade é um objeto do mundo real que pode ser identificado de forma única e que possui atributos que descrevem suas características. Representa uma "coisa" ou "conceito" importante para o sistema.
Cada instância é distinta e identificável
Propriedades que caracterizam a entidade
Pode ter muitas ocorrências no sistema
Existe ao longo do tempo no sistema
Um atributo é uma propriedade ou característica que descreve uma entidade. Cada atributo possui um nome e um domínio (tipo de dados) que define os valores válidos que pode assumir.
Identifica claramente a propriedade
Define tipos e restrições válidas
Pode ser obrigatório ou opcional
Garante consistência dos dados
Um relacionamento é uma associação entre duas ou mais entidades que descreve como elas se conectam no mundo real. A cardinalidade define quantas instâncias de uma entidade podem estar associadas a instâncias de outra entidade.
Cada pessoa tem exatamente um CPF e cada CPF pertence a uma única pessoa.
Um departamento pode ter vários funcionários, mas cada funcionário pertence a apenas um departamento.
Um aluno pode se matricular em várias disciplinas e uma disciplina pode ter vários alunos.
Conecta entidades de forma significativa
Define quantidades de associações
Identifica claramente a associação
Pode ser obrigatória ou opcional
Entidades que podem existir independentemente de outras entidades.
Entidades que dependem de outras entidades para sua identificação.
Atributo indivisível
Ex: Idade, Nome
Pode ser dividido em partes
Ex: Endereço → Rua, Cidade
Um valor por instância
Ex: CPF, Data Nascimento
Múltiplos valores
Ex: Telefones, Habilidades
Valor armazenado fisicamente
Ex: Nome, Idade
Calculado a partir de outros
Ex: Idade (calculada), Total
Atributo ou conjunto de atributos que identifica unicamente cada instância de uma entidade.
Atributo que referencia a chave primária de outra entidade.
Para um sistema de e-commerce, identifique:
Crie um diagrama ER para um sistema de: