De forma genérica, um processo de engenharia reversa parte de um modelo de implementação e resulta em um modelo conceitual que descreve, de forma abstrata, a implementação em questão. Nesse contexto e considerando o caso de banco de dados, julgue os itens a seguir. I A engenharia reversa de modelos relacionais é útil quando não se tem um modelo conceitual para um banco de dados existente. II O uso da engenharia reversa é útil quando o esquema do banco de dados sofre modificações ao longo do tempo, sem que elas tenham sido registradas no modelo conceitual. III Um caso específico de engenharia reversa de banco de dados é o da engenharia reversa de modelos relacionais, que tem como ponto de partida um modelo lógico de um banco de dados relacional e que tem como resultado um modelo conceitual. Assinale a opção correta.
- A)Apenas o item I está certo.
Errada, porque o item I está correto e não pode ser descartado sozinho.
- B)Apenas o item II está certo.
Errada, porque o item II também está correto, mas o item I não está errado.
- C)Apenas os itens I e III estão certos.
Errada, porque o item II também é verdadeiro, então não são apenas I e III.
- D)Apenas os itens II e III estão certos.
Errada, porque o item I também está correto, então não são apenas II e III.
- E)Todos os itens estão certos.
Certa, porque os três itens descrevem corretamente a engenharia reversa de banco de dados e sua aplicação em modelos relacionais.
Gabarito: E
A engenharia reversa em banco de dados faz o caminho de volta: em vez de ir da ideia para a implementação, ela parte do esquema já existente e tenta reconstruir um modelo mais abstrato, geralmente conceitual. Em outras palavras, você olha para tabelas, chaves e relacionamentos e pergunta: “qual era a ideia original por trás disso?”. Isso é muito útil quando o banco já existe, mas o modelo conceitual não foi documentado, foi perdido ou nunca foi formalizado. Também ajuda quando o banco sofreu alterações ao longo do tempo e o diagrama original ficou desatualizado, porque a engenharia reversa permite recuperar uma visão organizada do que realmente está em uso. No caso citado na questão, a engenharia reversa de modelos relacionais tem exatamente esse papel: parte de um modelo lógico relacional, com tabelas e restrições, e produz um modelo conceitual, como um diagrama ER. Essa é uma aplicação clássica em administração e reengenharia de bancos de dados. Por isso o gabarito é E: os itens I, II e III estão corretos. A doutrina de modelagem de dados trata esse processo justamente como uma forma de recuperar abstrações a partir da implementação, o que é bem compatível com a prática de manutenção de bancos legados.