Язык описания данных в сетевой модели



Язык описания данных в сетевой модели имеет несколько разделов:

q описание базы данных — области размещения;

q описания записей — элементов и агрегатов (каждого вотдельности);

q описания наборов (каждого в отдельности).

SCHEMA IS <Имя БД>.

AREA NAME IS <Имя физической области>. RECORD NAME IS <Имя записи (уникальное)>

Для каждой записи определяется способ размещения экземпляров записи данного типа:

LOCATION MODE IS {DIRECT (напрямую) |

CALC <Имя программы> USING <[Список пер.>]

DUPLICATE ARE [NOT.] ALLOWED

VIA <Имя набора> SET (рядом с записями владельца) SYSTEM (решать будет система)}

Каждый тип записи должен быть приписан к некоторой физической области размещения:

WITHIN <Имя области размещения-» AREA

После описания записи в целом идет описание внутренней структуры:

<Имя уровня> <Имя данного» <Шаблон> <Тип>

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

<Номер уровня> <Имя агрегата>.<Номер уровня> <Имя 1-й сост.> а если — повторяющейся группой, то следующим образом:

<Номер уровня> <Имя агрегата>.OCCURS <N> TIMES

где N — среднее количество элементов в группе.

Описание набора и порядка включения членов в него выглядит следующим образом :

SET NAME IS <Имя набора>;

OWNER IS (<Имя владельца> | SYSTEM).

Далее указывается порядок включения новых экземпляров члена данного набора в экземпляр набора:

ORDER PERMANENT INSERTION IS {SORTED | NEXT | PREV | LAST | FIRST}

После этого описывается член набора с указанием способа включения и способа исключения экземпляра — члена набора из экземпляра набора.

MEMBER IS <Имя члена набора> {AUTOMATIC I MANUAL) {MANDATORY | OPTIONAL} KEY IS (ACCENDING | DESCENDING) <Имя элемента данных>

При автоматическом включении каждый новый экземпляр члена набора автоматически попадает в текущий экземпляр набора в соответствии с заданным ранее порядком включения. При ручном способе экземпляр члена набора сначала попадает в БД, а только потом командой CONNECT может быть включен в конкретный экземпляр набора.

Если задан способ исключения MANDATORY, то экземпляр записи, исключаемый из набора, автоматически исключается и из базы данных. Иначе просто разрываются связи.

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

Язык манипулирования данными в сетевой модели

Все операции манипулирования данными в сетевой модели делятся на навигационные операции и операции модификации.

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

Таблица 3.1.Операторы манипулирования данными в сетевой модели

 

Операция Назначение
READY Обеспечение доступа данного процесса пли пользователя к БД (сходна по смыслу с операцией открытия файла)
FINISH Окончание работы с БД
FIND Группа операций, устанавливающих указатель наиденного объекта па текущий объект
GET Передача найденного объекта в рабочую область. Допустима только после FIND
STORE Помещение в БД записи, сформированной в рабочей области
CONNECT Включение текущей записи в текущий экземпляр набора
DISCONNECT Исключение текущей записи из текущего экземпляра набора
MODIFY Обновление текущей записи данными из рабочей области пользователя                                        \
ERASE Удаление экземпляра текущей записи

В рабочей области пользователя хранятся шаблоны записей, программные переменные и три типа указателей текущего состояния:

q текущая запись процесса (код или ключ последней записи, с которой работала данная программа);

q текущая запись типа записи (для каждого типа записи ключ последней записи, с которой работала программа);

q текущая запись типа набор (для каждого набора с владельцем Т1 и членом Т2 указывается, Т1 или Т2 были последней обрабатываемой записью).

На рис. 3.7 представлена концептуальная модель торгово-посреднической организации.

 

Рис 3.7. Схема БД «Торговая фирма»

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

RECORD Цены 02 Цена TYPE REAL 02 Товар VIRTUAL

SOURCE IS Товары.НаименованиеТовара OF OWNER OF Товар-Цены SET

Наиболее интересна операция поиска (FIND), так как именно она отражает суть навигационных методов, применяемых в сетевой модели. Всего существует семь типов операций поиска:

1- По ключу (запись должна быть описана через CALC USING ...): .  

FIND <Имя записи> RECORD BY CALC KEY <Имя параметра>

2-  Последовательный просмотр записей данного типа:

FIND DUPLICATE <Имя записи> RECORD BY CALC KEY

3- Найти владельца текущего экземпляра набора:

FIND OWNER OF CURRENT <Имя набора> SET

