1. Пары уровней и правила манипулирования данными

Средство моделирования данных также включает правила для семантики процессов манипу­лирования данными. Для схемы (N) ограничения, которые основываются на правилах структуриро­вания данных, также оказывают влияние на семантику обновления процессов манипулирования данными, выполняемых над базой данных.

  1. Пары уровней и связанные с ними процессы

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

Рисунки 10 и 11 иллюстрируют, как правила структурирования данных, используемые для определения схемы (N+1), влияют на процессы манипулирования данными в базе данных (N). Используются следующие пять процессов манипулирования данными: 1) — выбирать, 2) — активи­зировать, 3) — связывать с правилами манипулирования данными, 4) — связывать с правилами структурирования данных, 5) — выбирать или модифицировать. Перечисления от 1 до 5 обозначают шаги, которые объясняются на следующих рисунках. Рисунки 10 и 11 являются расширением рисунка 9 для того, чтобы показать активизацию, схемные соединения, промежуточные выборки данных, подготовку и действие других процессов манипулирования данными.

(N) схема




(N)
база данных

Рисунок 10 — Создание пустой базы данных

Следующие шаги описывают соответствующие процессы (рисунки 10 и 11) и показывают, как правила средства моделирования данных дают возможность процессу манипулирования данными (N) корректно управлять базой данных (N).

Шаг 1. Процесс манипулирования данными выбирает исходную схему (N) из базы данных (N+1), используя правила и структуры данных схемы (N+1). Представления исходной схемы (N) в базе данных (N+1) являются постоянными данными, которые могут быть модифицированы. Исходная схема (N) после выборки может иметь или не иметь форму представления постоянных данных. Например, операция выборки может просто устанавливать признак в базе данных (N+1) или может выбрать данные из базы данных (N+1) и хранить их в базе данных, отличающейся от той, в которой хранится база данных (N+1). Эта другая база данных должна также соответствовать схеме (N+1).

Шаг 2. Исходная схема активизируется, чтобы создать объектную схему и пустую базу данных (N). Осуществляется анализ, который предшествует активизации, для гарантии того, что исходная схема есть истинная схема. Такой анализ может быть выполнен в целом или частично с помощью процесса манипулирования данными (N+1), выполняющего выборку, с помощью другого процесса, который анализирует исходную схему, или в связи с активизацией.

Активизация может заканчиваться изменением признака, связанного с предварительно вы­бранной схемой (N) в базе данных (N+1). Альтернативно активизация может заканчиваться физи­ческим движением данных (N+1) и изменением формы представления. В обоих случаях активизированная схема должна быть защищена от любого изменения, которое осуществлялось бы в базе данных, не соответствующей схеме.

Шаг 3. Правила манипулирования данными, которые управляют операцией процесса мани­пулирования данными (N), имея доступ к базе данных (N), являются теми же самыми или основан­ными на правилах, связанных со схемой (N+1).

Шаг 4. Каждый процесс манипулирования данными (N), который должен иметь доступ к базе данных (N), связывается с правилами средства моделирования данных в схеме (N+1). Когда уровень (N+1) является самым высоким уровнем, это связывание неявное.

Шаг 5. Для того чтобы процесс манипулирования мог иметь доступ к базе данных (N), схема (N) должна быть активной.

Шаги 1 и 2 обеспечивают создание пустой базы данных. Шаг 3 делает определенной связь между средством моделирования данных, определенным на уровне (N+1), и процессом манипу­лирования данными (N). Этот шаг делает явным важный атрибут блокирования пар уровней. Обе пары уровней требуются для того, чтобы процессы управления данными могли осущест­вляться корректно.

Связывание может быть выполнено различными способами (например, с помощью ссылки на схему или с помощью объединения схемы процесса) и в различные моменты времени (например, при выполнении или при компиляции). Сделанный выбор может влиять на время выполнения, пространство памяти и поддержку непротиворечивости процессов и схемы во время модификации последней. В противном случае выбор не влияет на результаты процессов.

  1. Многократное связывание

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

  1. Управление доступом для пар уровней

