🔗 Tópico 2 - Modelo Entidade-Relacionamento (ER)

🎯 Objetivos de Aprendizagem
  • Compreender o conceito e importância do modelo ER
  • Identificar os elementos básicos do modelo ER
  • Aprender a representar entidades e relacionamentos
  • Entender a notação gráfica do modelo ER
  • Praticar a criação de diagramas ER simples
🔍 1. Introdução ao Modelo Entidade-Relacionamento

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.

Definição Acadêmica

"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)

🎯 Objetivos do Modelo ER:
  • Comunicação: Linguagem comum entre usuários e desenvolvedores
  • Documentação: Especificação formal dos requisitos
  • Validação: Verificação da completude e consistência
  • Projeto: Base para implementação física
  • Manutenção: Facilita modificações futuras
  • Padronização: Notação universalmente aceita
🧩 2.1 Elementos Básicos do Modelo ER - Entidades
Definição de Entidade

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.

📐 Forma de Representação: Retângulo
PESSOA
ID
Nome
Idade
Email
Entidade PESSOA
🎯 Tipos de Entidades
EMPRESA
CNPJ
Razão Social
Endereço
🔹 Entidade Forte (Regular)
  • Pode existir independentemente
  • Possui chave primária própria
  • Representada por retângulo simples
DEPENDENTE
ID_Funcionário
Nome
Parentesco
🔸 Entidade Fraca (Dependente)
  • Depende de outra entidade
  • Chave parcial (depende da entidade forte)
  • Representada por retângulo duplo
📋 Exemplos Práticos de Entidades
🏢 Sistema Empresarial:
👤 Funcionário 🏢 Departamento 💰 Projeto 📋 Tarefa
🛒 E-commerce:
🛍️ Cliente 📦 Produto 🛒 Pedido 💳 Pagamento
🎓 Sistema Acadêmico:
🎓 Aluno 👨‍🏫 Professor 📚 Disciplina 🏫 Curso
✨ Características das Entidades
🔍
Identificação Única

Cada instância é distinta e identificável

🏷️
Atributos Descritivos

Propriedades que caracterizam a entidade

🔄
Múltiplas Instâncias

Pode ter muitas ocorrências no sistema

Persistência

Existe ao longo do tempo no sistema

🏷️ 2.2 Elementos Básicos do Modelo ER - Atributos
Definição de Atributo

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.

📐 Forma de Representação: Elipse/Oval
Nome
Idade
Email
Atributos da Entidade PESSOA
🎯 Tipos de Atributos
Nome
🔹 Atributo Simples
  • Não pode ser dividido em partes menores
  • Valor atômico (indivisível)
  • Exemplo: Nome, Idade, CPF
Endereço
🔸 Atributo Composto
  • Pode ser dividido em sub-atributos
  • Estrutura hierárquica
  • Exemplo: Endereço → Rua, Cidade, CEP
Telefones
🔹 Atributo Multivalorado
  • Pode ter múltiplos valores
  • Representado por elipse dupla
  • Exemplo: Telefones, Hobbies
Idade
🔸 Atributo Derivado
  • Calculado a partir de outros atributos
  • Representado por elipse tracejada
  • Exemplo: Idade (calculada da data de nascimento)
🔑 Tipos de Chaves
ID
🔴 Chave Primária (PK)
  • Identifica unicamente cada instância
  • Não pode ser nula
  • Representada por sublinhado
ID_Cliente
🔵 Chave Estrangeira (FK)
  • Referencia chave primária de outra entidade
  • Estabelece relacionamento
  • Pode ser nula (dependendo do caso)
CPF
🟡 Chave Candidata
  • Pode ser escolhida como chave primária
  • Identifica unicamente a instância
  • Exemplo: CPF, Email, Matrícula
📋 Exemplos Práticos de Atributos
👤 Entidade: PESSOA
ID
Nome
Endereço
Telefones
Idade
📦 Entidade: PRODUTO
Código
Nome
Preço
Descrição
Categoria
🛒 Entidade: PEDIDO
Número
Data
ID_Cliente
Valor_Total
Status
✨ Características dos Atributos
📝
Nome Descritivo

Identifica claramente a propriedade

🔢
Domínio de Valores

Define tipos e restrições válidas

Obrigatoriedade

Pode ser obrigatório ou opcional

🔒
Integridade

Garante consistência dos dados

🔗 2.3 Elementos Básicos do Modelo ER - Relacionamentos e Cardinalidade
Definição de Relacionamento

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.

📐 Forma de Representação: Losango
POSSUI
Relacionamento entre entidades
🎯 Tipos de Relacionamentos
EMPREGA
🔹 Relacionamento Binário
  • Conecta exatamente 2 entidades
  • Mais comum nos modelos ER
  • Exemplo: Funcionário ←→ Empresa
TRABALHA_EM
🔸 Relacionamento Ternário
  • Conecta exatamente 3 entidades
  • Menos comum, mais complexo
  • Exemplo: Funcionário ←→ Projeto ←→ Departamento
PARTICIPA
🔹 Relacionamento N-ário
  • Conecta 3 ou mais entidades
  • Raro, muito complexo
  • Exemplo: Aluno ←→ Disciplina ←→ Professor ←→ Semestre
📊 Tipos de Cardinalidade
👤
PESSOA
ID
Nome
1 1
🆔
CPF
Número
Emissão
🔴 Cardinalidade 1:1 (Um para Um)

Cada pessoa tem exatamente um CPF e cada CPF pertence a uma única pessoa.

🏢
DEPARTAMENTO
ID
Nome
1 N
👥
FUNCIONÁRIOS
ID
Nome
🔵 Cardinalidade 1:N (Um para Muitos)

