У каждого пользователя есть свой язык общения.




 

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

программирования, такой как C, COBOL или PL/1, либо специальный язык

рассматриваемой системы. Такие оригинальные языки называют

(неформально!) языками четвертого поколения на том основании, что

машинный код, язык ассемблера и такие языки, как COBOL, можно считать

языками трех первых «поколений», а оригинальные языки модернизированы

по сравнению с языками третьего поколения так же, как языки третьего

поколения улучшены по сравнению с языком ассемблера.

 

* Для конечного пользователя это или специальный язык запросов, или язык

специального назначения, возможно, основанный на формах и меню,

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

оперативным приложением.

 

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

включающий его базовый язык, на практике они могут быть неразличимыми

настолько, насколько это имеет отношение к пользователю. Безусловно,

сточки зрения пользователя, предпочтительнее, чтобы они неразличимы или

трудно различимым, их называют сильно связанными. Если они ясно и легко

различаются, говорят, что они слабо связаны. Большинство систем на

сегодняшний день поддерживает лишь слабую связь. Система с сильной связью

могли бы предоставить пользователю более унифицированный набор

возможностей, но, очевидно, требуют больше усилий со стороны системных

проектировщиков и разработчиков (которые, вероятно, рассчитывают на

статус-кво); однако есть основания предполагать, что на протяжении

следующих нескольких лет будет происходить постепенное продвижение к более

сильно связанным системам.

 

Язык обработки данных состоит из таких выполняемых операторов PL/1,

которые передают информацию в и из БД; опять же, возможно, включая, новые

специальные операторы.

 

В общем, внешнее представление состоит из множества экземпляров каждого

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

совпадать с ранимыми записями. Находящийся в распоряжении пользователя

подъязык данных определен в терминах внешних записей; например, операция

выборки языка обработки данных будет проводить выборку из экземпляров

внешних, а не хранимых записей.

 

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

Концептуальное представление - это представление всей информации БД в

несколько более абстрактной форме (как и случае внешнего представления) по

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

представление существенно отличается от способа представления данных

какому-либо отдельному пользователю. Вообще говоря, концептуальное

представление - это представление данных такими, какие «они есть на самом

деле», а не такими, какими вынужден их видеть пользователь в рамках,

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

 

Концептуальное представление состоит из множества экземпляров каждого типа

концептуальной записи. Например, оно может состоять из набора экземпляров

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

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

обязательно должна совпадать с внешней записью, с одной стороны, и с

хранимой записью- с другой.

 

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

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

Концептуальная схема использует другой язык определения данных -

концептуальный.

 

Концептуальное представление - это представление всего содержимого базы

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

Однако было бы ошибкой полагать, что концептуальная схема - это не более

чем набор определений, больше напоминающих простые отношения записей в

программе на языке COBOL (или каком-либо другом).

 

Теперь перейдем к более детальному исследованию трех уровней архитектуры.

 

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

 

Третьим уровнем архитектуры является внутренний уровень. Внутреннее

представление - это представление нижнего уровня всей БД; оно состоит из

многих экземпляров каждого типа внутренней записи. Термин «внутренняя

запись» принадлежит терминологии ANSI/SPARC и означает конструкцию,

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

и концептуальное, не связано с физическим уровнем, так как в нем не

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

и дорожки. Другими словами, внутреннее представление предполагает

бесконечное линейное адресное пространство; подробности того, как адресное

пространство отображено на физическое устройство хранения, очень зависят

от системы и умышленно не включены в общую архитектуру.

 

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

определяет не только различные типы хранимых записей, но также

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

последовательность хранимых записей и т.д. Внутренняя схема пишется с

использованием еще одного языка определения данных - внутреннего.

 

В заключении отметим, что в некоторых исключительных ситуациях прикладные

программы, в частности те, которые называют утилитами могут выполнять

операции непосредственно на внутреннем, а не на внешнем уровне. Конечно,

такой практикой пользоваться не рекомендуется; она определяет риск с точки

зрения безопасности (правила безопасности игнорируются) и целостности

(правила целостности тоже игнорируется), к тому же программа будет

зависеть от загруженных данных; но иногда это может быть единственным

способом достичь выполнения требуемой функции или добиться необходимого

быстродействия - так же, как пользователю языка высокого уровня иногда по

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

 

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

программных архитектур, имеющих свои плюсы и минусы.

 

Локальная архитектура.

 

И программа, и база данных расположены на одном компьютере. В такой

архитектуре работает большинство настольных приложений.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: