Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Автоматизированные банки данных в системах управления водным транспортом. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
794 Кб
Скачать

Имя атрибута – оператор условия – значения атрибута.

Вкачестве оператора – условия выступает один из арифметических операторов (=, ≠, <, >, ≤, ≥). Например, простое условие средний балл успеваемости студента ≥ 4,5.

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

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

балл успеваемости студента 4,5 и высшая математика = 5, предусматривает селекцию тех студентов, у которых средний балл не менее 4,5 и по высшей математике отлично.

Селекцию данных можно осуществлять также на основе логических связей между ними. Например, связь типа РАБОТАЕТ между сущностями ПРЕПОДАВАТЕЛЬ и КАФЕДРА позволяет выявить всех лиц, работающих преподавателями на кафедрах академии и все кафедры, имеющиеся в академии.

Данный тип селекции называется селекцией по связности данных.

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

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

По характеру способа получения результата различают навигационные и спецификационные операции.

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

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

Виды операций

Признаки

 

 

 

 

 

По характеру

 

По характеру

производимого

 

способа

действия над

 

получения

данными

 

результата

 

 

 

 

 

 

Индентифика-

 

 

Навигацион-

 

ция данного и

 

 

ные

 

 

 

 

определение его

 

 

 

 

позиций в базе

 

 

 

 

 

 

 

 

 

 

 

 

Специфика-

 

 

 

 

ционные

 

 

Выборка (получение требуемых данных из базы)

Включение (запись новых данных в базу)

Удаление

данных

Обновление (модификация данных)

По изменению состояния базы данных

Глобальные или обобщенные

Виртуальный атрибут

Функция

агрегации

Запускаемые включением, удалением, обновлением

Рис.14. Классификация операций над данными

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

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

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

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

Функция агрегации – вычисление значений, которые непосредственно в ней не хранятся, например вычисление сумм, подсчет числа экземпляров, определение минимума, максимума.

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

Запускаемые включением, удалением, обновлением – процедуры, активизирующиеся при определенных условиях и выполняющих одну или более операций включения, удаления или модификации.

Анализируя различия между процедурами БД и операциями, можно отметить следующее:

процедуры при своем выполнении могут захватывать обширные области данных;

процедуры могут реализовать широкий круг действий;

вызовы процедур не выполняются пользователем;

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

5.2.Краткие сведения об основных типах моделей данных

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

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

Доминирующее влияние на развитие сетевой модели данных и соответствующих СУБД, построенных на основе этой МД, оказали предложения рабочей группы по базам данных (DBTG – Data Base Task Groun) Ассоциации по языкам систем обработки данных – КОДАСИЛ.

Модель данных КОДАСИЛ создавалась под влиянием первых сетевых систем, предшественниками которых были файловые системы для генерации различных отчетов.

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

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

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

Пример сетевой модели представления данных применительно к АС разрабатываемым в «Росречфлоте» приведен на рис.15.

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

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

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

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

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

Древовидная структура – это связанный неориентированный граф, который не содержит циклов, т.е. петель из замкнутых путей.

Обычно в "дереве" графа выделяют какую-то конкретную вершину, определяют ее как корень и рассматривают особо – в эту вершину не заходит ни одно ребро. В этом случае дерево становится ориентированным. Ориентация на корневом дереве определяется либо от корня, либо к корню.

Название

Код

Пароходство -

владелец

 

 

Тип судна

Судно

Грузоподъемность

Мощность Скорость хода

Род груза

Количество

Мес. Числ. Час начала

 

Мес. Числ. Час оконч.

 

Рейс

 

Грузоотпра

 

Наименование

витель

 

 

 

Порт

Код

Грузополучатель

 

отправ-

 

 

 

Провозная плата

ления

Норма

 

обработки

 

 

 

Порт прибытия

Норма КОФ

Наименование

Код

Норма обработки

Норма КОФ

Рис.15. Пример сетевой модели представления данных

Иерархическая древовидная структура, ориентированная от корня, удовлетворяет следующим условиям:

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

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

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

каждый порожденный узел, находящийся на i -м уровне, связан только с одним непосредственно исходным узлом, находящимся на более верхнем (i—I) уровне иерархии дерева;

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

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

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

Пример древовидной структуры данных и иерархического пути доступа приведен на рис.16.

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

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

На рис.17 приведен пример схемы иерархической базы данных на внутреннем уровне.

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

поддерживающих иерархическую модель, могут вводиться

дополнительные средства для представления структур данных, отличных от древовидных.

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

А

1-й уровень

 

 

 

 

 

 

2-й уровень

В

 

С

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3-й уровень

Е

 

F

 

 

G

 

 

H

 

 

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4-й уровень

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

 

 

L

 

 

M

 

 

N

 

 

O

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.16. Пример древовидный структуры данных и иерархического пути доступа ( путь ACGM )

Суда

Шифр, район плавания

Шифр, тип

 

Шифр, вид

движителя

 

флота

 

 

 

 

 

 

 

 

 

 

Шифр, степень открытости трюмов

Рис.17. Пример схемы иерархической базы данных

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

Сегмент – это поименованная совокупность полей (соответствует термину "группа"). Каждому типу сегмента присваивается уникальное имя, идентифицирующее его в схеме базы данных. Сегмент является единицей обмена данными между СУБД и прикладной программой. Количество полей в одном сегменте определяется его внутренним ограничением.

Термины физическая связь и логическая связь соответствуют понятию "групповое отношение". Главный сегмент группового отношения объявляется исходным, детальный – порожденным.

Экземпляры одного и того же типа порожденного сегмента, подчиненные одному и тому же экземпляру исходного сегмента, называется подобными. Имена физическим связям не присваиваются.

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

Каждая ФБД может быть организованна на внутреннем уровне по одному из следующих иерархических способов: последовательным, индексно-последовательным, прямым и индексно-прямым.

Пример схемы построения иерархической базы данных, рассмотренной выше, применительно к AC разрабатываемым в “Росречфлоте” приведен на рис.18.

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

В основе реляционной модели используется понятие "отношения" представляющего собой подмножество декартова произведения доменов. Домен – это некоторое множество элементов (состояний), которые может принимать объект по некоторому свойству.

Декартовым произведением

D=D1*D2*……*Dk

доменов D1,D2, ……,Dk ,

где D1={ d11,d12, …,d1i, …,d1n }

D2={d21, d22, …,d2i, …,d2n }

……………………………

Dk={dk1, dk2, …,dki, …,dkn }

называется множество всех кортежей длины К, т.е. состоящих из К элементов – по одному из каждого домена Di(d1i, d2i, …,dkik).

Например, если, D1={A,3}; D2={B,4}; D3={5,6,F} , то К=3 и

соответственно декартово произведение:

D=D1*D2*D3={(A,B,5); (A,B,6); (A,B,F); (A,4,5); (A,4,6); (A,4,F);

(3,B,5); (3,B,6); (3,B,F); (3,4,5); (3,4,6); (3,4,F)}.

Декартово произведение позволяет получить все возможные комбинации элементов исходных множеств – элементов рассматриваемых доменов. На рис.19 представлено графическое изображение получения декартова произведения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

Суда морские

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

02

Суда река-море

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03

Суда речные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.В

Винтовые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.1

Пассажирские

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.К Колесные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.2 Наливные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.ВД

Водометные

 

 

 

 

 

 

 

 

 

03.3

 

Буксирные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.4

Сухогрузные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.41

Закрытые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.42

Открытые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03.43

Палубные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.18. Пример схемы построения иерархической базы данных

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

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