Um departamento pode ter vários funcionários, mas cada funcionário pertence a apenas um departamento.

🎓
ALUNOS
ID
Nome
M N
📚
DISCIPLINAS
ID
Nome
🟡 Cardinalidade M:N (Muitos para Muitos)

Um aluno pode se matricular em várias disciplinas e uma disciplina pode ter vários alunos.

📋 Exemplos Práticos de Relacionamentos
🏢 Sistema Empresarial:
1:1 Funcionário ←→ Carteira de Trabalho
1:N Departamento ←→ Funcionários
M:N Funcionários ←→ Projetos
🛒 E-commerce:
1:1 Cliente ←→ Carrinho
1:N Cliente ←→ Pedidos
M:N Pedidos ←→ Produtos
🎓 Sistema Acadêmico:
1:1 Aluno ←→ Matrícula
1:N Curso ←→ Disciplinas
M:N Alunos ←→ Disciplinas
✨ Características dos Relacionamentos
🔗
Associação

Conecta entidades de forma significativa

📊
Cardinalidade

Define quantidades de associações

🏷️
Nome Descritivo

Identifica claramente a associação

⚖️
Obrigatoriedade

Pode ser obrigatória ou opcional

📐 3. Notação Gráfica do Modelo ER
🔷 Símbolos Básicos:
  • Retângulo: Entidade
  • Elipse: Atributo
  • Losango: Relacionamento
  • Linha: Conexão
🎨 Convenções Visuais:
  • Linha simples: Atributo simples
  • Linha dupla: Atributo multivalorado
  • Linha tracejada: Atributo derivado
  • Linha com círculo: Atributo opcional
📊 Exemplo Prático - Sistema de Biblioteca:
LIVRO
ISBN PK
Título
Autor
Ano
Editora
EMPRESTA
Data_Empréstimo
Data_Devolução
Status
USUÁRIO
ID PK
Nome
CPF
Email
Telefone
1 N
Elementos do Diagrama
  • Retângulos: Entidades (LIVRO, USUÁRIO)
  • Losango: Relacionamento (EMPRESTA)
  • Linhas: Conexões entre elementos
  • PK: Chave Primária
  • Setas: Direção do relacionamento
Relacionamento
  • Cardinalidade: 1:N (Um usuário pode emprestar muitos livros)
  • Atributos: Data_Empréstimo, Data_Devolução
  • Regra: Um livro pode ser emprestado por um usuário por vez
  • Integridade: Chaves estrangeiras mantêm consistência
🏷️ 4. Tipos de Entidades
🔹 Entidades Fortes (Regulares)

Entidades que podem existir independentemente de outras entidades.

  • Características: Chave primária própria
  • Exemplos: Pessoa, Produto, Cliente
  • Representação: Retângulo simples
🔸 Entidades Fracas (Dependentes)

Entidades que dependem de outras entidades para sua identificação.

  • Características: Chave parcial, depende de entidade forte
  • Exemplos: Dependente, Item de Pedido
  • Representação: Retângulo com borda dupla
🏷️ 5. Classificação dos Atributos
🔹 Simples

Atributo indivisível

Ex: Idade, Nome

🔸 Composto

Pode ser dividido em partes

Ex: Endereço → Rua, Cidade

🔹 Monovalorado

Um valor por instância

Ex: CPF, Data Nascimento

🔸 Multivalorado

Múltiplos valores

Ex: Telefones, Habilidades

🔹 Armazenado

Valor armazenado fisicamente

Ex: Nome, Idade

🔸 Derivado

Calculado a partir de outros

Ex: Idade (calculada), Total

🔑 6. Chaves no Modelo ER
🔹 Chave Primária (Primary Key)

Atributo ou conjunto de atributos que identifica unicamente cada instância de uma entidade.

  • Características: Única, não nula, imutável
  • Representação: Sublinhado simples
  • Exemplo: CPF, ISBN, Matrícula
🔸 Chave Estrangeira (Foreign Key)

Atributo que referencia a chave primária de outra entidade.

  • Características: Mantém integridade referencial
  • Representação: Sublinhado tracejado
  • Exemplo: ID_Cliente em Pedido
🧪 Exercícios Práticos
📝 Exercício 1: Identificação de Elementos

Para um sistema de e-commerce, identifique:

  • Quais são as entidades principais?
  • Quais atributos cada entidade possui?
  • Como as entidades se relacionam?
  • Quais são as chaves primárias?
🎯 Exercício 2: Criação de Diagrama

Crie um diagrama ER para um sistema de:

  • Biblioteca universitária
  • Sistema de vendas
  • Controle de estoque
  • Gestão de funcionários
📚 Referências Bibliográficas
📖 Livros Fundamentais:
  • ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados. 6ª ed. São Paulo: Pearson, 2017.
  • DATE, C. J. An Introduction to Database Systems. 8ª ed. Boston: Addison-Wesley, 2003.
  • CONNOLLY, T.; BEGG, C. Database Systems: A Practical Approach to Design, Implementation, and Management. 6ª ed. Boston: Pearson, 2015.
  • KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S. Database System Concepts. 6ª ed. New York: McGraw-Hill, 2010.
📄 Artigos Científicos:
  • CHEN, P. P. The Entity-Relationship Model: Toward a Unified View of Data. ACM Transactions on Database Systems, v. 1, n. 1, p. 9-36, 1976.
  • CHEN, P. P. Entity-Relationship Modeling: Historical Events, Future Trends, and Lessons Learned. Software Engineering, v. 1, p. 1-20, 2002.
  • BATINI, C.; CERI, S.; NAVATHE, S. B. Conceptual Database Design: An Entity-Relationship Approach. Redwood City: Benjamin/Cummings, 1992.