Ассоциирование данных фактически представляют собой совокупность указателей данных и служат для определения физического местоположения данных, ключевые значения которых хранятся в этой вершине индекса.
Имеется множество различных гибридных древовидных организаций, сочетающих в себе лучшие качества метода хэширования, бинарных деревьев, В-деревьев и их многочисленных вариантов.
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 |


