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

       

я написал доктору Кодду, разъяснив


Сначала я написал доктору Кодду, разъяснив проблему, а после получения его ответа написал короткую статью [5] с описанием этой проблемы. На самом деле, в своем примере я использовал таблицу Suppliers и условие Suppliers.city = ‘Paris’ из пионерского учебника Дейта [2] (первое издание!).

Я также предложил в [4] решение, специально приспособленное для запросов к реляционным базам данных: для корректной обработки запросов при наличии неопределенных значений должны рассматриваться все различные случаи. Это именно то, что я делал с примером Дейта в предыдущем разделе, где имелись два случая – либо город – это Париж, либо не Париж. Если во всех случаях условие для некоторого кортежа дает ‘True’, то этот кортеж должен войти в ответ на запрос.

Кстати, в [5] я также показал, как следует обращаться со случаем, когда неопределенное значение обозначает неприменимый атрибут, такой как имя жены неженатого мужчины.

В конце 1970-х гг. неопределенные значения обобщались несколькими исследователями (включая меня самого) до понятия неполной или частичной информации (понятие, которое я изучал в начале 1970-х в контексте логики). В начале 1980-х гг. в своей пионерской книге по теории баз данных [7] Мейер посвятил этой теме целую главу.

Несколькими годами позже, в 1986 г. был опубликован первый стандарт SQL Американского национального института стандартов. В духе моих работ десятилетней давности предложение Кодда было перенесено из контекста реляционного исчисления в контекст SQL и было принято в стандарте SQL.

После принятия стандарта Дейт начал его критиковать по разным поводам, включая принятый в нем подход к работе с неопределенными значениями.


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