Шаг 10 - Внимание! Редактируем базу

Всегда при работе с базой данных следует учитывать одну немаловажную особенность. Право на ошибку только одно! Как у минера, но не так опасно. Имеется в виду, что редактирование в Access очень резко отличается от аналогичных операций в MS Word и MS Excel. Тот, кто привык к работе с этими программами, по началу несколько раздражен возникшими неудобствами, но со временем понимает, откуда здесь "растут ноги" и почему все именно так. Обычно в большинстве программ, можно делать все, что душе угодно, творить чудеса и экспериментировать, до тех самых пор, пока не настанет время все это сохранить... И тогда на запрос программы - "Сохранить внесенные изменения" - можно смело ответить Нет и со спокойной душой запустить любимую игрушку, для снятия умственного напряжения от проделанной работы. В Access не все так просто.

Вся база данных, в нашем случае - это один большой документ, хранящийся на диске в виде .mdb файла. Таблицы - тоже самостоятельные документы, входящие в состав БД и хранящиеся в ее теле. Структура каждой таблицы - это документ и он также имплантирован в общий файл. Запросы, формы, отчеты - все это документы, замаскированные в теле mdb-файла. Поэтому все, что мы делаем с любым из этих элементов, изменяет всю БД. Можно сделать копию базы в текущем состоянии, с помощью Проводника или любого другого файлового менеджера, а затем экспериментировать с этой копией. Но всегда при работе необходимо учитывать, что отменить можно только последнее действие. Если добавлялись новые данные в таблицу, то можно удалить последнюю запись, хотя даже тогда СУБД запросит у Вас подтверждения этого действия.

10_1.gif (3043 b)

Все изменения в таблицах сохраняются автоматически, в режиме реального времени. Это означает, что пока мы работаем с таблицей, происходит ее непрерывное сохранение на диске. Как только окончен ввод данных в одно поле и нажата клавиша Enter для перехода к следующему, данные немедленно добавляются в базу и записываются на жесткий диск. Поэтому если нажать кнопку Отмена, то будет предложено удалить последние введенные данные из базы, после чего кнопка отмены станет недоступной. В этом и заключается право на одну ошибку. СУБД не хранит всю историю Ваших действий, она помнить только то, что было сделано последним.

При работе со структурой таблицы, для отмены доступны либо последний введенный текст, либо последнее созданное поле. И если были внесены изменения, то при попытке перейти в режим таблицы - всегда будет выдаваться запрос на сохранение изменений. Если они приняты, то все изменения будут добелены в БД, в противном случае СУБД не перейдет в режим таблицы, а останется в состоянии конструктора до тех пор, пока не будут внесены корректные изменения и не будет получен ответ Да на запрос о их сохранении. Поэтому все вносимые изменения носят необратимый характер и требуют очень внимательного и аккуратного отношения к работе.

10_2.gif (2163 b)

Теперь о том, для чего это сделано. Специалист, особо не задумываясь ответит, что "это сделано для обеспечения надежности и безопасности базы данных". Да это так и профессионалы высоко ценят эти качества СУБД. Последствия от утраты документа, созданного в текстовом процессоре Word или графическом редакторе Paint, можно оценить временем, необходимым для его повторного воспроизведения. Утрата базы данных - может иметь ужасающие последствия и даже стать причиной остановки целых отраслей или систем. Если это база данных движения железнодорожного транспорта, где собраны все пути следования поездов, места и время пересечения их маршрутов, таблицы переключения стрелок и стоянок локомотивов на станциях и перегонах, то сбой в такой базе или потеря информации в ней, могут быть необратимыми и даже сулить катастрофой. Тоже самое ждет банковскую сеть или крупный завод, потеряй они свои БД. А как быть, если это база данных донорских органов подготовленных к пересадке или историй болезней в медицинском заведении. Тут нельзя полагаться на удачу и делать эксперименты. Надежность и безопасность здесь на первом месте. Трудно полагаться на пользователя вносящего новую информацию. Он может забыть нажать кнопку Сохранить или обстоятельства не позволят ему этого сделать (например, может произойти аварийное отключение источника электроэнергии во время сеанса работы с БД). Ни при каких обстоятельствах информация не должна быть потеряна!!! Поэтому все изменяемые и добавляемые данные немедленно и автоматически сохраняются в базе данных и на жестком диске.

Еще одним немаловажным плюсом при работе в реальном масштабе времени, является возможность совместного использования одной базы данным большим количеством пользователей. Если работать с базой как с простым документом, то первый получивший к ней доступ, просто заблокировал бы всех других пользователей не время своего сеанса (до тех пор, пока файл не будет сохранен и закрыт). Это просто не допустимо для глобальных БД, к которым одновременно подключены тысячи пользователей, каждый из которых использует ее для своих целей, в пределах отведенных ему прав. Одиночный пользователь, вносящий изменения в удаленную БД, блокирует (на некоторое время) только одну текущую запись. Ту, с которой он в данный момент времени работает. Например, менеджер добавляет в таблицу новые книги, поступившие сегодня. Этот факт не мешает продавцам, во всех магазинах, работающих с этой базой по компьютерной сети, наводить справки по необходимым книгам и вносить информациюю о продажах. Как только ввод записи в таблицу завершен, новая информация становится доступной для просмотра всем продавцам.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Урсатий Владимир - 27.11.2002