
- •Этапы проектирования баз данных.
- •Ключевые поля.
- •Установка связей между таблицами.
- •Создание таблицы.
- •Диапазон допустимых значений для числовых полей.
- •Установка связей между таблицами.
- •Целостность данных.
- •Файловые системы.
- •Структуры файлов
- •Наименование файлов.
- •Защита файлов
- •Режим многопользовательского доступа
- •2.1. Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •1.Непосредственное управление данными. Управление данными во внешней памяти.
- •2.Управление буферами оперативной памяти.
- •3. Управление транзакциями.
- •Журнализация
- •Поддержка языков бд
- •Типовая организация современной субд
- •Реляционная модель данных
- •4.1.Основные понятия реляционной модели данных
- •Концепция реляционной модели. Правила Кодда.
- •Составные части реляционной модели.
- •Реляционная целостность данных.
Режим многопользовательского доступа
Последнее, на чем мы остановимся в связи с файлами, - это способы их использования в многопользовательской среде. Если операционная система поддерживает многопользовательский режим, вполне реальна ситуация, когда два или более пользователей одновременно пытаются работать с одним и тем же файлом. Если все эти пользователи собираются только читать файл, ничего страшного не произойдет. Но если хотя бы один из них будет изменять файл, для корректной работы этой группы требуется взаимная синхронизация.
Исторически в файловых системах применялся следующий подход. В операции открытия файла (первой и обязательной операции, с которой должен начинаться сеанс работы с файлом) помимо прочих параметров указывался режим работы (чтение или изменение). Если к моменту выполнения этой операции от имени некоторой программы A файл уже находился в открытом состоянии от имени некоторой другой программы B (правильнее говорить "процесса", но мы не будем вдаваться в терминологические тонкости), причем существующий режим открытия был несовместимым с желаемым режимом (совместимы только режимы чтения), то в зависимости от особенностей системы программе A либо сообщалось о невозможности открытия файла в желаемом режиме, либо она блокировалась до тех пор, пока программа B не выполнит операцию закрытия файла.
Заметим, что в ранних версиях файловой системы ОС UNIX вообще не были реализованы какие бы то ни было средства синхронизации параллельного доступа к файлам. Операция открытия файла выполнялась всегда для любого существующего файла, если данный пользователь имел соответствующие права доступа. При совместной работе синхронизацию следовало производить вне файловой системы (и особых средств для этого ОС UNIX не предоставляла). В современных реализациях файловых систем ОС UNIX по желанию пользователя поддерживается синхронизация при открытии файлов. Кроме того, существует возможность синхронизации нескольких процессов, параллельно модифицирующих один и тот же файл. Для этого введен специальный механизм синхронизационных захватов диапазонов адресов открытого файла.
2.1. Основные функции субд
Традиционных возможностей файловых систем недостаточно для построения полноценных информационных систем. Мы выявили несколько потребностей, которые не покрываются возможностями систем управления файлами:
поддержание логически согласованного набора файлов;
обеспечение языка манипулирования данными;
восстановление информации после разного рода сбоев;
реально параллельная работа нескольких пользователей.
Можно считать, что если прикладная информационная система опирается на некоторую систему управления данными, обладающую этими свойствами, то эта система управления данными является системой управления базами данных (СУБД).
Непосредственное управление данными во внешней памяти
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти. Но подчеркнем, что в развитых СУБД пользователи в любом случае не обязаны знать, использует ли СУБД файловую систему, и если использует, то как организованы файлы. В частности, СУБД поддерживает собственную систему именования объектов БД.