А.3.4.3. Спецификация проекта



А.3.4.3.1. Детализация полномочий

На стадии спецификации проекта выполняется дальнейшая детализация привилегий, присваиваемых пользователям для манипулирования данными. На рис. 141 вкратце представлены различные возможности определения привилегий доступа.

Пользователь

Объекты базы данных

O1 O2 O3 On
U1   P1P2 P3 Pl
U2 P1 P2P3 P1
U3 P1P2 P2
Un P1P2 Pl P 1 PlPk

Условные обозначения :

Ui: Пользователь

Oi: Объекты базы данных

Pi: Привилегии

Рис. 141. Таблица полномочий ( Reuter . Sicherheits- und Integritatsbedingungen. 1987, с. 352)

 

К числу основных привилегий относятся чтение, создание, редактирование и удаление данных. Соответствующие объекты можно разбить на категории. Например, отношение можно рассматривать как объект, а объекты - как отдельные атрибуты, отдельные кортежи или комбинацию кортежей. Логические связи с содержанием данных можно использовать в качестве критериев выбора. Например, руководителям отделов можно разрешить читать личные дела сотрудников только своего отдела. Другой пример в том же прикладном контексте: можно предоставить сотруднику отдела управления персоналом право читать записи, относящиеся только к зарплате ниже определенного уровня.

Метаструктура такого детального представления большей частью согласуется с описанием на рис. 139.

Помимо прямой связи между ШТАТНОЙ ЕДИНИЦЕЙ и АССОЦИАЦИЕЙ ОБЩЕГО АТРИБУТА (см. рис. 139), можно установить косвенную связь, присвоив привилегии определенным паролям, а затем определенным пользователям. Это позволяет сделать описание менее избыточным, так как, например, два пользователя с одинаковым профилем привилегий получают одинаковые привилегии, обусловленные паролем. Эта метамодель показана на рис. 142.

Рис . 142. Метамодель описания полномочий

 

Механизм защиты можно описывать с помощью таблиц, где проверяется каждый ключевой запрос к базе данных. Реляционные базы данных CA-Ingres отличаются особой реализацией, описывающей правила присвоения привилегий в виде так называемых диапазонных условий. При выполнении запроса диапазоны условий и описание запроса группируются в инструкцию ЯМД (язык манипулирования данными) и, таким образом, обрабатываются в рамках одного и того же синтаксиса. Рис. 143 в пояснениях не нуждается.

 

Устная формулировка На ЯМД CA-lnores QUEL
Устная формулировка  
Руководителю отдела Миллеру разрешается доступ к личным делам всех сотрудников его отдела D43. RANGE OF X IS EMPLOYEE RESTRICT ACCESS FOR ‘MILLER TO EMPLOYEE
  WHERE X.DEPT.MEMB='D43'
Описание запроса  
Найти фамилии всех сотрудников с годовой зарплатой более 30 тыс. долл. RANGE OF X IS EMPLOYEE RETRIEVE INTO LIST (X.NAME) WHERE SALARY > 30,000
Скомпилированный запрос  
  RANGE OF X IS EMPLOYEE RETRIEVE INTO LIST (X.NAME) WHERE SALARY > 30,000 AND X.DEPT.MEMB = 'D431

Рис. 143. Присвоение полномочий в QUEL ( Renter . Sicherheits- und Integritatsbedingungen. 1987, c .361)

 

А.3.4.3.2. Распределенные базы данных

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

Распределенные базы данных повышают отказоустойчивость всей системы, обеспечивают более оперативное обновление данных, сокращают затраты и повышают гибкость ( Nerreter . Zur funktionalen Architektur von verteilten Dantenbanken. 1983, с . 2; Jablonski. Datenverwaltung in verteilten Systemen. 1990, с. 5). Недостаток, однако, заключается в том, что для их координации требуются значительные усилия.

