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

       

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


. Решение проблемы независимости ПП и данных обеспечивается использованием трехуровневой архитектуры системы (рис. 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,…) обеспечивает процедурные возможности, т.е. локальные переменные, арифметические и логические операции, циклы и т.п.

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

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

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

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

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

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


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