PRIOR — включение предыдущей записи, т. е. перед текущей записью набора (рис. 22.21).

SORTED — СУБД поддерживает упорядоченность экземпляров однотипных записей, входящих в экземпляр набора, в соответствии в возрастанием и убыванием ключевого данного.

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

В зависимости от способа включения экземпляра записи-члена в экземпляр набора различают два типа членства в наборе:

AUTOMATIC — автоматический;

MANUAL — ручной.

Чтобы поместить в БД новую запись, необходимо сформиро­вать ее в рабочей области программ и только затем с помощью опе­раторов языка манипулирования данными записать в БД. Если не­обходимо экземпляр записи-члена поместить в БД, но при этом не соединять ни с каким экземпляром набора, то указывают оператор MANUAL. Последующее включение этой записи в набор должно быть осуществлено программистом явным образом с помощью соот­ветствующих средств языка манипулирования данными. Тип член­ства AUTOMATIC предусматривает, что в момент помещения в БД запись должна быть автоматически включена в набор. Операторы MANDATORY (обязательный) и OPTIONAL (необходимый) ха­рактеризуют вид исключения экземпляра записи из экземпляра на­бора описываемого типа. Так тип OPTIONAL означает, что запись может исключаться из набора данных в произвольный момент вре­мени.

Поскольку БД предполагает соответствующее манипулирование данными рабочей группой КОДАСИЛ был также предложен соот­ветствующий язык, позволяющий осуществлять запись в базе дан­ных: STORE (запомнить), ERASE (стереть), MODIFY (изменить), CONNECT (присоединить), DISCONNECT (исключить) и др.

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

Оператор STORE (запомнить)—помещает данные, подготов­ленные в рабочей области программы, в базу.

Оператор ERASE (стереть) —удаляет из БД экземпляр записи.

Оператор MODIFY (изменить) обновляет текущую запись бан­ка данных.

Оператор CONNECT (присоединить) включает текущую запись в набор.

Оператор DISCONNECT (исключить) исключает текущую за­пись из набора, но при этом она остается в БД.

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

22.6. Иерархическая модель данных

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

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

Рис. 22.22. Граф дерева

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

В зависимости от направления дуг в ориентированном графе выделяют такие ти­пы вершин, как корень и лист.

Корень — это вершина, имеющая одну или несколько исходящих дуг и ни одной входящей.

Лист — это вершина, имеющая одну или несколько входящих дуг и ни одной исхо­дящей.

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

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

Основными понятиями в иерархической модели данных являют­ся тип записи и иерархические отношения. Вершины в дереве соот­ветствуют типу сущности и называются типом записи. Тип записи состоит из одного или более элементов данных. Во многих иерархи­ческих моделях вместо понятия «тип записи» используют эквива­лентное понятие «тип сегмента».

Иерархическое отношение (ветвь дерева) соединяет два типа за­писей и представляет собой множество связей между экземплярами записей этих двух типов.

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

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

Модели данных «сущность-связь». Они появились как обобще­ние и развитие иерархических и сетевых моделей. Модель «сущ­ность-связь» была задумана как средство представления предмет­ной области, не зависимого от особенностей среды хранения и не связанного соображениями физической эффективности. Базовыми структурами в этих моделях являются типы сущностей и связей. Тип сущности в модели носит название множество сущностей. Каж­дая сущность при этом идентифицирует объект предметной области. Связь между ними фиксируется заданием множества отношений. Различают два вида отношений — слабые и стандартные. Слабые связи идентифицируют иерархические отношения.

Множество связей (МС) в данной модели можно представить как математическое отношение п типов сущностей. Если МС есть множество, то его можно определить следующим образом:

МЗ={<т1, т2,...,тп>|т1М1, т2М2,..., тп Мп},

где m1 — сущность, принадлежащая множеству сущностей Mi, a <т1, т2,...,тп> — связь, принадлежащая множеству МС.

Домен в модели «сущность-связь» называют множеством значе-, ний. В этом случае значение представляет собой конкретный экземп­ляр множества значений.

Для изображений множеств сущностей и отношений могут быть использованы диаграммы, аналогичные графам. МС изображается прямоугольником, множество отношений — ромбом. Множествам обоих типов присваиваются имена; множества сущностей соединя­ются с множествами отношений, в котором они участвуют с помо­щью ненаправленных линий. Множество значений представляется овалом (рис. 22.23).

Рис. 22.23. Модель данных «сущность-связь»

Использование моделей «сущность-связь» является удобным средством для представления концептуальной информации.

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

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

СТУДЕНТ —УЧИТСЯ У — ПРЕПОДАВАТЕЛЬ — ОБУЧАЕТ —

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

В бинарном отношении категорий СТУДЕНТ и ПРЕПОДАВА­ТЕЛЬ направление от категории СТУДЕНТ к категории ПРЕПО­ДАВАТЕЛЬ есть функция доступа УЧИТСЯ У. Представленное отношение может быть охарактеризовано следующим образом:

СТУДЕНТ УЧИТСЯ У ПРЕПОДАВАТЕЛЯ

Функция доступа для противоположного направления будет

ПРЕПОДАВАТЕЛЬ ОБУЧАЕТ СТУДЕНТА

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

Объект — это реализация категории. Например, объект — это конкретные студенты и преподаватели. Объекты подразделяются на абстрактные и конкретные. Причем подразумевается, что абстракт­ные всегда существуют, в то время как конкретные появляются и исчезают в описании реального объекта. Так, абстрактные объекты используются для представления чисел, дат и др.

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

Из за большого объема этот материал размещен на нескольких страницах:
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