37
К первому классу относятся СУБД, ориентированные для работы на
персональном компьютере (dBASE, FoxPro, MS Access и т.п.). Изначально они
поддерживали работу с данными только одного пользователя. Вся СУБД такого
класса выполняется как единая программа, таблицы базы данных
представляются отдельными файлами на диске того же персонального
компьютера.
С развитием локальных сетей разработчики СУБД этого класса стали
приспосабливать их к работе в сетевой среде, в которой потенциально стало
возможным организовать доступ к данным с нескольких персональных
компьютеров, включенных в локальную сеть. Файлы базы данных при этом
размещаются на файловом сервере. На каждом же рабочем месте работает
собственная копия программы-СУБД и прикладная программа, и на их
выполнение могут оказывать существенное влияние характеристики
компьютера этого рабочего места.
Таким образом, при наличии в сети N рабочих мест с одними и теми же
данными работают N копий программы-СУБД, одними и теми же данными
управляют сразу N копий СУБД. Ошибка в выполнении одной из копий не
будет замечена другими копиями. При выполнении запросов к базе данных
копия СУБД может либо производить поиск данных в удаленных файлах на
файловом сервере, либо копировать все файлы, в которых ведется поиск в свою
локальную файловую систему. В первом случае возникают проблемы
одновременного доступа к данным при их изменении. Данные, над которыми
производится изменения, должны быть заблокированы.
Средства файлового сервера позволяют выполнять блокировку на уровне
файлов, но не на уровне записей, что существенно снижает эффективность
параллельной работы с базой данных многих пользователей. Во втором же
случае, во-первых, требуется передача по сети больших объемов информации, а
во-вторых, получается, что разные рабочие места работают с разными копиями
данных и эти копии могут стать неидентичными.