А. З. Моделирование отношений между разными типами представлений (модель управления) 88

Вид материалаДокументы
А.3.4. Отношения между организационной структурой и данными
А.3.4.1. Моделирование определения требований
А.3.4.2. Конфигурирование
А.3.4.3. Спецификация проекта
Устная формулировка
Range of x is employee restrict access for ‘miller
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
А.3.4.3.2. Распределенные базы данных
Подобный материал:
1   ...   6   7   8   9   10   11   12   13   ...   16

А.3.4. Отношения между организационной структурой и данными


На рис. 136 показано, как соотносятся организационная структура и данные в «здании» ARIS.



Рис. 136. Отношения между организацией и данными

А.3.4.1. Моделирование определения требований


По аналогии с функциональной моделью, где к корпоративным уровням планирования привязываются ключевые функции (см. верхнюю часть рис. 87), на рис. 137 представлена модель данных, где к уровням планирования привязаны важнейшие объекты данных. Отношение между организационной структурой и данными можно квалифицировать более подробно с помощью таких терминов, как «используемый», «уполномоченный на чтение» или «ответственный за обновления». Соответствующая метамодель показана на рис. 138.



Рис. 137. Модель на уровне данных




Рис. 138. Метамодель, связывающая организацию и данные


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



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


Мы должны определить, какие атрибуты разрешено обрабатывать каждому типу операции и каждому пользователю. Можно также задать дополнительные пределы для экземпляра значений атрибута. Например, если пользователю отдела управления персоналом разрешается читать сведения о заработной плате только ниже определенной суммы, это необходимо уточнить с помощью значений атрибутов ассоциации ПОЛНОМОЧИЯ. При привязке должностей можно также задать различные полномочия для нескольких типов операций. Например, сотрудник отдела управления персоналом может обновлять данные о заработной плате до определенной суммы, а читать их - до некоторой другой суммы.

Как и управляющие функции, организационные единицы могут активизироваться событиями. Эта процедура называется «управлением процессами, ориентированными на действия (операции)». По аналогии с триггерами функций передача элементов данных в виде побуждающих сообщений инициирует выполнение действий организационными единицами, как показано на рис. 140. Это особенно важно в управлении потоками работ, где побуждающие сообщения рассылаются в виде электронных папа и представляются при помощи диаграмм ЕРС в соответствии с организационным распределением функций. В упрощенном виде обмен сообщениями между организационными единицами описывается диаграммами взаимодействий (см. рис. 114).



Рис. 140. Управление организационными единицами посредством событий

А.3.4.2. Конфигурирование


Привязка данных с привилегиями доступа к организационным единицам предоставляет сотрудникам, участвующим в управлении бизнес-процессами, необходимые инструменты для работы с хранилищами данных.

Присвоение полномочий позволяет системам workflow конфигурировать входные потоки документов в организационных единицах. Для этой цели диаграммы ЕРС дополняются связями организационных единиц с функциями.

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

А.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

P1




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. Сегментация отношения


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