-поля TinyInt предназначены для категорий (каждый элемент может принадлежать к 4-х различным категориям)
Это звучит как repeating groups. Это один недостаток в отношении дизайна реляционных баз данных.
То же самое относится к 4 наименованиям и 4 описаниям. У каждого отношения «один ко многим» должна быть подчиненная таблица.
Я не могу сказать из вашего описания, если есть другие части этой конструкции, которые не нормализованы.
Но я бы предположил, что есть.
Есть некоторые законные причины для нарушения правил нормализации, но, как и любая оптимизация, они должны быть сделаны для оптимизации конкретных запросов.
В случае отсутствия какого-либо контекста набора запросов, обратитесь к нормализованному дизайну, поскольку он оптимизирован для предотвращения избыточности данных и предотвращения аномалий и для поддержки самого широкого диапазона типов запросов.
Трудно сказать без имен столбцов и содержимого. –
Некоторые из полей не имеют описательного названия, к сожалению, я на самом деле не создаю оригинальный проект. Я могу сказать, что существует 4 разных поля varchar для имени на 4 разных языках и то же самое для описания (Текст), 4 описания для 4-х языков. 4 поля tinyint для категорий (каждый элемент может принадлежать 4 различным категориям). – user1225730
Что означает «слишком много»? Чего вы боитесь, что произойдет, добавив слишком много столбцов? Плохая производительность запросов? – dg99