Классика баз данных - статьи

       

Нечеткие запросы


Нечеткий запрос — это запрос, обращенный к неполным, неточным или даже некорректным данным в базе данных, либо запрос, для которого точно не определены условия поиска. Современные системы баз данных, главным образом, ориентированы на «точные» запросы к «точным и полным» данным. Хотя некоторая «неопределенность» в запросах разрешается, для чего предназначены запросы, указывающие диапазон значений (например, ‘Age BETWEEN 20 AND 30’) или дизъюнктные запросы (например, ‘Name = «Mohammad» OR Name = «Muhammad»), однако они не позволяют в полной мере использовать весь потенциал нечетких запросов. Необходимость в подобных запросах возрастает по двум причинам. Как уже говорилось ранее, хранимые данные часто некорректны или неточны, а, кроме того, неточными могут быть и условия запросов. Например, «найти человека, чья фамилия произносится как «Напалу», возможно «средних лет», управляющего автомобилем со «старыми» «белыми» номерами, и в коде водительских прав которого есть буквы «TR».

Для поддержки нечетких запросов в контексте государственной безопасности, следует иметь в виду, что в различных регионах мира имеют хождение разные варианты произношения имен людей, и описательные названия автомобилей, людей, инцидентов и т.д., которые необходимо поддерживать в определенных «словарях имен» вместе с правилами, определяющими соответствия имен и описаний. Более того, определенные типы данных в базе данных необходимо либо реорганизовывать в соответствии с уровнем абстракции или категориями людей, либо предоставить поддержку при поиске точного уровня абстракции или категории. Предположим, что слова «пистолет» и «обрез» хранятся в таблице в поле «Владение оружием». Поддерживающая нечеткие запросы система должна распознавать, что «пистолет» и «обрез» обобщаются в категорию «огнестрельное оружие». Поэтому в ответ на запрос «найти людей, которые умеют обращаться с огнестрельным оружием», она должна вернуть список лиц, владеющих «пистолетом» и «обрезом», даже если в поле «Владение оружием» нигде не указано «огнестрельное оружие».

Нечеткие запросы также касаются геопространственных и временных условий поиска, таких как «поблизости», «внутри» и т.д. К счастью, ведется много исследований, посвященных управлению пространственными и временными данными, в том числе касающиеся пространственных и временных условий поиска и механизмов пространственной индексации.

Поддержка нечетких запросов также потребует серьезных исследований в области производительности. Современные системы управления реляционными данными, в основном, рассчитаны на поддержку точных запросов к точным данным и используют такие «точные» механизмы поддержки доступа, как индексация, хеширование и сортировка.



Содержание  Назад  Вперед