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

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

22.8. Архитектура автоматизированных банков данных

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

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

Архитектура АБД является многоуровневой. Выделяют внутренний, концептуальный и внешний уровни.

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

НЕ нашли? Не то? Что вы ищете?

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

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

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

Способы описания внутреннего отображения данных определяются операционной системой и составом устройств внешней памяти. Для логиче­ского описания данных (схем и подсхем) в СУБД имеются (или разрабаты­ваются) специальные языки описания данных (ЯОД). Основные концепции ЯОД разработаны CODASYL.

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

Отдельный программист (пользователь) имеет дело не со всей БД, а только с ее частями, относящимися к программе (запросу), которую он соз­дает. Так как БД может содержать данные, относящиеся ко многим приме­нениям, такое разделение существенно облегчает работу программистов (пользователей) и снижает зависимость программ от изменений БД. На основе любой схемы может быть объявлено произвольное число подсхем, причем объявление одной подсхемы не влияет на объявление дру­гих подсхем. Подсхемы могут перекрывать друг друга частично или пол­ностью. Возможна ситуация, когда схема и подсхема совпадают. На одну и ту же подсхему может ссылаться произвольное число программ. Про­грамма может использовать только области, записи, элементы и наборы данных, описанные в подсхеме, на которую она ссылается. Схема, написанная на ЯОД, состоит из статей четырех типов:

- статьи схемы, которая именует схему и связывает с ней определенные средства СУБД (по доступу, защите и т. д.). Такая статья должна быть единственной в схеме и не подразделяться на подстатьи;

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

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

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

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

- область хранения — поименованное подразделение пространства па­мяти, выделенного для БД (она содержит хранимые записи и индексы, при­чем каждая хранимая запись и индекс целиком содержатся в одной области хранения);

- страница — индивидуально пронумерованный подраздел области хра­нения (область хранения состоит из целого числа страниц одинаковой ем­кости);

- хранимая записьадресуемая единица хранения переменной длины, используемая для хранения данных и указателей, ассоциированных с од­ной записью схемы (хранимая запись обычно целиком размещается на од­ной странице);

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

- схема хранения — состоит из статей ЯОХД, описывающих области хра­нения, хранимые записи и индексы, соответствующие записям и наборам, описанным в схеме.

Кроме средств описания БД пользователю необходимы средства ука­зания действий с данными. Такие указания выполняются с помощью спе­циальных языков пользователя. Основными группами таких языков яв­ляются языки манипулирования данными (ЯМД) и интерактивные языки запросов (диалога).

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

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

Общая функциональная структура АБД приведена на рис. 22.38.

Поль­зователи АБД подразделяются на две основные категории: пользователи готовых программ и интерактивные пользователи.

Пользователи готовых программ свои запросы могут сформулировать заранее, и эти запросы реали­зуют в прикладных программах, разработанных программистами на языке, допускающем включение ЯМД.

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

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

Рис. 22.38. Функциональная структура АБД

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

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

Функционирование АБД. АБД функционирует в режимах генерации БД и эксплуатации. Схема функционирования АБД приведена на рис. 22.39. Генерация БД осуществляется на этапе организации БД, вклю­чающем следующие работы: составление схемы и ввод ее в СУБД (гене­рация схемы); составление схемы хранения и ввод ее в СУБД (генерация схемы хранения); загрузка БД; назначение паролей и ключей управления; назначение устройств и носителей для данных. Эти работы проводит адми­нистрация БД. Пользователи совместно с администрацией составляют подсхемы. Подсхемы вводят в СУБД (генерация подсхем).

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87