Использование представлений для разграничения доступа к данным
Представление(view) — это сформированная выборка кортежей(послед-ть полей, для кот определены знач-е и тип), хранящихся в таблице (таблицах). К представлению м. обращаться так и к табл, за исключением операций модификации данных, поскольку некоторые типы представлений явл-ся немодифицируемыми. Часто в реализациях view хранится текст, описывающий запрос выборки, а не собственно выборка данных; выборка же создается динамически на момент выполнения предложения SQL, использующего view. Но разграничить доступ, напр-р, к двум док-там, кот удовлетворяют 1 и тому же усл-ю выборки, уже нельзя. Это связано с тем, что даже если ввести отдельный атрибут, кот будет хранить инфу о метке конфиденциальности док-та, то средствами SQL можно будет получить выборку данных без учета атрибута данной метки. Это значит, что либо сам сервер БД должен предоставить более высокий уровень защиты инфы, либо придется реализовать данный уровень защиты инфы с помощью жесткого ограничения операций, кот. пользователь м. выполнить посредством SQL. На некотором уровне такое разграничение м. реализовать с помощью хранимых процедур, но не полностью — в том смысле, что само ядро СУБД позволяет разорвать связь «защищаемый объект - метка конфиденциальности».
Физическая организация БД
Концептуальная схема, специфицированная к СУБД, автоматически отображается в структуру хранения программами СУБД. Внешний пользователь может ничего не знать о том, как его представление о данных физически организовано в памяти вычислительной системы. Тем не менее, от физического размещения данных в памяти ЭВМ существенно зависит время решения прикладных задач. В связи с этим, даже на одном из начальных этапов проектирования базы данных – этапе выбора СУБД, желательно знать возможности физических структур хранения, представляемых конкретными СУБД, и оценивать временные характеристики проектируемой базы данных с учетом этих возможностей.
Способы физической организации данных в различных СУБД, как правило, различны и определяются типом используемой ЭВМ, инструментальными средствами разработки СУБД, а также критериями, которыми руководствуются разработчики СУБД при выборе методов размещения данных и способов доступа к этим данным. Заметим, что наиболее распространенным критерием служит время доступа к данным, однако в качестве критерия может выбираться, например, трудоемкость реализации соответствующих методов.
Физические модели данных служат для отображения логических моделей данных. Основными понятиями логической модели данных являются поле, логическая запись, логический файл. Слово «логический» введено, чтобы отличать понятия, относящиеся к логической модели данных, от понятий, относящихся к физической модели данных. Основными понятиями физической модели данных, используемыми для представления логической модели данных, являются поле, физическая запись, физический файл. В частности, логическая запись, состоящая из полей, может быть представлена в виде физической записи (из тех же полей), логический файл – в виде физического файла. Прежде чем конкретизировать понятия, относящиеся к физической модели данных, рассмотрим структуру памяти ЭВМ.
Структура памяти ЭВМ
Существуют два разных типа памяти – оперативная (ОП) и внешняя (ВП), причем процессор работает только с данными из оперативной памяти (рис. 1.).
Рис. 1. Схема работы ЭВМ |
Базы данных создаются для работы с большими объемами данных, что обусловливает необходимость использования внешней памяти. Поэтому организация данных и доступа к ним должна учитывать как специфику каждого типа памяти, так и способы их взаимодействия.
Отметим основные свойства оперативной памяти:
· единицей памяти является байт;
· память прямоадресуема (каждый байт имеет адрес);
· процессор выбирает для обработки нужные данные, непосредственно адресуясь к последовательности байтов, содержащих эти данные.
Отметим основные свойства внешней памяти:
· минимальной адресуемой единицей является физическая запись;
· для последующей обработки (например, работы с полями) запись должна быть считана в оперативную память;
· время чтения записи в ОП (занесения записи из ОП в ВП) на несколько порядков выше времени обработки процессором записи из ОП;
· организация обмена осуществляется порциями, т.к. невозможно считать сразу всю базу данных.