Последовательный просмотр записей—членов текущего экземпляра набора:

FIND (FIRST j NEXT) <Имя записи> RECORD IN CURRENT <Имя набора> SET

5.    Просмотр записей—членовэкземпляра набора, специфицированных рядом полей:

FIND [DUPLICATE] <Имя записи> RECORD IN CURRENT <Имя набора>SET USING <Список полей>

6. Сделать текущейзаписью процесса текущий экземплярнабора:

FIND CURRENT OF <Имя набора> SET

7. Установить текущую запись процесса: FIND CURRENT OF <Имя записи> RECORD

Например, алгоритм и программапечати заказов, сделанных Петровым, будут выглядеть так:

ФИО = "Петров"

FIND Люди RECORD BY CALC KEY

FIND FIRST Заказы RECORD IN

CURRENT Люди-Заказы SET WHILE NOT FAIL DO

FIND OWNER OF CURRENT

Товары-Заказы SET GET Товары PRINT НаимТовара FIND NEXT Заказы RECORD IN

CURRENT Люди-Заказы SET END

 


Реляционная модель данных

Основные определения

Теоретической основой этой модели стала теория отношений, основу которой заложили два логика — американец Чарльз Содерс Пирс (1839-1914) и немец Эрнст Шредер (1841-1902).

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

Это было использовано в реляционной модели для разработки языка манипулирования данными, связанного с исходной алгеброй.

Американский математик Э. Ф. Кодд в 1970 году впервые сформулировал основные понятия и ограничения реляционной модели, ограничив набор операции в ней семью основными и одной дополнительной операцией. (за эту модель он был удостоен престижной премии Тьюринга в области теоретических основ вычислительной техники).

Основной структурой данных в модели является отношение, именно поэтому модель получила название реляционной(от английского relation — отношение).

N-арным отношением R называют подмножество декартова произведения D1*D2*…*Dn множеств D1, D2, Dn (n ≥ 1), необязательноразличных. Исходные множества D1, D2, Dn называют доменами.

R Í D1*D2*...*Dn,

где D1*D2*…*Dn — полное декартово произведение.

Полное декартово произведение — это набор всевозможных сочетаний из n элементов каждое, где каждый элемент берется из своего домена.

Например, три домена:

q D1= {Иванов, Крылов, Степанов};

q D2 = {ТА, БД};

q D3 = {3, 4, 5}

Тогда полное декартово произведение содержит набор из 18 троек, где первый элемент — это одна из фамилий, второй — это название одной из учебных дисциплин, а третий — одна из оценок:   <Иванов,ТА,3>; ……… <Степанов, БД,5>;

R моделирует реальную ситуацию à  может содержать, только некоторые строки.

Графическая интерпретация отношения - таблица, столбцы которой соответствуют вхождениям доменов в отношение, а строки — наборам из n значений, взятых из исходных доменов, которые расположены в строго определенном порядке в соответствии с заголовком. Такие наборы из n значений часто называют n-ками.

R

Фамилия Дисциплина Оценка
Иванов ТА 4
….. ….. …..
Степанов БД 5

Свойства таблицы:

1. В табл. нет двух одинаковых строк.

2. Табл.имеет столбцы, соответствующие атрибутам отношения.

3. Каждый атрибут в отношении имеет уникальное имя.

4. Порядок строк в таблице произвольный.

Вхождение домена в отношение принято называть атрибутом. Строки отношения называются кортежами.

Количество атрибутов в отношении называется степенью, или рангом, отношения.

в отношении не может быть одинаковых кортежей: отношение — это множество!

 

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

Схемой отношения R называется перечень имен атрибутов данного отношения с указанием домена, к которому они относятся:

SR = (А1,  А2, …, Аn),  Аi Í: Di.

Если атрибуты принимают значения из одного и того же домена, то они называются q-сравнимыми, где q — множество допустимых операций сравнения, заданных для данного домена. Например, если домен содержит числовые данные, то для него допустимы все операции сравнения, тогда q = {=, <>,>=,<=,<,>}. Однако и для доменов, содержащих символьные данные, могут быть заданы не только операции сравнения по равенству и неравенству значений. Если для данного Домена задано лексикографическое упорядочение, то он имеет также полный спектр операций сравнения.

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

Sr1 = (A1, A2, .... An) — схема отношения R1

Sr2 = (Bi1, Bi2, …, Bin) — схема отношения R2 после упорядочения имен атрибутов.

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

 


Дата добавления: 2018-04-15; просмотров: 762; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!