Идею реляционной базы данных впервые сформулировал доктор Эдгар Ф. Кодд в публикации исследовательского центра IBM, озаглавленной «System R4 Relational» (1970 год). Поначалу было неясно, сможет ли система, основанная на этой идее, добиться коммерческого успеха.
Тем не менее в 1977 году появилась компания Software Development Laboratories Relational Software, которая через пару лет выпустила первую коммерческую реляционную СУБД под названием Oracle V.2 (и заодно сменила имя на Relational Software, Incorporated). К 1985 году у Oracle насчитывалось уже более 1000 клиентов. Любопытно, что компания IBM не превратила реляционную технологию в коммерческий продукт вплоть до выхода программы Query Management Facility в 1983 году.
Так почему же технология реляционных баз данных стала стандартом де факто? Объяснить этот феномен поможет знакомство с предшествующими технологиями.
Системы управления базой данных впервые появились в 1960х как единый каркас организации данных, которые до того хранились в отдельных независимых файлах. В 1964 году Чарльз Бахман (Charles Bachman) из компании «Дженерал Электрик» предложил сетевую модель, в которой связанные ссылками записи образовывали пересекающиеся множества данных, как показано на рисунке (см. ниже, по центру). Эта работа положила начало рабочей группе по базам данных CODASYL. Тем временем космический отдел компании North American Aviation совместно с IBM в 1965 году разработал другой подход, основанный на иерархической модели. В нем данные представлялись в виде древовидной структуры записей, как показано на рисунке (см. ниже, по сверху). Продукт IBM на основе этой модели был выпущен на рынок в 1969 году под названием Information Management System (IMS). Еще в 1980 году почти во всех существующих реализациях СУБД применялся сетевой или иерархический подход. Хотя в то время подобные системы продавали еще несколько конкурирующих компаний, но сейчас, спустя 20 лет, в некоторых крупных организациях сохранилась только IMS.
Рис. 1. Сетевая модель (по центру), иерархическая модель (сверху) и реляционная модель (снизу)