Помощь в написании студенческих работ
Антистрессовый сервис

Программная реализация сетевой БД

РефератПомощь в написанииУзнать стоимостьмоей работы

База данных физически состоит из областей (AREA), которые разделены на блоки, называемые страницами. Размер страницы, каждая из которых имеет уникальный номер в одной и той же области, определяется пользователем. Номер страницы и строки в ней образует физический ключ записи, алогическая структура реализуется с помощью указателей. Поиск в логической структуре может осуществляться по ключу, что… Читать ещё >

Программная реализация сетевой БД (реферат, курсовая, диплом, контрольная)

Представим в виде сетевой модели БД «Учебный процесс». Возьмем за основу связи, показанные на рис. 3.4, б (см.). Здесь попрежнему присутствуют связи M: N. Их замена возможна двумя способами:

  • • использованием нормализации (рис. 3.4, в);
  • • введением, наряду с прямыми, обратных связей.

Второй путь характерен для иерархических МД. Поскольку в сетевой МД используются и ключи, ей более присущ первый путь. Тогда сетевая модель получит вид, показанный на рис. 6.4, а некоторые экземпляры логических записей — на рис. 6.5.

Отметим, что в отчетах КОДАСИЛ первоначально предполагалось обязательное участие программиста в работе БД. В последующих версиях предусматривалось минимальное участие программиста и потому ряд команд был аннулирован.

В сетевой модели данных нет полной независимости логической БД от физической БД. Это хорошо заметно из рис. 6.5 и программы на языке СУБД DBMS, приведенной ниже.

SCHEMA NAME IS DB2.

AREA NAME IS DB2_AREA.

RECORDNAME IS PART .

LOCATION MODE IS CALC HASH_PS.

USING PS in PART.

DUPUCATES NOT ALLOWED.

WITHIN DB2_AREA.

PS TYPE IS CHAR 5.

PD TYPE IS CHAR 25.

CL TYPE IS CHAR 2.

RECORDNAME IS WH.

WITHIN DB2_AREA.

WS TYPE IS CHAR 5.

WD TYPE IS CHAR 25.

SET NAME IS INVENTORY.

OWNER IS PART.

MEMBER IS WH.

Структура сетевой БД.

Рис. 6.4. Структура сетевой БД.

Экземпляры логических записей.

Рис. 6.5. Экземпляры логических записей.

MANDATORY AUTOMATIC ASCENDING KEY IS WS in WH.

DUPLICATES NOT ALLOWED.

SET OCCURRENCE SELECTION IS THRU.

LOCATION MODE of OWNER.

Базовыми языками в сетевых СУБД могут быть COBOL, PL/I. В частности, для СУБД DBMS базовым языком служит COBOL, а соответствие его команд командам языка БД приведено в табл. 6.1.

Таблица 6.1

Соответствие команд языков БД и COBOL

Язык БД.

COBOL.

AREA.

REALM.

OPEN.

READY.

CLOSE.

FINISH.

FIXED.

НЕТ.

MANDATORY.

PERMANENT.

OPTIONAL.

TRANSIENT.

AUTOMATIC.

AUTOMATIC.

MANUAL.

MANUAL.

INSERT.

CONNECT.

REMOVE.

DISCONNECT.

MODIFY.

MODIFY.

STORE.

STORE.

DELETE.

ERASE.

В физической модели выделено понятие «схема» — совокупность типов записей и связей между ними.

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

Создание сетевой БД (ЯОД)

Иллюстрацию ЯОД удобно провести с помощью программы, приведенной ранее.

Программа определяет имена схемы (SCHEMA), области (AREA) возможно и с объявлением начальной и конечной страниц. В область возможно копирование (CALL) из других схем. Задаются записи (RECORD) и вводится метод их размещения (LOCATION MODE IS .), определяющий способ хранения. Различают методы DIRECT, CALC, VIA SET, SYSTEM, INDEX.

Метод DIRECT самый быстрый: управление осуществляет пользователь путем присваивания адресов. В последних версиях этот метод исключен.

Метод CALC (ключ указывается после слова USING) предусматривает кэширование. Подробно оно будет рассмотрено в физической БД, а здесь покажем лишь его суть.

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

Размещение через набор VIA (SET) применяется, когда записьчлен направляется на ту же страницу, где находится запись-владелец. Метод SYSTEM применяется по умолчанию, а метод INDEX используется редко.

Указывается возможность наличия (DUPLICATES) повторяющихся данных, расположенных в начале (FIRST) или конце (LAST) записей-членов, либо их запрет (NOT).

Необходимо указать и связи набора: запись-владелец (OWNER), запись-член (MEMBER), размещение записи-члена после экземпляра записи-владельца (FIRST), после последней записи-члена (LAST), после текущей записи (NEXT), перед текущей записью (PRIOR), отсортированные записи (SORTED), тип указателей (NET, PRIOR).

Предусматриваются своеобразные процедуры включения (и исключения) записей (рис. 6.6), более подробно описываемые в ЯМД.

Процедуры присоединения и отсоединения записей на языке СУБД DBMS.

Рис. 6.6. Процедуры присоединения и отсоединения записей на языке СУБД DBMS.

Устанавливается выбор экземпляра набора, в частности, по способу размещения владельца (SET OCCYRENCE SELECTION IS THRU LOCATION MODE of OWNER).

Может устанавливаться и блокировка монопольная (EXCLUSIVE) и немонопольная (KEEP).

Использование сетевой БД (ЯМД)

Команды ЯМД возможно разделить на несколько групп.

Открытие и закрытие БД производится командами OPEN и CLOSE.

Доступ осуществляется командами FIND, GET, OBTAIN. Команда FIND (FIND RECORD DB KEY) осуществляет поиск экземпляров, GET — пересылку записи в промежуточную память. Команда OBTAIN «совмещает» функции двух предыдущих команд. У всех этих команд имеется несколько форматов.

Модификация данных проводится командой MODIFY.

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

При отсоединении (MANDATORY) данные уничтожаются (DELETE), а при исключении (OPTIONAL) сохраняются (REMOVE:

REMOVE RECORD FROM SET) поз* можно и в виде сингулярного набора. Аналогично при ручном (MANUAL) присоединении, осуществляемом пользователем, например, при придании владельца сингулярному набору необходимо установить связь в наборе (INSERT: INSERT RECORD INTO SET). При автоматическом (AUTOMATIC) включении, выполняемом (FROM SET) СУБД, запись помещается в набор (STORE: STORE RECORD).

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

Показать весь текст
Заполнить форму текущей работой