Реляционная модель принадлежит Эдгару (Теду) Фрэнку Кодду, английскому математику, родившемуся 23 августа 1923 года в Портленде Билле (Дорсет). Окончив факультет математики и химии в Эксетер-колледже в Оксфорде, прежде чем посвятить себя «миру данных», он служил в Королевских ВВС во время Второй мировой войны.
После того, как его военный опыт закончился, он переехал в Нью-Йорк (1948 г.), чтобы работать в IBM над проектом электронного калькулятора выборочной последовательности, первого электронного калькулятора BigBlue, состоящего из 12 500 термоэмиссионных клапанов. В ходе своей исследовательской деятельности он разрабатывает подход к программированию IBM 7040 STRETCH (предка мейнфрейма), чтобы он мог поддерживать одновременное выполнение нескольких задач, максимально используя доступную вычислительную мощность.
Кодд, однако, не только ученый, но и гражданин, внимательный к политическим событиям, и его разочарование решениями правительства США, в частности решениями сенатора Джозефа Маккарти, заставило его покинуть страну и переехать примерно на десятилетие в Оттаву, Канада. Его возвращение в Соединенные Штаты совпало с получением докторской степени в области компьютерных наук в Мичиганском университете, а два года спустя он поселился в Калифорнии в качестве исследователя в исследовательской лаборатории IBM в Сан-Хосе.
В течение следующих 20 лет Кодд посвятил себя разработке и формулированию собственной теории управления данными, основанной на математических моделях. В частности, его идея основана на записи данных в серии таблиц, связанных друг с другом, структура, которая позволяет их переставлять (упорядочивать) n-разными способами.
Интересно подчеркнуть, что исследования Кодда сосредоточены не на базах данных в широком смысле, а на методах записи данных и способах создания «отношений» между ними, выходящих за рамки плоской модели данных (полученной непосредственно из файлов), в которой они представлены в виде простой таблицы, изолированной от остальной базы знаний.
Более того, необходимо подчеркнуть, что сам термин «база данных» был придуман только в 1964 году, то есть параллельно с исследованиями Кодда. Этот термин родился в военных лабораториях для обозначения коллекций данных, совместно используемых конечными пользователями компьютерных систем, используемых в соответствии с логикой разделения времени.
В 1969 году Кодд опубликовал внутри IBM конфиденциальный документ, в котором он подробно проиллюстрировал свое собственное решение для архивирования, которое теперь созрело для замены, помимо плоской модели, также иерархического хранилища (иерархическая модель), по сути, древовидной структуры данных основанные, и навигационные (сетевые модели), у которых структура аналогична структуре графа.
Математик подчеркивает, что необходимость преодоления предыдущих моделей обусловлена, в частности, тем, что они сильно привязаны к аппаратному обеспечению, на котором они созданы, при этом необходимо создать решение, позволяющее осуществлять запрос на основе того, «что такое глядя», а не «о том, как они хранятся».
В связи с этим У.К. МакГи из лаборатории отдела обработки данных IBM в статье «Технология баз данных» утверждает:
«В середине 1960-х годов у ряда исследователей начало расти недовольство аппаратной ориентацией существовавших тогда методов структурирования данных, и в частности тем, как указатели и подобные устройства для реализации ассоциаций сущностей были доступны пользователям».
Решение, предложенное Коддом, однако, не находит большого признания в IBM, считая его в лучшем случае «интеллектуальным курьезом», в худшем — опасностью для существующих решений, в частности для доходов, получаемых от иерархической системы IMS/DB. Однако результат исследования/эксперимента обнародован благодаря статье «Реляционная модель данных для больших общих банков данных», явно созданной самим Коддом, которая гласит:
«Он предоставляет средства описания данных только с их естественной структурой, то есть без наложения какой-либо дополнительной структуры для целей машинного представления. Соответственно, он обеспечивает основу для языка данных высокого уровня, который обеспечит максимальную независимость между программами, с одной стороны, и машинным представлением, с другой»
Следует добавить, что еще одним барьером на пути принятия модели отношений является оборудование того периода, которое еще не было достаточно мощным, чтобы поддерживать ее, учитывая сложность реализации. Это сейчас можно легко перенести бд сайта или любой другой системы, благодаря наличию множества инструментов.
IBM потребовалось почти 5 лет, чтобы разработать первый прототип реляционной базы данных, чего ожидал Университет Беркли, который начал работу над INGRES, первой по времени реляционной базой данных. Соответствующая деятельность началась в 1973 году в рамках более широкого проекта System R, из которого, как это ни парадоксально, Кодд был исключен. Система R (затем SQL/DS и, наконец, DB2) привела к развитию таких концепций, как представления (1975 г.), политики безопасности (1975 г.) и транзакции (1976 г.).
В состав команды входят Рэй Бойс и Дон Чемберлин, создавшие язык SQL (язык структурированных запросов, первоначально называвшийся SEQUEL). В частности, Чемберлен так комментирует свой опыт:
«...поскольку я изучал CODASYL (язык, используемый для запросов к навигационным базам данных), я мог представить, как эти запросы были бы представлены в CODASYL с помощью программ длиной в пять страниц, которые перемещались бы по этому лабиринту указателей и всякое такое. Кодд записывал их как однострочники... Они совсем не были сложными. Я сказал: «Ух ты». Для меня это был своего рода опыт обращения. После этого я понял, что такое отношения».
|