Я не знаю ни одного автоматизированного алгоритма, но что вам действительно нужно, так это сильно нормализовать вашу базу данных.Это означает, что нужно смотреть на свои действительные функциональные зависимости и разбивать их там, где это имеет смысл.
Проблема с попытками сделать это в компьютерной программе состоит в том, что не всегда понятно, представляет ли ваш текущий набор хранимых данныхвсе возможные проблемные случаи.Вы не можете смотреть только на количество значений.Не имеет смысла разбивать логические значения на их собственные таблицы, потому что они имеют только два значения, например, и это только верхушка айсберга.
Я думаю, что на этом этапе ничто не сравнитсядобрый старый пациент, ручная нормализация.Это что-то делать вручную.Любой возможный компьютерный алгоритм либо создаст полный беспорядок, либо заставит вас определить отношения так, чтобы вы могли все это сделать сами.