Лабораторные работы по курсу «Базы данных»



Pdf көрінісі
бет16/46
Дата12.05.2023
өлшемі0,79 Mb.
#92097
түріПрактикум
1   ...   12   13   14   15   16   17   18   19   ...   46
Полная блокировка. Означает полное завершение всяких операций над 
основными объектами (таблицами, отчетами и экранными формами). Этот 
вид блокировок обычно применяется при изменении структуры таблицы. 
Блокировка от записи. Накладывается в случаях, когда можно 
использовать таблицу, но без изменения ее структуры или содержимого. 
Такая блокировка применяется, например, при выполнении операции 
слияния данных из двух таблиц. 
Предохраняющая блокировка от записи. Предохраняет объект от 
наложения на него со стороны других операций полной блокировки, либо 
блокировки от записи. Этот вид блокировки позволяет тому, кто раньше 
«захватил» 
объект, 
успешно 
завершить 
модификацию 
объекта. 
Предохраняющая блокировка о записи совместима с аналогичной 
блокировкой (предохраняющей блокировкой от записи), а также с 
предохраняющей 
полной 
блокировкой. 
Примером 
необходимости 
использования этой блокировки является режим совместного редактирования 
таблицы несколькими пользователями. 
Предохраняющая полная блокировка. Предохраняет объект от 
наложения на него со стороны других операций только полной блокировки. 
Обеспечивает максимальный уровень совместного использования объектов. 
Такая блокировка может использоваться, например, для обеспечения 
одновременного просмотра несколькими пользователями одной таблицы. В 
группе пользователей, работающих с одной таблицей, эта блокировка не 
позволит никому изменить структуру общей таблицы. 
Что касается БД созданных в среде MS Access, после открытия файла 
сразу создается файл блокировки (название такое же, как и у исходного, но 
расширение ldb). По умолчанию, на БД накладывается предохраняющая 
полная блокировка, т.е. каждый из пользователей может просматривать и 
изменять данные в таблицах, но не может изменять структуру существующих 
таблиц, форм, отчетов пока БД пользуется два и более человек. Ограничения 
на изменения структуры БД снимаются, как только пользователю становится 


доступна полная блокировка (монопольный доступ), т.е. как только 
остальные пользователи заканчивают работу с БД. 
Рассмотрим ситуацию, потенциально приводящую к конфликту: 
1. Пользователь А и Б открыл базу; 
2. Пользователь А начал редактирование 2го поля в 3ем кортеже 
отношения R1; 
3. Пользователь Б начал редактирование 2го поля в 3ем кортеже 
отношения R1; 
4. Пользователь А закончил редактирование; 
5. Пользователь Б закончил редактирование. 
В результате, изменения вносимые пользователем А просуществовали до 
завершения редактирования пользователем Б. Более того, пользователь Б 
затер изменения пользователя А даже не подозревая об этом. Потенциально 
такая ситуация может приводить к нарушению логики функционирования 
приложения, использующего БД. Поэтому в MS Access при возникновении 
рассмотренной ситуации, когда пользователь Б пытается закончить 
редактирование (п. 5), ему выдается предупреждение о том, что запись уже 
была изменена, а также предлагается выбрать один из вариантов: закончить 
редактирование, скопировать внесенные им изменения в буфер и 
просмотреть измененные (пользователем А) значения полей, отменить 
редактирование. 
В этом случае ответственность за правильное внесение данных 
перекладывается на пользователей БД и прикладных программных средств
использующих БД. 
Кроме того, имеется возможность указать степень детализации 
блокировки, которую использует Microsoft Access в общей базе данных. Если 
применяется блокировка на уровне страниц, Microsoft Access блокирует 
страницу с размером 4K (область памяти, в которой находится запись). При 
этом изменение записи может привести к блокировке других записей на этой 
странице. Однако блокировка на уровне страниц обычно обеспечивает более 
высокое быстродействие. 


Достарыңызбен бөлісу:
1   ...   12   13   14   15   16   17   18   19   ...   46




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет