Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_BD_Full.docx
Скачиваний:
37
Добавлен:
13.09.2019
Размер:
945.28 Кб
Скачать

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

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

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

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

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

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 | MANUAL} {MANDATORY | OPTIONAL}

KEY IS (ACCENDING | DESCENDING) <Имя элемента данных>

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

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

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

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

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

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

Операции модификации осуществляют как добавление новых экземпляров отдельных типов записей, так и экземпляров новых наборов, удаление экземпляров записей и наборов, модификацию отдельных составляющих внутри конкретных экземпляров записей. Средства модификации данных:

Операция

Назначение

READY

Обеспечение доступа данного процесса или пользователя к БД (сходна по смыслу с операцией открытия файла)

FINISH

Окончание работы с БД

FIND

Группа операций, устанавливающих указатель найденного объекта на текущий объект

GET

Передача найденного объекта в рабочую область. Допустима только после FIND

STORE

Помещение в БД записи, сформированной в рабочей области

CONNECT

Включение текущей записи в текущий экземпляр набора

DISCONNECT

Исключение текущей записи из текущего экземпляра набора

MODIFY

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

ERASE

Удаление экземпляра текущей записи

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

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

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

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

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

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

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

RECORD Цены

02 Цена TYPE REAL

02 Товар VIRTUAL

SOURCE IS Товары.НаименованиеТовара

OF OWNER OF Товар-Цены SET

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

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

FIND <Имя записи>

RECORD BY CALC KEY <Имя параметра>

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

FIND DUPLICATE <Имя записи>

RECORD BY CALC KEY

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

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

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

FIND (FIRST | NEXT) <Имя записи>

RECORD IN CURRENT <Имя набора>

SET

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

FIND [DUPLICATE] <Имя записи>

RECORD IN CURRENT <Имя набора>

SET USING <Список полей>

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

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

  1. Установить текущую запись процесса:

FIND CURRENT OF <Имя записи> RECORD

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

  1. Реляционная модель данных. Основные определения(N-арное отношение, кортеж, атрибут, домен, степень/ранг, схема отношения, θ-сравнимые атрибуты. Эквивалентные схемы. Основное и подчиненное отношения. PRIMARY KEY, FOREIGN KEY)

Появление теоретико-множественных моделей в системах баз данных было предопределено настоятельной потребностью пользователей в переходе от работы с элементами данных, как это делается в графовых моделях, к работе c некоторыми макрообъектами. Основной моделью в этом классе является реляционная модель данных.

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

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

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

Полное декартово произведение — это набор всевозможных сочетаний из n элементов каждое, где каждый элемент берется из своего домена. Например, имеем три домена: D1 содержит три фамилии, D2— набор из двух учебных дисциплин и D3 — набор из трех оценок. Допустим, содержимое доменов следующее:

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

D2 = {Теория автоматов, Базы данных} ;

D3 = {3, 4, 5}

Тогда полное декартово произведение содержит набор из 18 троек, где первый элемент — это одна из фамилий, второй — это название одной из учебных дисциплин, а третий — одна из оценок.

<Иванов,Теория автоматов,3>;

<Иванов,Теория автоматов,4>;

<Иванов,Теория автоматов,5>

<Крылов,Теория автоматов,3>;

<Крылов,Теория автоматов,4>;

<Крылов,Теория автоматов,5>;

<Степанов,Теория автоматов,3>;

<Степанов,Теория автоматов,4>;

<Степанов,Теория автоматов,5>;

<Иванов,Базы данных,3>;

<Иванов,Базы данных,4>;

<Иванов,Базы данных,5>;

<Крылов,Базы данных,3>;

<Крылов,Базы данных,4>;

<Крылов,Базы данных,5>;

<Степанов,Базы данных,3>;

<Степанов,Базы данных,4>;

<Степанов,Базы данных,5>;

Отношение R моделирует реальную ситуацию и оно может содержать, допустим, только 5 строк, которые соответствуют результатам сессии (Крылов экзамен по "Базам данных" еще не сдавал):

<Иванов,Теория автоматов,4>;

<Крылов,Теория автоматов,5>;

<Степанов,Теория автоматов,5>;

<Иванов,Базы данных,3>;

<Степанов,Базы данных,4>;

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

R

Фамилия

Дисциплина

Оценка

Иванов

Теория автоматов

4

Иванов

Базы данных

3

Крылов

Теория автоматов

5

Степанов

Теория автоматов

5

Степанов

Базы данных

4

Данная таблица обладает рядом специфических свойств:

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

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

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

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

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

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

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

R1

Дисциплина

Фамилия

Оценка

Теория автоматов

Крылов

5

Теория автоматов

Степанов

5

Теория автоматов

Иванов

4

Базы данных

Иванов

3

Базы данных

Степанов

4

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

Если атрибуты принимают значения из одного и того же домена, то они называются θ - сравнимыми, где θ — множество допустимых операций сравнения, заданных для данного домена.

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

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

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

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

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

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

PRIMARY KEY отношения Сотрудник атрибут Паспорт является FOREIGN KEY для отношения "карьера".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]