По моему опыту, эту идею хранения полей построчно нужно рассматривать очень тщательно - хотя, похоже, она дает много преимуществ, она делает многие общие задачи намного более трудными.
С положительной стороны: он легко расширяется без изменений в структуре базы данных и в некоторых отношениях абстрагирует детали хранения данных.
С отрицательной стороны: вам нужно взглянуть на все повседневные вещи, хранящие поля по столбцам, которые автоматически предоставляют вам в СУБД: простые внутренние / внешние объединения, одно предложение вставки / обновления, уникальность, внешние ключи и другие ограничения уровня БД проверка, простая фильтрация и упорядочение результатов поиска.
Рассмотрим в вашей архитектуре запрос на возврат всех элементов с MetalLayer = X и шириной между y и z - результаты отсортированы по длинам связи. Этот запрос гораздо сложнее создать, а СУБД выполнить намного сложнее, чем использовать столбцы для хранения определенных полей.
В итоге я использовал единственную структуру, подобную той, которую вы предлагаете, в контексте, где случайные неструктурированные дополнительные данные нужно было добавлять на временной основе. На мой взгляд, это была бы последняя стратегия, если бы я не мог заставить более традиционную структуру таблиц работать.