Modelo lógico de banco de dados: exemplo relacional
Entenda o modelo lógico de banco de dados e transforme regras de matrícula em relações, chaves e restrições antes da implementação física.

Em poucas palavras
- O projeto lógico deve preservar as regras do domínio.
- Uma relação associativa representa o relacionamento muitos para muitos.
- Chaves e restrições descrevem quais estados dos dados são válidos.
Neste artigo
O modelo lógico de banco de dados organiza as informações segundo um modelo de dados escolhido, explicitando relações, atributos, identificadores e restrições. No projeto relacional, ele transforma entidades e relacionamentos do domínio em tabelas relacionadas. A preocupação central é representar corretamente as regras, antes de decidir índices, armazenamento e outros detalhes físicos de um sistema específico.
Este guia usa um cadastro acadêmico hipotético para mostrar a passagem das regras ao esquema. O modelo físico de banco de dados trata da implementação. A introdução a bancos relacionais oferece a base de relações, chaves e integridade usada aqui.
Conceitual, lógico e físico
| Nível | Pergunta principal | Exemplo |
|---|---|---|
| Conceitual | Que coisas e relações existem no domínio? | Alunos se matriculam em ofertas de disciplinas |
| Lógico relacional | Como representar isso com relações e restrições? | Matrícula liga uma chave de aluno a uma chave de oferta |
| Físico | Como implementar no SGBD e atender à carga de uso? | Tipos específicos, índices e organização da implantação |
- Nível
- Conceitual
- Pergunta principal
- Que coisas e relações existem no domínio?
- Exemplo
- Alunos se matriculam em ofertas de disciplinas
- Nível
- Lógico relacional
- Pergunta principal
- Como representar isso com relações e restrições?
- Exemplo
- Matrícula liga uma chave de aluno a uma chave de oferta
- Nível
- Físico
- Pergunta principal
- Como implementar no SGBD e atender à carga de uso?
- Exemplo
- Tipos específicos, índices e organização da implantação
As fronteiras podem variar entre métodos e ferramentas, mas a distinção de responsabilidades continua útil. O capítulo de modelagem entidade-relacionamento do BCcampus apresenta entidades, atributos e relacionamentos. Converter o desenho em tabelas exige preservar o significado das regras, além de reproduzir os nomes das caixas.
Regras do exemplo acadêmico
A palavra “oferta” evita confundir a disciplina do catálogo com sua realização em um período. Se a matrícula fosse identificada apenas por aluno e disciplina, uma nova tentativa em outro semestre poderia entrar em conflito com a anterior. Modelar exige perceber esse tipo de distinção no domínio.
Um esquema lógico possível
| Relação | Atributos principais | Chave e restrições |
|---|---|---|
| ALUNO | id_aluno, nome | Chave primária: id_aluno |
| DISCIPLINA | id_disciplina, nome | Chave primária: id_disciplina |
| OFERTA | id_oferta, id_disciplina, periodo | Chave primária: id_oferta; referência a DISCIPLINA |
| MATRICULA | id_aluno, id_oferta, nota | Chave primária composta: id_aluno e id_oferta; referências a ALUNO e OFERTA |
- Relação
- ALUNO
- Atributos principais
- id_aluno, nome
- Chave e restrições
- Chave primária: id_aluno
- Relação
- DISCIPLINA
- Atributos principais
- id_disciplina, nome
- Chave e restrições
- Chave primária: id_disciplina
- Relação
- OFERTA
- Atributos principais
- id_oferta, id_disciplina, periodo
- Chave e restrições
- Chave primária: id_oferta; referência a DISCIPLINA
- Relação
- MATRICULA
- Atributos principais
- id_aluno, id_oferta, nota
- Chave e restrições
- Chave primária composta: id_aluno e id_oferta; referências a ALUNO e OFERTA
A relação MATRÍCULA resolve o relacionamento muitos para muitos entre aluno e oferta. Sua chave composta impede repetir a mesma combinação. Outra solução poderia usar um identificador próprio, mantendo uma restrição de unicidade sobre aluno e oferta. A escolha precisa preservar a regra, independentemente da aparência do diagrama.
Chaves e restrições de integridade
A chave primária identifica cada ocorrência; a estrangeira liga uma ocorrência a outra relação. Uma matrícula não deve apontar para um aluno inexistente. A documentação de restrições do PostgreSQL mostra como chaves, unicidade, obrigatoriedade e verificações podem ser implementadas. A decisão lógica vem da regra do domínio, não da disponibilidade de um botão na ferramenta.
No exemplo, o nome de aluno não é um identificador seguro, pois pessoas diferentes podem ter o mesmo nome. A ausência de nota também precisa de significado: “não registrada” é diferente de nota zero. Defina a regra antes de escolher um valor padrão. Esse cuidado evita que uma conveniência de implementação altere a interpretação dos dados.
Redundância e dependências
Repetir o nome da disciplina em toda matrícula cria uma dependência desnecessária: mudar o nome exigiria atualizar muitas linhas. Mantê-lo em DISCIPLINA permite uma atualização central. O modelo relacional apresentado pelo BCcampus fornece o vocabulário de relações e atributos para discutir essas decisões.
Normalização não significa dividir tabelas indefinidamente. Ela examina dependências e anomalias para organizar fatos de maneira coerente. Depois, requisitos de desempenho podem motivar escolhas físicas ou redundâncias controladas, mas elas devem ser explícitas e acompanhadas de uma estratégia de consistência.
Como validar o modelo antes do SQL
Cenários de conferência
- Cadastre dois alunos com o mesmo nome e identifique-os sem ambiguidade.
- Matricule um aluno em duas ofertas da mesma disciplina em períodos diferentes.
- Tente repetir a matrícula na mesma oferta e verifique a regra de unicidade.
- Registre uma matrícula ainda sem nota e diferencie-a de nota zero.
- Explique o que deve acontecer quando uma oferta com matrículas precisar ser excluída.
Esses cenários testam significado e integridade. Depois de validá-los, a implementação em SQL transforma o esquema em definições executáveis. Um modelo lógico útil permite explicar onde cada fato fica armazenado, como se relaciona aos demais e quais estados dos dados são aceitos.
Referências
- BCCAMPUS. Database Design — 2nd Edition. Chapter 8: The Entity Relationship Data Model. https://opentextbc.ca/dbdesign01/chapter/chapter-8-entity-relationship-model/
- BCCAMPUS. Database Design — 2nd Edition. Chapter 7: The Relational Data Model. https://opentextbc.ca/dbdesign01/chapter/chapter-7-the-relational-data-model/
- POSTGRESQL GLOBAL DEVELOPMENT GROUP. Documentation: Constraints. https://www.postgresql.org/docs/current/ddl-constraints.html
Autoria
Study Mais
Continue estudando

Banco de dados não relacional: modelos e escolhas
Compare modelos de banco de dados não relacional, entenda documentos, chave-valor, grafos e colunas largas e avalie escolhas pela carga de uso.

O que é lógica de programação? Condições e exemplos
Entenda lógica de programação com condições, operadores booleanos e tabelas de teste. Veja como detectar erros em regras de validação.

Algoritmos e lógica de programação: prática guiada
Pratique algoritmos e lógica de programação com entrada, decisão, repetição e teste de mesa em um exemplo de cálculo de média.
