Безопасность и объекты баз данных
Базы данных хранятся на компьютере в виде файлов. Однако работа с ними отличается от обычных файлов других типов, создаваемых прочими приложениями. Это отличие заключается в повышенных требованиях обеспечения безопасности хранимой в базах информации. При работе с обычными приложениями мы даём команду «Сохранить» перед закрытием изменённого файла, полагаясь в выполнении файловых операций на операционную систему. Если мы не сохраним файл, то вся работа по редактированию или созданию файла пропадёт. Базы данных – это особые структуры. Информация, которая в них содержится, имеет большую, часто общественную ценность (учёт автомобилей в ГИБДД, обслуживание счетов в банках, обработка результатов ЕГЭ…). Нередко с одной и той же базой работают тысячи пользователей по всей стране. От информации, её актуальности и сохранности может зависеть благополучие множества людей. Поэтому целостность содержимого базы не должна зависеть ни от оператора, который может забыть сохранить введённые данные, ни от перебоев в электропитании. Проблема безопасности решается тем, что в СУБД для сохранения данных используется двойной подход. С одной стороны, изменение структуры базы, добавление или удаление таблиц и другие, так сказать, глобальные операции происходят с сохранением файла базы данных. О таких операциях СУБД предупреждает пользователя (разработчика), их не проводят с базой, находящейся в эксплуатации. Кроме того, что пользователи не могут изменять структуру базы, безопасность обеспечивается ещё и тем, что отдельным пользователям предоставляются только те данные и соответствующие права доступа, которые предусмотрены на конкретном рабочем месте. С другой стороны, операции по наполнению и редактированию содержимого базы, не затрагивающие её структуру, максимально автоматизированы, выполняются без предупреждения, в обход операционной системы. Если мы добавим или удалим записи, отредактируем хотя бы одно поле, то все изменения тут же сохранятся на диске. Поэтому нельзя ставить учебные эксперименты на реально эксплуатируемых базах – только на специальных учебных базах или копиях. Каждая СУБД реализует свои типы объектов. Перечислим основные типы объектов, которые используются в БД на примере MS Access. Таблицы – основные объекты любой реляционной БД. В таблицах хранится как структура базы (поля, их типы и свойства), так и все данные (записи). Запросы – объекты, предназначенные для доступа к нужным данным из одной или нескольких таблиц. Результат выполнения запроса также представляется в табличной форме. Особенность запросов на выборку состоит в том, что из нужных полей и записей базовых таблиц в оперативной памяти создаётся временная результирующая таблица, которую ещё называют моментальным снимком. Основное назначение запросов – обеспечение удобства и безопасности. Удобство работы с запросом состоит в том, что, во-первых, пользователю предоставляется доступ не ко всем данным, а только к тем, которые удовлетворяют указанным в запросе критериям. Во-вторых, отобранные по запросу данные могут быть упорядочены по указанному в запросе принципу, а в таблицах они хранятся в естественном порядке по мере поступления. В-третьих, применяемые по запросу операции сортировки и фильтрации выполняются гораздо быстрее, чем с базовыми таблицами, так как результирующая таблица находится не во внешней, а в оперативной памяти. Соображения безопасности состоят в том, что чем меньше доступа к базовым таблицам имеют пользователи, тем лучше. Запросы составляются так, что из всех возможных данных пользователю предоставляется только необходимый минимум. Во-первых, снижается риск того, что данные в таблицах будут повреждены в результате неумелых или ошибочных действий пользователей. Во-вторых, предоставив разным пользователям разные запросы, можно эффективно разграничить их доступ к данным в строгом соответствии с кругом персональных обязанностей. Например, сотрудник отдела кадров может вести таблицы преподавателей, сотрудник деканата – соответствующих групп студентов, а преподаватель – ведомости по своим дисциплинам. При этом сотрудник отдела кадров не может выставлять в ведомости оценки, а преподаватель – изменять список группы. С помощью различных видов запросов можно не только выбирать данные, но и изменять их, создавать новые таблицы, автоматически наполнять таблицы данными, импортированными из других источников, выполнять вычисления, преобразование по заданному алгоритму и многое другое. Формы – объекты, предназначенные для удобного и безопасного (аналогично запросам) ввода данных. В отличие от запросов, представляющих данные в виде таблиц, формы представляют собой окна с размещёнными на них полями данных и элементами управления (кнопки, надписи, счётчики и пр.). К формам применяются специальные средства оформления, наглядно отображающие существующие данные и облегчающие ввод новых. Преимущества форм можно представить, если ввод данных осуществляется с заполненных бумажных бланков. В этом случае графическое представление экранной формы повторяет оформление бланка – это заметно упрощает работу наборщика, снижает его утомление и уменьшает количество ошибок, пропущенных и неверно заполненных полей. Отчёты – объекты, предназначенные только для вывода данных. Отчёты позволяют на основе таблиц и запросов сформировать наглядные документы, которые могут быть распечатаны или включены в документ другого приложения. В отчётах могут быть не только отфильтрованные и отсортированные, но и сгруппированные данные. Добавляются специальные элементы оформления, характерные для печатных документов: колонтитулы, номера страниц, время создания отчёта и т.п. Макросы и модули – объекты, предназначенные для автоматизации работы с базой. Макросы состоят из последовательности внутренних команд СУБД и предназначены для автоматизации повторяющихся операций. Модули создаются путём программирования на языке Visual Basic for Applications и предназначены для создания новых функций, реализации нестандартных возможностей, позволяющих удовлетворить специфические требования заказчика, повысить быстродействие системы управления и уровень её защищённости.
|