Si se ajusta a las reglas de normalización, entonces las relaciones 1: 1 pueden normalizarse (¡por definición!). En otras palabras, no hay nada acerca de las relaciones 1: 1 que les haga imposible obedecer las formas normales.
Para responder a su pregunta sobre la practicidad de las relaciones 1: 1, hay momentos en que esta es una construcción perfectamente útil, como cuando tiene subtipos con predicados (columnas) distintos.
Las razones por las que usaría relaciones 1: 1 dependen de su punto de vista. Los DBA tienden a pensar que todo es una decisión de desempeño. Los modeladores y programadores de datos tienden a pensar que estas decisiones están orientadas al diseño o al modelo. De hecho, hay una gran superposición entre estos puntos de vista. Depende de cuáles sean sus perspectivas y prioridades. Aquí hay algunos ejemplos de motivaciones para las relaciones 1: 1:
Tiene un subconjunto de columnas que son muy anchas y desea segregarlas físicamente en su almacenamiento por razones de rendimiento.
Tiene un subconjunto de columnas que no se leen o actualizan con frecuencia y desea mantenerlas separadas de las columnas de uso frecuente por razones de rendimiento.
Tiene algunas columnas que son opcionales en general, pero son obligatorias cuando sabe que el registro es de cierto tipo.
Tiene algunas columnas que lógicamente pertenecen juntas para un subtipo y desea modelarlas para que se ajusten bien al modelo de objetos de su código.
Tiene algunas columnas que solo pueden aplicarse a algunos subtipos de un supertipo de entidad, y desea que su esquema imponga la ausencia de estos datos para otros subtipos.
Tiene algunas columnas que pertenecen a una entidad pero necesita proteger estas columnas en particular utilizando reglas de acceso más restrictivas (por ejemplo, salario en una tabla de empleados).
Como puede ver, a veces el controlador es el rendimiento, a veces es la pureza del modelo, o simplemente el deseo de aprovechar al máximo las reglas de esquema declarativo.