La normalización se usa absolutamente en el mundo real ... y espero que sepan que 3NF es solo el tercero de ... ¿qué es ahora, 8? Pero 3NF debería ser un objetivo fácil.
Sin embargo ... Me aventuraría a decir que no podría haber una herramienta así.
La normalización, técnicamente, es un atributo de cada tabla. Dentro de una base de datos dada, diferentes tablas pueden tener diferentes niveles de normalización.
Cada tabla representa hechos ... hechos sobre instancias de cierto tipo de cosas (persona, cuenta, orden, envío, artículo, ubicación), incluidas, a veces, claves extranjeras que lo llevan a otros tipos de hechos sobre esa cosa.
La normalización tiene que ver con la precisión y eficiencia con que se representan los hechos en las tablas, así como con la capacidad del diseño de la tabla para evitar patrones de datos ambiguos y redundantes.
Por lo tanto, se requiere una comprensión de los hechos reales ... que está fuera del alcance de las herramientas automatizadas.
Q: Is a table with { student, subject, instructor } in 3NF?
A: What are students, subjects and instructors?
En un mundo donde todos los instructores enseñaron todas las asignaturas y cada alumno pudo tomar cualquier combinación pero no más de un curso sobre cada asignatura de cada instructor, se podría decir que esta tabla está en 3NF. En el mundo real, hacer el reclamo de 3NF para esta tabla es absurdo.
Para entender que no está en 3NF se requiere una comprensión de la naturaleza de los hechos que representa. En nuestra realidad, esta tabla no será 3NF ya que (entre otras razones) la asignatura y el instructor están asociados de manera que no tienen nada que ver con el alumno. Si tenemos los cursos donde los instructores enseñan materias almacenadas en otra parte de nuestra base de datos, ¿por qué deberíamos copiar ambos valores aquí en lugar de una clave externa de la otra tabla que indica que el estudiante se inscribió en el curso? Si el instructor es reemplazado, tenemos que cambiar múltiples registros en múltiples lugares.
Cuanto más normalizada es una base de datos, más intrínsecamente consistente es con el mundo real y consigo misma, y más difícil es que los hechos de la base de datos sean inadvertidamente falsos. El diseño de bases de datos es un arte, pero definitivamente también es una ciencia.
Aunque no estoy de acuerdo con todo lo que escribe, recomendaría el libro de Chris Date, Diseño de bases de datos y teoría relacional: formas normales y todo ese jazz, que entra en detalles insoportables sobre la teoría subyacente del modelo relacional.