Модели и проектирование баз данных


Трехуровневая архитектура СБД


. Решение проблемы независимости ПП и данных обеспечивается использованием трехуровневой архитектуры системы (рис. 1.5).

Эта архитектурная концепция предлагает использовать три уровня представления данных:

· внешний уровень – представления данных для различных конечных пользователей.

·  внутренний уровень – представление данных в памяти ЭВМ, но без конкретных технических деталей (схема хранения).

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

Трехуровневая архитектура СБД

Рис. 1.5 Трехуровневая архитектура БД (общий вид)

Пример. Пусть в нашей ПО имеется объект СЛУЖАЩИЙ, характеризующийся свойствами

табельный номер

номер отдела

зарплата

. . . ,

и есть два конечных пользователя БД – КП1 и КП2. Для КП1 представляют интерес только табельный номер и номер отдела, для КП2 – табельный номер

и зарплата. Объект имеет три уровня представления или описания.

На внешнем уровне показаны два представления объекта СЛУЖАЩИЙ для различных конечных пользователей. Каждому из них обслуживающая его ПП предоставляет ту информацию о СЛУЖАЩем, в которой он заинтересован, скрывая другие характеристики.

Внешний уровень 1 (COBOL)                      Внешний уровень 2

(PL/1)

01 EMP#                                                             DCL  1 EMP

02 ЕМPNO         PIC X (6)                                         2 EMP CHAR (6)

02 DEPNO         PIC X (4)                                         3 SAL FIXED BIN (31);

Первые строчки этих текстов объявляют имена объекта. Вторые и третьи строчки указывают имена и типы характеристик объекта. Для КП1 – это табельный номер и номер отдела, а для КП2 – табельный номер

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

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

Концептуальный уровень

СЛУЖАЩИЙ

Номер служащего   CHAR (6)

Номер отдела  CHAR (4)

Зарплата NUMERIC (5)


Из приведенного описания совершенно не видно, как эта информация организована в памяти ЭВМ. Пользователю не нужно это знать. На внутреннем уровне

объект СЛУЖАЩИЙ представлен типом внутренней записи STORED_EMP.

Внутренний уровень

STORED_EMP

LENGTH=  20

PREFIX

TYPE = BYTE (6),

OFFSET= 0

EMP#

TYPE = BYTE (6),

OFFSET= 6,

INDEX = EmPX

DEPT#

TYPE = BYTE (4),

OFFSET=12,

PAY

TYPE =FULLWORD,

OFFSET=16

Указана длина записи – 20 байт. Запись состоит из четырех хранимых полей – PREFIX, EMP#, DEPT# и PAY. Поле PREFIX содержит необходимую служебную информацию. Три поля данных соответствуют свойствам СЛУЖАЩего. Поле EMP# связано с индексом ЕМРХ, обеспечивающим быстрый поиск по значениям ЕМР#. Этот индекс определен на внутреннем уровне, но не виден уже на концептуальном.

Рассмотрим детали трехуровневой архитектуры, представленные на рис. 1.6.

Трехуровневая архитектура СБД


Рис. 1.6 Трехуровневая архитектура БД (детальная схема)

Базовый язык

(PL/1, COBOL, C,…) обеспечивает процедурные возможности, т.е. локальные переменные, арифметические и логические операции, циклы и т.п.

Подъязык данных

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

(внешней моделью).

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

         Единицей доступа к данным для пользователя является внешняя запись.

Каждое внешнее представление задается внешней схемой – набором определений типов внешних записей. Схема описывается средствами пользовательского ЯОД. Система сохраняет это описание в словаре данных и может обратиться к нему. Изменения внешней схемы конкретного КП не видны прикладным программам других пользователей.


Содержание раздела