Las bases de datos son un componente esencial de los sistemas de software. La criticidad de las bases de datos ha ido en aumento debido a la relevancia que tienen los datos en el contexto tecnológico actual. Por tal razón, los datos almacenados en ellas tienen que ser precisos, consistentes y respetar ciertas reglas de integridad para que al ser interpretados provean información de calidad. Las características anteriores se logran con un buen diseño; sin embargo, no todas las bases de datos cuentan con uno. Este artículo presenta a ?DB, un método de ingeniería inversa para refactorizar el diseño e implementación de bases de datos relacionales inmersas en sistemas de software en operación. La validación de ?DB se llevó a cabo mediante un caso práctico, cuyos resultados permitieron establecer la utilidad y pertinencia del método, así como sus oportunidades de mejora