3.2.14. Сетевые модели
Традиционные линейные графики горизонтальные и циклограммы, вообще говоря, не дают указаний о нахождении способов наилучшего использования ресурсов. Сетевые модели позволяют найти оптимальные или близкие к оптимальным последовательности работ и использования ресурсов Опираясь на современную вычислительную технику, сетевое моделирование, наряду с эффективным использованием времени и других ресурсов, обеспечивает также возможность четкого оперативного руководства при реализации весьма сложных строительных программ. Сетевая модель, помимо графической интерпретации, может быть представлена, например, и виде таблицы или массива исходных данных для ЭВМ.
Термин сетевая модель (сетевой график, логическая сеть) основывается на понятии ориентированного графа. Ориентированным графом называется совокупность множества точек и множества ориентированных дуг, соединяющих эти точки.
Область графа, ограниченная несколькими точками (вершинами), некоторые из них не имеют входящих или выходящих дуг, носит название сети.
Сеть, моделирующая определенный строительный процесс (программу), называется сетевой моделью данного процесса (программы). При этом ориентация дуг графа осуществляется в соответствии с логикой (технологией) этого процесса.
Упорядоченная группа дуг; в которой каждая вершина (исключая первую и последнюю), является общей точкой для двух дуг в группе, называется путем. Один или несколько из множества путей, который на строительном графике имеет наибольшую иродолжтельность, называется критическим. Переоценка времени реализации всего проекта связана с переоценкой времени выполнения работ, лежащих на этом пути. Критический путь находится с помощью ЭВМ и различных математических методов (например, можно использовать динамическое программирование).
Сетевые модели ознаменовали собой значительный шаг вперед в области моделирования и календарного планирования дискретных технологических процессов. В отличие от линейных, сетевые модели могут описать взаимосвязи между работами и определенный класс организационно-технологических схем строительных процессов.
Математические методы сетевого планирования достаточно хорошо разработаны. Имеются многочисленные программы анализа сетевых моделей и решения задач календарного планирования на их основе.
На базе сетевых моделей созданы так называемые систеьы сетевого планирования и управления, которые широко применяются в различных отраслях экономики России и особенно в строительстве. Системы сетевого планирования и управления, являясь предшественником автоматизированных систем управления строительством, прочно вошли в них в виде одной из основных частей.
Сетевые методы нельзя отнести к оптимизационным, хотя и существуют способы нахождения на их основе наилучших вариантов. В большой степени они связаны с анализом всего комплекса работ, осуществляемых для реализации определенной программы. При этом соблюдается основной принцип использования сетевых методов — выделение ведущего звена (критического пути), определяющего выполнение всей программы В соответствии с этим принципом во всей совокупности работ выделяют те которые в случае невыполнения их в срок, задержат, например, ввод в строй какого—либо объекта.
Значительным достижением, в настоящее время, является разработка способов построения стохастических сетевых моделей, в которых анализируемые параметры имеют вероятностный характер. Это сразу же поставило сетевое моделирование в ряд наиболее эффективных способов нахождения тех или иных рациональных методов планирования и поиска управленческих решений. Некоторые успехи достигнуты и в области оптимизации параметров сетевых графиков. Это стало возможным благодаря использованию методов теории графов.
Сетевая модель данных
Сетевая модель данных является развитием иерархической модели. В сетевой модели, так же как и в иерархической модели, есть понятие элемента данных и связи, которая может быть именована. Главное отличие сетевой модели от иерархической заключается в том, что к каждому элементу может идти связь не от одного элемента (“родителя”), а от нескольких.
Например, генеалогическое дерево, построенное только по мужской линии (или, только по материнской), является древовидной, иерархической структурой — у каждого человека (элемента), есть только один родитель. Если же включать в генеалогическое дерево всех родителей, то такое дерево с точки зрения структур данных будет уже не деревом, а сетью:
Рис.2.3. Представление фрагмента генеалогического дерева на основе сетевой модели данных
На данном рисунке представлены элементы только одно класса — описание людей, и на этом множестве для некоторых конкретных пар людей существуют связи, именуемые “муж”, “жена”, “отец”, “мать”, “ребенок”. Поэтому с точки зрения графического представления схемы этой базы данных (а не конкретных данных о семье Петровых), можно использовать следующий рисунок:
Рис.2.4. Представление схемы базы данных генеалогического дерева на основе сетевой модели данных
Сетевая модель данных основывается на понятии элемента данных и связей, задающих логику взаимоотношениями между данными. Связи от каждого элемента могут быть направлены на произвольное количество других элементов. На каждый элемент могут быть направлены связи от произвольного числа других элементов. Каждый элемент данных описывает некоторое понятие из предметной области и характеризуется некоторыми атрибутами. Для каждого элемента данных (элемент — это часть схемы) в реальной базе данных может существовать несколько экземпляров этого элемента. С каждым конкретным экземпляром по конкретной связи может быть связано разное число экземпляров другого элемента (например, у каждого человека разное число детей), но число видов связи одинаково для всех экземпляров одного элемента.
Если мы вернемся к нашему примеру про издательства тематических сборников (этот пример рассматривался в разделе про иерархические СУБД) и попытаемся расширить его, для того чтобы он более полно соответствовал реальным взаимоотношениям, то схема базы данных будет выглядеть следующим образом:
Рис.2.5. Представление расширенной схемы базы данных для описания издательств на основе сетевой модели
К достоинствам сетевой модели относится очень высокая скорость поиска и возможность адекватно представлять многие задачи в самых разных предметных областях. Высокая скорость поиска основывается на классическом способе физической реализации сетевой модели — на основе списков.
Главным недостатком сетевой модели, как, впрочем, и иерархической, является ее жесткость. Поиск данных, доступ к ним, возможен только по тем связям, которые реально существуют в данной конкретной модели. При поиске данных сетевая СУБД требует перемещаться только по существующим, заранее предусмотренным связям.
Сетевая модель
Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных.
Для описания схемы сетевой БД используется две группы типов: «запись» и «связь». Тип «связь» определяется для двух типов «запись»: предка и потомка Переменные типа «связь» являются экземплярами связей.
Сетевая БД состоит из набора записей и набора соответствующих связей. На формирование связи особых ограничений не накладывается. Если в иерархических структурах запись-потомок могла иметь только одну запись-предка, то в сетевой модели данных запись-потомок может иметь произвольное число записей-предков (сводных родителей).
Пример схемы простейшей сетевой БД показан на рисунке. Смысл связей здесь обозначены надписями на соединяющих типы записей линиях.
В различных СУБД сетевого типа для обозначения одинаковых по сути понятий зачастую используются различные термины. Например, такие как элементы и агрегаты данных, записи, наборы, области и т.д
Физическое размещение данных в базах сетевого типа может быть организовано практически теми же методами, что и в иерархических базах данных.
К числу важнейших операций манипулирования данными баз сетевого типа можно отнести следующие:
- поиск записи в БД;
- переход от предка к первому потомку;
- переход от потомка к предку;
- создание новой записи;
- удаление текущей записи;
- обновление текущей записи;
- включение записи в связь;
- исключение записи из связи;
- изменение связей и т. д
Реляционная модель данных
Реляционная модель данных предложена сотрудником фирмы IВМ Удгаром Коддом и основывается на понятии отношение (relation). Отношение представляет собой множество элементов, называемых кортежами. Наглядной формой представления отношения является привычная для человеческого восприятия двумерная таблица. Таблица имеет строки (записи) и столбцы (колонки). Каждая строка таблицы имеет одинаковую структуру и состоит из полей. Строкам таблицы соответствуют кортежи, а столбцам — атрибуты отношения. С помощью одной таблицы удобно описывать простейший вид связей между данными, а именно деление одного объекта (явления, сущности, системы и проч.), информация о котором хранится в таблице, на множество подобъектов, каждому из которых соответствует строка или запись таблицы. При этом каждый из подобъектов имеет одинаковую структуру или свойства, описываемые соответствующими значениями полей записей. Например, таблица может содержать сведения о группе обучаемых, о каждом из которых известны следующие характеристики: фамилия, имя и отчество, пол, возраст и образование. Поскольку в рамках одной таблицы не удается описать более сложные логические структуры данных из предметной области, применяют связывание таблиц. Физическое размещение данных в реляционных базах на внешних носителях легко осуществляется с помощью обычных файлов. Достоинства:Простота, понятность и удобство физической реализации на ЭВМ. Именно простота и понятность для пользователя явились основной причиной их широкого использования. Проблемы же эффективности обработки данных этого типа оказались технически вполне разрешимыми. Недостатки:Отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей. Примерами зарубежных реляционных СУБД для ПЭВМ являются следующие: dBaseIII Plus и dBase IY, DB2, R:BASE, FoxPro, Paradox и dBASE, Visual FoxPro и Access, Clarion, Ingres и Oracle. К отечественным СУБД реляционного типа относится система: ПАЛЬМА (ИК АН УССР), а также система HyTech.