Pular para o conteúdo

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.

Autoria
Study Mais
Publicado em
Tempo de leitura
4 min de leitura
Pesquisador compara fichas organizadas e anotações junto a um computador.
Pesquisador compara fichas organizadas e anotações junto a um computador. Study Mais — imagem ilustrativa gerada com IA.

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.

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

Perguntas de cada nível
NívelPergunta principalExemplo
ConceitualQue coisas e relações existem no domínio?Alunos se matriculam em ofertas de disciplinas
Lógico relacionalComo representar isso com relações e restrições?Matrícula liga uma chave de aluno a uma chave de oferta
FísicoComo 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
Perguntas de cada nível

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ções do exemplo e identificadores
RelaçãoAtributos principaisChave e restrições
ALUNOid_aluno, nomeChave primária: id_aluno
DISCIPLINAid_disciplina, nomeChave primária: id_disciplina
OFERTAid_oferta, id_disciplina, periodoChave primária: id_oferta; referência a DISCIPLINA
MATRICULAid_aluno, id_oferta, notaChave 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
Relações do exemplo e identificadores

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

  1. Cadastre dois alunos com o mesmo nome e identifique-os sem ambiguidade.
  2. Matricule um aluno em duas ofertas da mesma disciplina em períodos diferentes.
  3. Tente repetir a matrícula na mesma oferta e verifique a regra de unicidade.
  4. Registre uma matrícula ainda sem nota e diferencie-a de nota zero.
  5. 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.

Aula da UNIVESP sobre modelo relacional e restrições. Relacione chaves e integridade ao exemplo de alunos, ofertas e matrículas. Banco de Dados - Modelo Relacional: caracterização, formalização e restrições - (LIBRAS) (UNIVESP)

Referências

  1. BCCAMPUS. Database Design — 2nd Edition. Chapter 8: The Entity Relationship Data Model. https://opentextbc.ca/dbdesign01/chapter/chapter-8-entity-relationship-model/
  2. BCCAMPUS. Database Design — 2nd Edition. Chapter 7: The Relational Data Model. https://opentextbc.ca/dbdesign01/chapter/chapter-7-the-relational-data-model/
  3. POSTGRESQL GLOBAL DEVELOPMENT GROUP. Documentation: Constraints. https://www.postgresql.org/docs/current/ddl-constraints.html

Autoria

Study Mais