Предпосылки к созданию СУБД (Файлы и файловые системы).
Важным шагом в развитии именно информационных систем явился переход к использованию централизованных систем управления файлами.
файл - это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Правила именования файлов, способ доступа к данным, хранящимся в файле, и структура этих данных зависят от конкретной системы управления файлами и, возможно, от типа файла. Система управления файлами берет на себя. распределение внешней памяти, отображение имен файлов в соответствующие адреса во внешней памяти и обеспечение доступа к данным.
Конкретные модели файлов, используемые в системе управления файлами, мы рассмотрим далее, когда перейдем к физическим способам организации баз данных, а на этом этапе нам достаточно знать, что пользователи видят файл как линейную последовательность записей и могут выполнить над ним ряд стандартных операций:
- создать файл (требуемого типа и размера);
- открыть ранее созданный файл;
- прочитать из файла некоторую запись (текущую, следующую, предыдущую, первую, последнюю);
- записать в файл на место текущей записи новую, добавить новую запись в конец файла.
В разных файловых системах эти операции могли несколько отличаться, но общий смысл их был именно таким. Главное, что следует отметить, это то, что структура записи файла была известна только программе, которая с ним работала, система управления файлами не знала ее. И поэтому для того, чтобы извлечь некоторую информацию из файла, необходимо было точно знать структуру записи файла с точностью до бита. Каждая программа, работающая с файлом, должна была иметь у себя внутри структуру данных, соответствующую структуре этого файла. Поэтому при изменении структуры файла требовалось изменять структуру программы, а это требовало новой компиляции, то есть процесса перевода программы в исполняемые машинные коды. Такая ситуация характеризовалась как зависимость программ от данных.
Для информационных систем характерным является наличие большого числа различных пользователей (программ), каждый из которых имеет свои специфические алгоритмы обработки информации, хранящейся в одних и тех же файлах Изменение структуры файла, которое было необходимо для одной программы, в старых ИС требовало исправления и перекомпиляции и дополнительной отладки всех остальных программ, работающих с этим же файлом. Далее, поскольку файловые системы являются общим хранилищем файлов, принадлежащих, вообще говоря, разным пользователям, системы управления файлами должны обеспечивать авторизацию доступа к файлам. В общем виде подход состоит в том, что по отношению к каждому зарегистрированному пользователю данной вычислительной системы для каждого существующего файла указываются действия, которые разрешены или запрещены данному пользователю. В большинстве современных систем управления файлами применяется подход к защите файлов, впервые реализованный в ОС UNIX. В этой ОС каждому зарегистрированному пользователю соответствует пара целочисленных идентификаторов: идентификатор группы, к которой относится этот пользователь, и его собственный идентификатор в группе. При каждом файле хранится полный идентификатор пользователя, который создал файл, и фиксируется, какие действия с файлом может производить его создатель, какие действия с файл доступны для других пользователей той же группы и что могут делать с файл пользователи других групп. Администрирование режимом доступа к файлам в основном выполняется его создателем-владельцем.
Для множества файлов, отражающих информационную модель одной предметной области, такой децентрализованный принцип управления доступом вызывал дополнительные трудности. И отсутствие централизованных методов управления доступом к информации послужило еще одной причиной разработки СУБД.
Следующей причиной стала необходимость обеспечения эффективной параллельной работы многих пользователей с одними и теми же файлами.
В общем случае системы управления файлами обеспечивали режим многопользовательского доступа. Если операционная система поддерживает многопользовательский режим, вполне реальна ситуация, когда два или более пользователя одновременно пытаются работать с одним и тем же файлом. Если все пользователи собираются только читать файл, ничего страшного не произойдет. Но если хотя бы один из них будет изменять файл, для корректной работы этих пользователей требуется взаимная синхронизация их действий по отношению к файлу.
В системах управления файлами обычно применялся следующий подход. В операции открытия файла (первой и обязательной операции, с которой должен начинаться сеанс работы с файлом) среди прочих параметров указывался режим работы (чтение или изменение). Если к моменту выполнения этой операции некоторым пользовательским процессом PR1 файл был уже открыт другим процессом PR2 в режиме изменения, то в зависимости от особенностей системы процессу PR1 либо сообщалось о невозможности открытия файла, либо он блокировался до тех пор, пока в процессе PR2 не выполнялась операция закрытия файла.
При подобном способе организации одновременная работа нескольких пользователей, связанная с модификацией данных в файле, либо вообще не реализовывалась, либо была очень замедлена.
Эти недостатки послужили тем толчком, который заставил разработчиков информационных систем предложить новый подход к управлению информацией. Этот подход был реализован в рамках новых программных систем, названных впоследствии Системами Управления Базами Данных (СУБД), а сами хранилища информации, которые работали под управлением данных систем, назывались базами или банками данных (БД и БнД).
Первые коммерческие СУБД появились в конце 60-х и возникли из систем, выполн.пЗ - это были файловые системы, хранившие информацию долгое время. Первой (1963 год) была СУБД общего назначения Integrated Data Storage( IDS )-Интегрированное хранилище данных, разработчик Чарльз Бахман( C. Bachman) компания General Electric (представление данных в этой системе стало основой сетевой модели данных). Но они:
а) были не надежны;
б) не поддерживали эффективного доступа к данным, расположенном в неизвестном файле;
в) не поддерживали язык запросов на данные;
г) поддержка п.1, т.е. схемы данных, была ограничена созданием структуры каталогов для файлов;
д) файловые структуры, допуская параллельный доступ к информации, не предотвращают ситуации, когда два пользователя изменяют один и тот же файл почти одновременно, поэтому изменения одного из них в файле вообще не появляются.
Первыми важными приложениями были те, в которых данные разбивались на множество небольших элементов, вводилось множество запросов или изменений (система резервирования авиабилетов, банковская система, корпоративные записи).
В 1968 году IBM разработала продукт Information Management System(IMS), объединивший крупномасштабную базу данных со средствами передачи данных. В сотрудничестве с American Airlines появилась система резервирования авиабилетов SABRE- первая система с базой данных, которая обеспечивала одновременную работу большого числа пользователей и использование сетевых технологий для доступа к БД. В первых системах БД применялись различные модели данных для описания структуры хранившейся в БД информации.
Главными из них были: иерархическая, основанная на деревьях модель, и сетевая, основанная на графах.
История развития БД
Статьи по предмету «Web-программирование»