Управление данными. Громов Ю.Ю - 6 стр.

UptoLike

Для конечного пользователя это или специальный язык запросов, или язык специального назначе-
ния, возможно, основанный на формах и меню, созданный специально с учётом требований пользовате-
ля и поддерживаемый некоторым оперативным приложением.
Все эти языки включают
подъязык данных
, т.е. подмножество операторов всего языка, связанное
только с объектами и операциями баз данных. Иначе говоря, подъязык данных встроен в базовый язык,
который также обеспечивает различные не связанные с базами данных возможности, такие как локаль-
ные или временные переменные, вычислительные операции, логические операции типа if-then-else и т.д.
Система может поддерживать любое количество базовых языков и любое количество подъязыков дан-
ных. Однако существует один язык, который поддерживается практически всеми сегодняшними систе-
мами, это язык SQL. Большинство систем позволяет использовать SQL и как отдельный язык запро-
сов, и как встроенный в другие языки, такие как С и COBOL.
Хотя с точки зрения архитектуры удобно различать подъязык данных и включающий его базовый
язык, на практике они могут быть неразличимы настолько, насколько это имеет отношение к пользова-
телю. Безусловно, с точки зрения пользователя предпочтительнее, чтобы они были неразличимы. Если
они неразличимы или трудноразличимы, их называют сильно связанными. Если они ясно и легко раз-
личаются, говорят, что они слабо связаны. Большинство систем на сегодняшний день поддерживает
лишь слабую связь. Системы с сильной связью могли бы предоставить пользователю более унифициро-
ванный набор возможностей, но требуют больше усилий со стороны системных проектировщиков и
разработчиков, однако есть основания предполагать, что на протяжении следующих нескольких лет бу-
дет происходить постепенное продвижение к более сильно связанным системам.
В принципе любой подъязык данных является на самом деле комбинацией по крайней мере двух
подчинённых языков
языка определения данных
(
data definition language DDL
), который поддержи-
вает определения или объявления объектов базы данных, и
языка обработки данных
(
data manipulation
language DML
), который поддерживает операции с такими объектами или их обработку. Например,
рассмотрим пользователя языка PL/1. Подъязык данных для этого пользователя содержит такие воз-
можности PL/1, которые используются для поддержки связи с СУБД.
Язык определения данных содержит такие описательные структуры PL/1, которые требуются для
объявления объектов базы данных, сам оператор DECLARE (DCL), определённые типы данных PL/1,
возможные специальные дополнения для языка PL/1, чтобы поддерживать новые объекты, которые не
обрабатываются существующим PL/1.
Язык обработки данных состоит из таких выполняемых операторов PL/1, которые передают инфор-
мацию в и из базы данных; опять же, возможно, включая специальные новые операторы.
Отдельного пользователя интересует только некоторая часть всей базы данных; кроме того, пользо-
вательское представление такой части будет вообще чем-то абстрактным по сравнению со способом
физического хранения данных. В соответствии с терминологией ANSI/SPARC представление отдельно-
го пользователя называется внешним представлением. Таким образом,
внешнее представление
это со-
держимое базы данных, каким видит его определённый пользователь (т.е. для этого пользователя внеш-
нее представление и есть база данных). Например, пользователь из отдела кадров может рассматривать
базу данных как набор записей с информацией об отделах плюс набор записей с информацией о служа-
щих и ничего не знать о записях с информацией о деталях и поставщиках, с которыми работают пользо-
ватели в отделе обеспечения.
В общем, внешнее представление состоит из множества экземпляров каждого типа внешней записи,
которые, в свою очередь, отнюдь не обязательно должны совпадать с хранимыми записями. Находя-
щийся в распоряжении пользователя подъязык данных определён в терминах внешних записей; напри-
мер, операция выборки языка обработки данных будет проводить выборку из экземпляров внешних, а
не хранимых записей.
Замечание. В данный момент предполагается, что вся информация представлена на внешнем уров-
не в форме записей. Некоторые системы представляют информацию иначе, например, в форме «связей»
или указателей. Для систем, использующих такие альтернативные методы, все определения и пояснения
этого раздела требуют соответствующих изменений. Это замечание касается также концептуального и
внутреннего уровней.
Термин «логическая запись» на самом деле имеет тот же смысл, что и термин «внешняя запись».
Каждое внешнее представление определяется средствами внешней схемы, которая в основном со-
стоит из определений каждого типа записей во внешнем представлении.