O livro encontra-se na sexta edição. Nesta última edição, o livro sofreu sua mais profunda revisão desde o lançamento. Houve alterações no projeto gráfico, na redação e no conteúdo.
O projeto gráfico foi atualizado. Está muito mais contemporâneo e tenho certeza de que ficou mais fácil de ler.
Na redação, erros de gramática e ortografia foram corrigidos e partes do texto foram reescritas, afim de aumentar a legibilidade.
Já no conteúdo, as principais alterações são as relacionadas a seguir.
- Nas edições anteriores, procurei manter consistência entre a abordagem entidade-relacionamento e a abordagem orientada a objeto, tendo em vista que ambas as abordagens são importantes e coexistem na prática. O ponto em que isto se refletia mais fortemente era na apresentação da generalização/especialização (herança, na orientação a objeto). Para manter a consistência, eu tratava somente da generalização/especialização exclusiva, que é aquela implementada na maioria das linguagens de programação OO.
Nesta edição, optei por incluir uma discussão mais completa da generalização/especialização, apresentando também a generalização/especialização compartilhada, visto que esta continua aparecendo na maioria das variantes da abordagem ER e nas ferramentas CASE.
Esta modificação se refletiu principalmente na Seção 2.5, que foi completamente reformulada. Além desta seção, alguns exercícios referentes ao assunto foram incluídos e outros modificados. - A Seção 3.2, que discute critérios para determinar qual conceito da abordagem ER deve ser usado para representar um objeto de uma realidade modelada, foi reformulada. Foi incluída a Sub-seção 3.2.3, que discute quando usar uma entidade relacionada e quando usar uma especialização. Também um exercício referente ao tema foi incluído.
- Na discussão das variantes de notação diagramática de modelos ER (Seção 3.4.1), incluí uma discussão da abordagem UML. Não se trata aqui de uma apresentação completa desta abordagem. Muito mais, procurei estabelecer uma relação entre os conceitos e a notação gráfica da UML com os conceitos e a notação gráfica da abordagem ER. Esta discussão me pareceu importante, dada a proliferação de ferramentas CASE que suportam UML.
- Na discussão das alternativas que podem ser usadas para a implementação de relacionamentos em bancos de dados relacionais (Seção 5.2.2 e seguintes), nas edições anteriores, as alternativas eram classificadas nas categorias: “alternativa preferida”, “pode ser usada” e “não usar”. Entretanto, a classificação não era bem precisa e, na categoria “não usar”, apareciam tanto alternativas que não fazem sentido do ponto de vista da abordagem relacional, quanto alternativas de menor prioridade em relação às demais. Por esta razão, os critérios de classificação e o enquadramento das alternativas neste critérios foram revistos.
- Alguns termos que estavam antiquados, como CIC ou CGC, foram atualizados.
Na Web, circula uma cópia de uma versão preliminar do livro, ainda incompleta e com incorreções. A intenção daquela cópia era receber comentários de colegas e não ampla circulação.