Типизированные неизвестные значения: шаг к решению проблемы представления отсутствующей информации в реляционных базах данных


Типизированные неизвестные значения: шаг к решению проблемы представления отсутствующей информации в реляционных базах данных

Сергей Дмитриевич КУЗНЕЦОВ

Аннотация

Состояние дел области управления отсутствующей информацией в реляционных базах данных оставляет желать лучшего. В стандарте SQL для представления отсутствующих данных используется универсальное null-значение, а управление основано на трехзначной логике, в которой null-значение отождествляется с третьим логическим значением. Это решение концептуально противоречиво и часто приводит к интуитивно непонятному поведению СУБД. Альтернативный подход с использованием типизированных специальных значений перекладывает всю обработку отсутствующих данных на пользователей. В этой статье мы анализируем многолетнюю историю исследований и разработок, которая привела к такой ситуации. Мы приходим к выводу, что в стандарте SQL и не могло появиться другое решение из-за выбора более 50 лет тому назад механизма универсального null-значения, а альтернативный механизм не может обеспечить системную поддержку специальных значений из-за использования двухзначной логики. Мы предлагаем комбинированный подход с использованием типизированных специальных значений на основе трехзначной логики. Этот подход позволяет использовать семантику типов данных при обработке запросов с условиями, включающими неизвестные данные. Кроме того, наш подход позволяет определить полноценную трехзначную логику, в которой специальное значение булевского типа является третьим логическим значением.

Ключевые слова

реляционные базы данных, отсутствующая информация, null-значение, трехзначная логика, типизированные специальные значения

Издание

Труды Института системного программирования РАН, том 35, вып. 2, 2023, 73-100

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2023-35(2)-6

Для цитирования

Сергей Дмитриевич КУЗНЕЦОВ Типизированные неизвестные значения: шаг к решению проблемы представления отсутствующей информации в реляционных базах данных. Труды Института системного программирования РАН, том 35, вып. 2, 2023, 73-100 DOI: 10.15514/ISPRAS-2023-35(2)-6.

Полный текст статьи в формате pdf Вернуться к содержанию тома