Projetando Bancos de Dados para Simples Mortais
624 páginas
Portuguese
PDF
4.5

Projetando Bancos de Dados para Simples Mortais

Projetando Bancos de Dados para Simples Mortais

Autor:

Ano:

Resumo:

Introdução

O livro «Database Design for Mere Mortals» (em português — «Projetando Bancos de Dados para Simples Mortais») de Michael Hernandez é um guia clássico que, há mais de 20 anos, ajuda desenvolvedores, analistas e estudantes a dominar a arte de criar bancos de dados confiáveis e eficientes. A terceira edição (2013) foi significativamente revisada: novos exemplos foram adicionados, as recomendações sobre normalização foram atualizadas e abordagens modernas de modelagem de dados foram incluídas. Apesar de na anotação constar a linguagem Rust (provavelmente um erro), o livro não está vinculado a uma linguagem de programação específica — ele ensina a projetar bancos de dados em nível conceitual, o que o torna útil para desenvolvedores em Python, Java, C# e até Rust.

Sobre o que é o livro

O livro é dedicado à metodologia de projeto de bancos de dados relacionais. O autor conduz o leitor sequencialmente por todas as etapas: desde a coleta de requisitos e construção de diagramas ER até a normalização e criação do esquema físico. A ênfase principal está em técnicas práticas que permitem evitar erros típicos — redundância, anomalias de atualização e perda de integridade.

Tópicos principais:

  • Fundamentos do modelo relacional — tabelas, chaves, relacionamentos, domínios.
  • Processo de projeto — dos requisitos de negócio ao esquema final.
  • Normalização — da primeira à quinta forma normal com exemplos claros.
  • Diagramas ER — notação IDEF1X e sua aplicação prática.
  • Integridade dos dados — chaves primárias, estrangeiras, restrições.
  • Documentação do esquema — criação de um dicionário de dados.

Para quem é este livro

O livro é voltado para desenvolvedores iniciantes e de nível intermediário que já sabem escrever consultas SQL simples, mas desejam entender mais profundamente como projetar corretamente um banco de dados. Será útil para:

  • Desenvolvedores Backend (Python, Java, Rust, etc.),
  • Estudantes de áreas técnicas,
  • Analistas de dados,
  • Todos que precisam criar ou manter bancos de dados.

O que o leitor aprenderá

Após a leitura, você será capaz de:

  • Realizar entrevistas com clientes e coletar requisitos de dados.
  • Construir um modelo conceitual (diagrama ER) de qualquer complexidade.
  • Aplicar normalização para eliminar redundância.
  • Evitar "armadilhas" como relacionamentos cíclicos e atributos ambíguos.
  • Criar um esquema físico pronto para implementação em PostgreSQL, MySQL, SQLite.
  • Documentar o banco de dados para a equipe.

Pontos fortes

A principal vantagem do livro é a acessibilidade da exposição. Michael Hernandez usa uma linguagem simples, evitando matematização excessiva. Cada capítulo contém exercícios práticos e exemplos da vida real (biblioteca, loja online, hospital). Vale destacar especialmente a explicação detalhada da normalização — muitos livros didáticos se limitam à 3FN, enquanto aqui são abordadas a 4FN e a 5FN.

O livro não está vinculado a um SGBD específico, o que o torna universal. No entanto, na terceira edição, foram adicionados exemplos em SQL que podem ser executados em qualquer sistema relacional. Também há dicas sobre o uso de ferramentas de modelagem (por exemplo, Microsoft Visio).

A quem é recomendado

Eu recomendo fortemente este livro a todos que desejam parar de "apenas escrever consultas" e começar a projetar bancos de dados de forma consciente. Ele será um excelente complemento para cursos de SQL e desenvolvimento Python. Para arquitetos experientes, o livro pode parecer básico, mas como referência sobre normalização e metodologia, continua relevante.

Nota final: 9/10. Perde um ponto porque alguns exemplos estão desatualizados (usam versões antigas de ferramentas), mas os conceitos não perdem o valor.

Recommendations