Все данные являются субъектом для управления доступом, и в 4.6 описано, как это может выражаться в терминах привилегий, относящихся к типу данных. Идентификатор, который относится к пользователю или программе, действующей от имени пользователя, может быть независимым от уровня. Привилегия, которая относится к уровню данных (N), находится на уровне (N+1).

  1. Модификация схемы

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

Это можно выполнить с помощью модификации исходной схемы в базе данных (N+1), активизируя ее, чтобы создать новую схему (N) и пустую базу данных (рисунок 10), и передавая первоначальные данные в новую базу данных. Пошаговая модификация может также быть исполь­зована, чтобы удовлетворить это требование с тем же эффектом.

  1. Архитектурная модель

    1. Понятия моделирования

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

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

При взаимодействии клиент — сервер клиент делает запрос на услугу, включая любые значения данных, требуемые для этой услуги. Сервер обеспечивает один из следующих ответов:

  • указание, что запрашиваемая услуга завершена;

  • набор данных, который является результатом запрашиваемой услуги;

  • сообщение, что услуга недоступна;

  • сообщение, что запрашиваемые данные недоступны.

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

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

Процессор может быть клиентом многих серверов в любое время; несколько серверов могут поддерживать нескольких параллельных клиентов.

Для более детального описания архитектурной модели необходимо использовать:

  • специализацию, где подкласс общего класса процессоров определяется как имеющий инди­видуальные имя и услуги, которые являются дополнительными или модифицированными формами услуг общего процессора;

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

  1. Общая модель управления данными

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

Эта модель основывается на характеристиках класса «общая база данных» и класса «общая схема».

Контроллер базы данных обеспечивает предоставление услуг управления данными для опре­деления и доступа к классу баз данных.

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

Типичные услуги, обеспечиваемые контроллером базы данных, следующие:

  • устанавливать сеанс управления данными для процессора-клиента, требуя явное или неявное связывание с поименованной средой базы данных;

  • дополнять и модифицировать определения данных в схеме для базы данных;

  • выбирать определения данных из схемы для базы данных;

  • добавлять, модифицировать или удалять данные в базе данных;

  • выбирать данные из базы данных;

  • начинать транзакцию базы данных одного или более запросов на услугу;

  • завершать транзакцию базы данных с помощью фиксирования или возврата транзакции;

  • устанавливать процедуру копирования для базы данных;

  • инициировать процедуры восстановления для базы данных;

  • реорганизовать базу данных;

  • заканчивать сеанс.

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

Пользователь — это лицо или программа, которые заказывают услуги для управления данными.

Процессор пользователя — это процессор, который обеспечивает услуги управления данными для своих клиентов.

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

  1. Специализация модели в различных средах

Общая модель может быть применена к различным видам информационных систем, описанных в разделе 4. На абстрактном уровне это применение может быть представлено замещением термина «общий» соответствующей меткой. Например, модель может быть применена к среде распределен­ной базы данных в терминах контроллера распределенной базы данных, распределенной базы данных и распределенной схемы. Подобным образом может быть идентифицирован контроллер словаря базы данных, а без любой метки контроллер базы данных применяется к среде базы данных компьютерной системы.

  1. Среда базы данных

Контроллер базы данных должен поддерживать типичные услуги для среды базы данных.

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

Услуги контроллера базы данных должны поддерживаться для многих пользовательских про­цессоров-клиентов параллельно, однако клиент должен иметь возможность выполнять транзакции базы данных без влияния со стороны других клиентов.

Несколько процессоров пользователя способны иметь доступ более чем к одной среде базы данных.

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

Приведенные выше описания не рассматривают связь между средой базы данных и любой конкретной информационной системой. Разрешается процессору пользователя находиться в отлич­ной от среды базы данных компьютерной системе. В этом случае требуются протоколы связи для соединения обработки. Эти протоколы могут быть или пассивными носителями взаимосвязи или обеспечивать специальные услуги, которые поддерживают удаленное использование услуг управле­ния данными.

  1. Управление распределенными данными

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

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

Способ, которым данные распределяются, определяется в базе данных для распределенных данных. Подобным образом распределенные данные для распределенной базы данных могут рас­пределяться каким-нибудь альтернативным способом.