Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы 2 / ЛекцБазы данных.doc
Скачиваний:
59
Добавлен:
26.04.2015
Размер:
1.08 Mб
Скачать

2.2. Моделирование локальных представлений

Выбор локального представления зависит от масштабов ПО. Для удобства проектирования желательно использовать 6-7 типов сущностей. Для каждого локального представления необходимо сформулировать сущности ( выделить

13

сущности). Иногда это сложно, так как некоторые сущности могут выступать и как атрибуты и как связи.

Пример. Пусть решается задача поставок товаров на склад. Предполага­ется, что в одной поставке может участвовать только один поставщик, постав­ляющий только один вид товара. Опишем сущность ПОСТАВКА (рис.2.9).

ПОСТАВКА

.

Модель задачи п

2.9.Модель задачи поставки товаров на склад

Модель, представленная на рис 2.9 обладает недостатком, так как с ее помощью

нельзя представить порцию информации об отдельном поставщике, который не

выполняет поставок в настоящее время и нет информации о товарах, отсутствующих в поставках. Все это учтено в модели на рисунке 2.10.

ТОВАР

ПОСТАВЩИК

ПОСТАВКА

Рис.2.10. Модель задачи поставок товаров на склад с выделением сущностей

14

Для устранения выше упомянутых недостатков введены сущности ПОСТАВЩИК и ТОВАР, что позволяет предоставить наиболее полную информацию о поставках и поставщиках.

Г Л А В А 3

МОДЕЛИ ДАННЫХ

Система баз данных поддерживает в памяти ЭВМ модель предметной области (ПО). Однако результат моделирования зависит не только от предметной об­ласти, но и от используемой СУБД. Так как каждая система предоставляет свой инструментарий для отображения предметной области то его инструментарий принято называть моделью данных. В то же время результат описания ПО в терминах модели данных называется моделью баз данных.

Поддерживаемые СУБД модели данных традиционно разбивают на ие­рархические, сетевые и реляционные.

3.1 Иерархические модели

Иерархические модели основываются на древовидных структурах. Это связанный, неориентированный граф, не содержащий циклов (петель). Дерево представляет собой иерархию элементов, называемых узлами. На самом верхнем уровне иерархии имеется только один узел - корень. Верхние элементы называются исходными а нижние – порожденными. Ни один элемент не имеет более одного исходного. Элементы, расположенные в конце ветви, т.е. не имеющие порожденных, назы­ваются листьями. Деревья изображаются перевернутыми - корнем вверху и ли­стьями внизу (рис. 3.1)

Рис. 3.1. Графическое изображение иерархической структуры БД

Иногда используется термин “сбалансированное дерево” (рис.3.2 а). В та­ком дереве каждый узел имеет одинаковое число ветвей. Структуры, в которых допускается не более двух ветвей, называются двоичным деревом (рис.3.2 6) .

15

Рис.3.2. Примеры иерархических “деревьев”

а. “сбалансированное дерево” , б. “двоичное дерево”

Можно выделить основные особенности иерархической модели БД:

1. Все типы связей функциональные, т.е. 1:1, 1:М, М:1.

2. Структура связей древовидная.

3. Иерархия всегда начинается с корневого узла.

4. На первом уровне (i=1) может находиться только один узел - корневой.

5. На нижних уровнях (i = 2, 3, ..., n) находятся порожденные (зависимые) уз­лы.

6. Каждый порожденный узел, связан только с одним непосредственно исход­ным узлом.

7. Каждый исходный узел может иметь один или несколько непосредственно порожденных узлов, которые называются подобными.

8. Доступ к каждому порожденному узлу выполняется через его непосредст­венно исходный узел.

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

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

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

Рис. 3.3. Пример структуры базы данных

Далее приведено описание этой базы на языке системы ОКА.

16

DBD NAME = ФАКУЛЬТЕТ, ACCESS = HISAM

SEGM NAME = ФАКУЛЬТЕТ, PARENT = 0, ВYTES =22

FIELD NAME = ШИФР_ФАК, BYTES = 2, START = 1, TYPE = С

FIELD NAME = НАЗВАНИЕ, BYTES - 20, START = 3, TYPE = С

SEGM NAME = КАФЕДРА, PARENT = ФАКУЛЬТЕТ, BYTES = 34

FIELD NAME = ШИФР_КАФ., BYTES - 4, START = 1, TYPE = С

FIELD NAME - НАЗВАНИЕ, BYTES = 30, START = 5, TYPE = С

. . .

DBDGEN

FINISH

END

Языки манипулирования данными (ЯМД) используются программистами для разработки различных приложений. Различают включающие и автономные ЯМД. Включающие ЯМД позволяют разрабатывать программы на тра­диционных языках программирования: Ассемблер, Фортран, Кобол, Паскаль и пр. Операторы ЯМД встраиваются в тело программ путем использования оператора CALL, с помощью которого происходит обращение к СУБД. Например в системе ОКА в качестве ЯМД используются операторы:

GET UNNIQUE (GU) - получить уникальный;

GET NEXT (GN) - получить следующий);

INSERT – включить;

DELETE (DLET) – удалить;

REPLASE (REPL) - заменить.

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

Соседние файлы в папке лабы 2