Дейт объединил свойства распределенных СУБД в 12 правил, сформулировав фундаментальный принцип распределенных баз данных в виде правила 0 ( Date . Distributed Database Systems. 1987).

Правило 0. Основополагающий принцип

Для пользователей распределенная система баз данных не должна представляться как распределенная; иными словами, для них она должна выглядеть централизованной базой данных. Это правило позволяет поддерживать единообразно описанные условия целостности и привилегии доступа, поскольку на них не влияет распределение данных в соответствующей схеме.

Правило 1. Локальная автономия

Каждый узел должен управлять вверенными ему данными на месте, обеспечивая возможность локального управления их защитой, целостностью и хранением. Это позволяет беспрепятственно выполнять чисто локальные операции в условиях распределенной системы.

Правило 2. Локальные компоненты не зависят от центрального компонента

Это означает, что каждый локальный участок имеет равные права. Если бы узел был подчинен централизованной системе, это негативно сказывалось бы на всей системе в случае аварии.

Правило 3. Безостановочная работа

При отключении отдельных узлов не должно возникать необходимости в прерывании работы системы.

Правило 4.     Локальная прозрачность

Пользователям необязательно знать, где хранятся данные.

Правило 5. Прозрачность фрагментации

Для повышения производительности системы отношения можно разбивать на фрагменты. При этом пользователи могут продолжать работать, как если бы эти наборы данных не были фрагментированы.

Правило 6. Прозрачность репликации

Копии идентичных данных можно связывать с различными локальными участками (микрорайонами). При этом пользователям необязательно знать, что существуют копии данных.

Правило 7. Распределенная обработка операций баз данных

Чтобы обеспечить возможность распределенной обработки запросов, можно внедрить оптимизаторы.

Правило 8. Управление

распределенными транзакциями

В распределенной системе каждая отдельная транзакция может включать процессы обновления на других участках. Если обновление не доводится до конца, то происходит откат транзакции, т.е. отказ от всех изменений, сделанных до последней точки сохранения.

Правило 9. Аппаратная прозрачность

Система управления базами данных (СУБД) должна поддерживать различные аппаратные системы.

Правило 10. Прозрачность операционной системы

СУБД должна поддерживать различные операционные системы.

Правило 11. Прозрачность сети

СУБД должна поддерживать различные сетевые системы.

Правило 12. Прозрачность баз данных

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

На рис. 144 показана информационная модель, построенная в соответствии с этими принципами, применительно к понятиям, взятым из спецификации проекта на уровне организационной модели (представлена топологией сети) и модели данных (представлена реляционной схемой) ( Jablonski . Datenverwaltung in verteilten Systemen. 1990, с. 198).

Рис . 144. Распределенные базы данных

 

Фрагментация означает, что отношения можно разбивать по горизонтали или по вертикали с передачей каждому фрагменту ключа базисного отношения. Фрагменты могут частично накладываться друг на друга (см. рис. 145). Такие фрагменты представлены на рис. 144 классом СЕГМЕНТ, при этом каждый сегмент однозначно связан с ОТНОШЕНИЕМ. Сегмент данных, привязанный к определенному узлу или системе управления базами данных, называется РАЗДЕЛОМ ( Jablonski . Datenverwaltung in verteilten Systemen. 1990, с. 193).

Рис . 145. Сегментация отношения

 

Система клиент-сервер представляет собой упрощенный вариант распределенной системы (без условий прозрачности). Клиенты посылают запросы серверу базы данных, который обслуживает эти запросы, используя свои внутренние функции управления данными. Привязка отношений к серверу базы данных представляет собой поднабор метамодели. На стадии описания реализации физические данные привязываются к физическим компонентам систем хранения. При администрировании прозрачных распределенных систем возникают затруднения, связанные с проблемами координации. Решение этих вопросов в условиях сегодняшних систем баз данных лишь в самой начальной стадии.

 


Дата добавления: 2019-02-26; просмотров: 168; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!