И в иерархических, и в сетевых системах БД для связывания файлов использовались физические указатели
Роль и место банков данных в информационных системах
Первый этап развития управления данными – создание и использование файловых систем.
Каждая программа, работающая с файлом, должна была иметь у себя внутри структуру данных, соответствующую структуре этого файла. Поэтому при изменении структуры файла требовалось изменять структуру программы, а это требовало новой компиляции, то есть процесса перевода программы в исполняемые машинные коды. Такая ситуация характеризовалась как зависимость программ от данных. Для информационных систем характерным является наличие большого числа различных пользователей (программ), каждый из которых имеет свои специфические алгоритмы обработки информации, хранящейся в одних и тех же файлах. Изменение структуры файла, которое было необходимо для одной программы, требовало исправления и перекомпиляции и дополнительной отладки всех остальных программ, работающих с этим же файлом. Это было первым существенным недостатком файловых систем, который явился толчком к созданию новых систем хранения и управления информацией.
Администрирование режимом доступа к файлу в основном выполняется его создателем-владельцем. Для множества файлов, отражающих информационную модель одной предметной области, такой децентрализованный принцип управления доступом вызывал дополнительные трудности. И отсутствие централизованных методов управления доступом к информации послужило еще одной причиной разработки новых систем управления данными.
В файловых системах одновременная работа нескольких пользователей, связанная с модификацией данных в файле, либо вообще не реализовывалась, либо была очень замедлена.
Эти недостатки послужили тем толчком, который заставил разработчиков информационных систем предложить новый подход к управлению информацией. Этот подход был реализован в рамках новых программных систем, названных впоследствии Системами Управления Базами Данных (СУБД), а сами хранилища информации, которые работали под управлением данных систем, назывались базами или банками данных (БД и БнД).
За несколько десятилетий последовательно появлялись системы, основанные на 3-х базовых моделях данных, или концептуальных моделях структурирования данных. Перечислим эти 3 модели: иерархическая, сетевая и реляционная.
Модель данных. Концептуальный способ структурирования данных.
Первая БД, появившаяся в середине 60-х гг., была основана на иерархической модели, что означает, что отношения между данными имеют иерархическую структуру.
В конце 60-х г.г. появились сетевые СУБД, поддерживавшие сетевую модель данных.
Сеть. Отношения между данными, когда каждая запись может быть подчинена записям более чем из одного файла.
И в иерархических, и в сетевых системах БД для связывания файлов использовались физические указатели.
В 1970 г. Е.Ф.Кодд опубликовал революционную по содержанию статью, которая всерьёз поколебала устоявшиеся представления о БД. Он выдвинул идею, что данные нужно связывать в соответствии с их внутренними логическими взаимоотношениями, а не физическими указателями. Т.о., пользователи смогут комбинировать данные из разных источников, если логическая информация, необходимая для такого комбинирования, присутствует в исходных данных. Это открывало новые возможности для информационно-управляющих систем, поскольку запросы к БД теперь не были ограничены физическими указателями.
В своей статье Кодд предложил простую модель данных, согласно которой все данные сведены в таблицы, состоящие из строк и столбцов. Эти таблицы получили название реляций, а модель стала называться соответственно реляционной. Кодд также предложил пользоваться для работы с данными в таблице двумя языками: реляционной алгеброй и реляционным исчислением. Оба эти языка обеспечивают работу с данными на основе логических характеристик, а не физических указателей, которыми пользовались в иерархических и сетевых моделях.
Логический подход к данным сделал возможным создание языков запросов, более доступных для пользователей, не являющихся не являющихся специалистами по компьютерам.
Публикация работ Кодда в начале 70-х вызвала взрыв активности, как среди ученых, так и среди разработчиков программных систем по созданию реляционной СУБД. Результатом этой деятельности явилось создание во второй половине 70-х реляционных систем, которые поддерживали такие языки, как SQL (язык структурированных запросов), Quel (язык запросов) и QBE (запрос по образцу). С широким распространением персональных компьютеров в 80-е г.г. также появились реляционные БД для микрокомпьютеров. В 1986 г. SQL был принят в качестве стандарта ANSI языков реляционных БД. Этот стандарт несколько раз обновлялся.