Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
280
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

3.Архитектура систем с базами данных. Понятие модели данных

Как уже говорилось выше, для нормальной работы информационных систем с базами данных особенно важно обеспечение независимости прикладных программ от данных, точнее от формы их представления. В основе обеспечения такой независимости лежит следующая идея: пользователям системы требуется информационное содержание данных, а не детали их представления и размещения в памяти компьютерной системы. В связи с этим вводится концептуально важное понятие модели данных. Модель данных позволяет представлять пользователям информационное содержание базы данных, опуская подробности организации физического хранения данных. Появление в начале 70-х годов термина модель данных (в приложении к базам данных) связывают с именем американского математика Е.Ф. Кодда (E.F. Codd), внесшего большой вклад в развитие информационных систем с базами данных.

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

(рис. 3.1).

Предметная

Модель

Физическая

область

данных

база данных

Это отображение должно реализовываться средствами СУБД

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

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

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

структуру данных,

операции над данными,

20

ограничения целостности данных.

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

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

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

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

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

Модель Внутренняя модель Физическая база данных

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

Таким образом, формируется двухуровневая архитектура

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

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

21

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

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

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

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

1

2

3

4

Модель данных

Рис. 3.2. Двухуровневая архитектура ИС с БД

При этом следует учитывать следующие обстоятельства.

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

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

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

данных от несанкционированного доступа к ним.

Указанные проблемы могут быть решены путем введения в архитектуру информационной системы еще одного (третьего) уровня логического представления данных, так называемой внешней модели данных (ВМД). Рассмотренный выше на рисунке 3.2 уровень, названный Модель данных, в котором реализуется полный охват всего содержимого базы данных, в этом случае преобразуется в уровень так называемой концептуальной модели данных (КМД). Между внешней и концептуальной моделями данных также должно быть реализовано необходимое отображение.

Внешняя

Концептуальная

Внутренняя

Физическая

модель

 

модель

 

модель

 

база данных

 

 

 

 

 

 

 

22

Трехуровневая архитектура информационной системы с базой данных представлена на рисунке 3.3.

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

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

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

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

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

А1

А2

Б1

Б2

Б3

 

 

 

 

 

 

 

 

 

 

 

 

 

Внешнее

 

 

 

 

 

Внешнее

 

 

представление

 

 

 

 

представление

 

 

 

 

 

 

 

A

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

Отображение

 

Отображение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СУБД

 

 

 

 

Концептуальное

 

 

 

 

 

 

 

 

 

 

 

 

 

представление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отображение

Рис. 3.3. Трехуровневая архитектура ИС с БД

Внешний уровень – это индивидуальный уровень пользователей. Таким пользователем может быть прикладной программист или внешний пользователь. Этому уровню соответствует внешнее представление базы данных. Внешнее представление – это содержимое базы данных, каким его видит определенный пользователь (собственно для этого пользователя внешнее представление и есть база данных).

Концептуальный уровень – это представление всей информации базы данных, но в более абстрактной форме по сравнению с внутренним уровнем (и с физическим способом хранения данных). Однако концептуальное представление существенно отличается от способа представления данных какому-либо отдельному пользователю (внешнего представления). Упрощенно можно сказать, что концептуальное представление данных это их представление такими, «какие они есть на самом деле», а не такими, какими вынужден или желает их видеть конкретный пользователь. Концептуальное представление описывается с помощью концептуальной схемы, которая включает определение каждого типа концептуальных записей, соответствующих объектам предметной области. Концептуальная схема использует соответствующий этому уровню язык определения данных. Чтобы

23

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

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

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

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

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

Наличие нескольких уровней моделей представления данных порождает необходимость отображения (mapping) формы данных, соответствующей конкретному уровню, в формы других уровней. Из рисунка 3.3 видно, что в трехуровневой архитектуре необходимо осуществлять преобразование формы представления данных при отображении между внешним и концептуальным уровнями и при отображении между концептуальным и внутренним уровнями.

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

24

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

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

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

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