Я столкнулся с проблемой оптимизации дизайна базы данных с помощью автоматического механизма.
база данных будет включать таблицы, которые связывают произвольные данные с атрибутом
например Таблица A содержит все идентификаторы лиц, которые нажали кнопку покупки, Таблица B содержит все идентификаторы, у которых нет возврата, ....
так даны некоторые очень основные MainTables, например A, B, C, D, которые должны быть составлены с помощью операций теории множеств (объединение, пересечение, дополнение) с использованием некоторого графического интерфейса пользователя, что приводит к новым SubsetTables
По мере создания большего количества подмножеств они все больше зависят друг от друга, например, E = (A и B), F = (A и B и C) - оба являются булевыми функциями, и идентификатор человека находится в пределах этого набора или нет
Теперь я пытаюсь оптимизировать запрос к базе данных, который заполняет / запрашивает мою таблицу так, чтобы запрос был не F = (Соединение B, соединение C), а F = (E соединение C), что имеет смысл, поскольку E содержит меньше строк как это уже подмножество
наконец, это означает, что я спрашиваю, какой математический / программный алгоритм, если таковой имеется, может оптимизировать мою проблему со многими наборами и подмножествами (возможно, несколькими сотнями), чтобы я мог эффективно запрашивать и заполнять таблицы
Я уже думал о создании нового подмножества только с использованием информации MainSet и оптимизации этих GUI-созданных подмножеств с использованием алгоритма Карно-Вейча, но это привело бы, например, к. A и B и C. Я не знаю, как сделать второй шаг оптимизации для преобразования (A и B и C) в (E и C) и с еще большей сложностью, что приводит к проблеме поиска наиболее эффективной комбинации (sub) Сета
спасибо за любой совет