В теории баз данных проблема оценки запроса — это проблема [ требуется проверка ] определения ответов на запрос в базе данных. Исследования в теории баз данных направлены на определение вычислительной сложности ответа на различные виды запросов в базах данных, в частности в реляционных базах данных .
Задача оценки запроса принимает два входа: запрос, на который нужно ответить, и базу данных, на которой нужно ответить. Выходом задачи является набор ответов на запрос в базе данных. Если запросы являются булевыми запросами , т. е. запросы имеют ответ «да» или «нет» (например, булевы конъюнктивные запросы ), то задача оценки запроса является задачей принятия решений .
Проблема оценки запроса обычно ставится для определенного класса запросов и баз данных. Например, одним из примеров проблемы оценки запроса может быть проблема оценки конъюнктивного запроса в реляционной базе данных .
Вычислительную сложность задачи можно измерить разными способами [1] , учитывая тот факт, что два входных параметра задачи различны:
Сложность оценки запросов можно изучать для нескольких классов запросов, например, ациклических запросов, конъюнктивных запросов , объединений конъюнктивных запросов , Datalog, регулярных путевых запросов и т. д., вплоть до логических формализмов, таких как логика первого порядка или монадическая логика второго порядка .
Например, для булевых конъюнктивных запросов сложность оценки запроса полиномиальна по сложности данных: она даже попадает в класс AC0 . Напротив, сложность запроса и объединенная сложность являются NP-полными [3] путем редукции от 3-раскрашиваемости . [ требуется ссылка ]
Сложность оценки запроса может быть изучена для запросов, которые возвращают ответы, или для булевых запросов (запросы типа «да/нет»). Однако мы часто можем свести к случаю булевых запросов. Более конкретно, если количество ответов на запрос всегда полиномиально по размеру базы данных, и если мы можем переписать запрос в булев запрос для каждого ответа, то мы можем свести оценку запроса для небулевого запроса к полиномиально множеству проблем оценки булевых запросов. [ необходима цитата ]