Если это соответствует правилам нормализации, то отношения 1: 1 могут быть нормализованы (по определению!). Другими словами, в отношениях 1: 1 нет ничего, что делало бы невозможным их подчинение нормальным формам.
Чтобы ответить на ваш вопрос о практичности отношений 1: 1, бывают случаи, когда это совершенно полезная конструкция, например, когда у вас есть подтипы с различными предикатами (столбцами).
Причины, по которым вы будете использовать отношения 1: 1, зависят от вашей точки зрения. Администраторы баз данных склонны думать обо всем как о решении по производительности. Разработчики данных и программисты склонны думать, что эти решения ориентированы на дизайн или модель. На самом деле, между этими точками зрения много общего. Это зависит от ваших перспектив и приоритетов. Вот несколько примеров мотивации отношений 1: 1:
У вас есть подмножество очень широких столбцов, и вы хотите физически разделить их в своем хранилище по соображениям производительности.
У вас есть подмножество столбцов, которые не читаются или не обновляются часто, и вы хотите отделить их от часто используемых столбцов по соображениям производительности.
У вас есть некоторые столбцы, которые являются необязательными в целом, но они обязательны, когда вы знаете, что запись имеет определенный тип.
У вас есть несколько столбцов, которые логически связаны друг с другом для подтипа, и вы хотите смоделировать их так, чтобы они соответствовали объектной модели вашего кода.
У вас есть несколько столбцов, которые могут применяться только к некоторым подтипам (ы) супертипа сущности, и вы хотите, чтобы ваша схема обеспечивала отсутствие этих данных для других подтипов.
У вас есть несколько столбцов, которые принадлежат сущности, но вам нужно защитить эти конкретные столбцы, используя более строгие правила доступа (например, зарплата в таблице сотрудников).
Как видите, иногда драйвер - это производительность, иногда - чистота модели или просто желание в полной мере воспользоваться правилами декларативной схемы.