Меню
Главная
УСЛУГИ
Авторизация/Регистрация
Реклама на сайте
 
Главная arrow Информатика arrow Базы данных
< Предыдущая   СОДЕРЖАНИЕ   Следующая >

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

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

• использованием нормализации (рис. 3.4, в);

• введением, наряду с прямыми, обратных связей.

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

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

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

SCHEMA NAME IS DB_2

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).

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

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 
Предметы
Агропромышленность
Банковское дело
БЖД
Бухучет и аудит
География
Документоведение
Журналистика
Инвестирование
Информатика
История
Культурология
Литература
Логика
Логистика
Маркетинг
Медицина
Менеджмент
Недвижимость
Педагогика
Политология
Политэкономия
Право
Психология
Религиоведение
Риторика
Социология
Статистика
Страховое дело
Техника
Товароведение
Туризм
Философия
Финансы
Экология
Экономика
Этика и эстетика