Автоматизированные банки данных в системах управления водным транспортом. Учебное пособие
.pdfС другой стороны, существует ряд факторов, естественным образом приводящих к необходимости централизации данных:
●данные используются централизованными приложениями (например, такими, как производственное управление или снабжение);
●пользователям во всех подразделениях требуется одни и те же данные, причем эти данные часто обновляются;
●система должна обрабатывать запросы, для которых данные, возникающие в различных подразделениях, рассматриваются в логическом плане как одно целое;
●большой объем данных общего назначения;
●защита данных;
●пользователи определенных данных часто перемещаются с места на место.
В современных АС обычно одни данные могут быть централизованными, а другие – децентрализованными. Поэтому при проектировании распределенной базы данных приходиться решать задачу – распределения данных по сети. Решение этой задачи может осуществляться следующими способами:
●в каждом узле сети хранится и используется собственная БД, однако хранимые в ней данные доступны для других узлов сети;
●все данные распределенной БД полностью дублируются в каждом узле сети;
●хранимые в центральном узле сети данные частично дублируются в тех периферийных узлах, в которых они интенсивно используются.
Распределенная обработка данных помимо задачи распределения их по сети выдвигает ряд новых вопросов по сравнению с централизованной:
● распределенные БД могут быть однородными и неоднородными в смысле используемых в системе программных средств (СУБД). Если используются разные СУБД, то должна быть решена проблема преобразования структур данных и прикладных программ, так как для пользователей должна быть обеспечена прозрачность этих преобразований;
●чтобы обеспечивать пользователю логическую прозрачность данных по всей базе, должен быть решен вопрос о создании единой концептуальной схемы для всей сети; при этом схема должна содержать информацию о местонахождении данных в сети, чтобы пользователь в запросе не указывал, в каком узле сети находятся интересующие его данные;
●должен быть решен вопрос о декомпозиции запроса пользователя на отдельные составные части, которые могут пересылаться для выполнения в разные узлы сети в зависимости от места хранения данных и складывающейся на момент обработки запроса операционной обстановки в сети (при этом должна быть обеспечена координация процессов обработки);
●должен быть решен вопрос о синхронизации процессов обновления и обработки копий данных;
●необходимо решить вопрос защиты данных и их восстановления;
●обеспечить управление словарями данных и т.д.
Рассмотрим архитектуру однородных распределенных БД. Для описания информационной структуры всей сети вводится интерфейс концептуальной модели данных – глобальная сетевая концептуальная схема. Ее еще называют сетевой метамоделью данных.
Для обеспечения работы внешних пользователей вводится интерфейс внешней модели, который здесь называется внешней схемой сети. Благодаря этому пользователи могут писать запросы, не интересуясь реальным распределением данных в сети.
В каждом узле сети имеется локальная общая схема (одна для каждого узла), содержащая как описание локальных узлов, хранимых в этом узле, так и описание тех данных, хранимых в других узлах, но используемых ПП и пользователями и в данном узле.
Для реализации запроса его внешняя схема транслируется в так называемую общую схему сети (в которой уже присутствует информация о размещении требуемых данных по сети) и начинается его выполнение.
СУБД любого узла сети хранит локальные данные и выполняет в этом узле требуемые операции над ними. Поступивший запрос декомпозируется на составные операции (подзапросы), строится план перемещения и обработки подзапросов в сети, и начинается пересылка
подзапросов в соответствующие локальные СУБД для выполнения. СУБД узла, выполнив поступивший подзапрос, результат выполнения выдает в сеть. После поступления ответов на все подзапросы формируется окончательный ответ.
5.Модели данных
5.1.Основные компоненты модели данных
Развитие теории и практики проектирования и эксплуатации БнД сопровождается интенсивным развитием теории моделей данных. В качестве объекта исследования, проектирования выступают сами данные, их структурная композиция, правила построения.
Построение структур данных в каждой конкретной модели данных не может выполняться произвольным образом, а только по определенным правилам. Это связано с ограничениями, вытекающими из особенностей используемых в модели типов структур данных и операций, которые можно выполнять над этими структурами. Поэтому в качестве основных компонентов модели данных рассматривают: структуры данных, операции над данными, ограничения. Основные компоненты модели данных тесно взаимосвязаны между собой и в различных конкретных моделях могут быть реализованы различными способами.
Познакомимся с наиболее важными понятиями основных компонентов модели данных.
При представлении данных в ЭВМ различают физическую и логическую организацию данных (рис.11). В то же время, когда речь идет о данных применительно к какой-то конкретной функциональной задаче АС, то данные закодированные в машине в виде нулей и единиц, несут в себе информацию о реальном объекте управления.
При разработке алгоритма решения функциональной задачи АС ее предметная область представляется путем некоторого набора символов в виде структуры данных. При этом учитываются не все объекты, а лишь те, которые имеют непосредственное отношение к решаемой задаче.
|
|
1 |
|
|
|
или |
|
|
|
0 |
|
|
Бит |
|
|
Поле |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лес |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
6 |
5 |
4 |
|
3 |
|
2 |
1 |
|
0 |
Байт |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
Слово |
|
|
|
|
|
|
|
|
Логическая запись |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лес |
|
Хвойный |
150 |
|
Куб.м |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
15 |
|
|
|
8 |
7 |
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поле |
|
|
поле |
|
поле |
поле |
|
||
|
|
Физическая запись |
|
|
|
|
|
|
|
|
|
Файл |
|
|
|
|
|
|
||||||||
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Блок |
|
1 |
|
Лес |
|
Хвойный |
|
150 |
|
Куб.м |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
512 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
Металл |
|
Цветной |
|
75 |
|
т. |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
байт |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
256 |
|
3 |
|
Кирпич |
|
Красный |
|
85000 |
|
шт. |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
слов |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
255 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Физический том |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
(диск) |
|
|
|
|
|
|
|
Библиотека |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Файл |
|
GRUZ |
|
|
|
|
DAT |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Файл |
|
GRUZ |
|
|
|
|
МАС |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Файл |
|
GRUZ |
|
|
|
|
OBJ |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Файл |
|
SUDA |
|
|
|
|
DAT |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а) |
|
|
|
|
|
|
|
|
|
|
|
|
|
б) |
|
|
|
|
|
|
|
Рис.11. Физическая (а) и логическая (б) организация данных
Совокупность таких объектов, называется предметной областью, а сами объекты – объектами предметной области.
Например, при решении задачи автоматизации планирования и учета комплексного обслуживания флота в порту объектами могут быть: заявки на обслуживание, экономические и эксплуатационные показатели, технические характеристики судов, нормативносправочные сведения.
Объекты предметной области описываются в виде характеристик-атрибутов, являющимися, для решаемой задачи, наиболее существенными. Каждый атрибут может принимать определенные значения.
Например, когда речь идет о грузе как объекте предметной области, в качестве атрибутов (в зависимости от решаемой задачи) могут быть использованы характеристики (наименование, количество, единицы измерения). Для определенного вида груза они принимают конкретные значения. Например, “лес – хвойный, 150 м3.”
Объекты описываются определенной совокупностью его параметров, которые составляют запись. Запись содержит поля. Поле – единица данных. Семейство записей образуют файл. Файл – совокупность экземпляров записей одного типа. Совокупность файлов, обрабатываемых в системе, образуют набор файлов или библиотеку. При этом можно отметить следующие соответствия между, объектами предметной области и логическим представлением:
●число объектов равно числу записей в файле;
●число атрибутов, описывающих объект, равно числу полей в каждой записи.
Кроме перечисленных терминов, используемых для обозначений определенных типов структур данных, широко распространена терминология предложенная КОДАСИЛ – Ассоциацией по языкам систем обработки данных. В ней аналог поля в файловых системах представляет элемент данных. Существует понятие агрегат данных, которое определяется как совокупность элементов данных внутри записи, рассматриваемых как единое целое. Например, агрегат данных ДАТА, который состоит из элементов данных – Число, Месяц, Год. Вводится также понятие набор, представляющий совокупность записей, образующих двухуровневую иерархическую структуру. Этот термин не является аналогом набора файлов.
При описании атрибутов могут использоваться числовые величины, строки символов, значения проводимых измерений. Так как внутреннее представление данных в ЭВМ сводится в конечном счете к последовательности единиц и нулей, то в процессе обработки машина
должна их однозначно интерпретировать. Для чего данные снабжаются дополнительной информацией, сообщающей о "типе" обрабатываемой величины и при хранении в ЭВМ классифицируются по типам.
В языках высокого уровня тип данных задается путем явного описания в тексте программ. В различных языках, в общем случае, имеются различные типы данных, но основные классифицируются следующим образом: простые, структурированные, ссылочные.
Простые типы представляют собой конечный набор типов, называемых базисными. Они не обладают внутренней структурой. К простым типам данных относятся: целый, плавающий, символьный, логический.
Целый и плавающий типы данных предназначены для представления числовых значений, символьный используется для образования текстов из символов. Логический тип состоит из логических значений "истинность" и "ложность" и применяется для выражения значений логических условий.
Каждому данному любого простого типа в любой момент времени соответствует всегда только одно значение.
Структурированные типы данных предназначены для конструирования из конечного набора базисных типов сложных структурных данных. К этим типам данных относят: массивы (одно- и многомерные), последовательности (файлы, стеки).
Под массивом понимают группировку набора данных идентичного типа. Массиву присваивается имя, обозначающее всю группу данных. Причем к каждому элементу группы возможен индивидуальный доступ с помощью целого индекса, указывающего позицию элемента в группе. В n – мерных массивах позиция элемента задается с помощью n-индексов.
Ссылочный тип данных предназначен для обеспечения ссылок на другие данные и называется указателем. Этот тип применяется для динамического построения сложных структур данных и в ряде языков (например, Фортран) отсутствует.
Одним из основных способов структуризации данных является использование абстракций.
Абстракция предполагает, что внимание должно быть сконцентрировано на основных общих свойствах множества объектов, а несущественные детали должны быть опущены. Так, общее понятие СУДНО – есть абстракция, отражающая множество наших представлений о конкретных судах. Абстракция монет быть многоуровневой, т.е. объект абстракция одного уровня может рассматриваться как объект абстракция другого уровня и т.д. Таким
образом, абстракция может использоваться для формирования нового типа из других типов. Например, ГРУЗ определяется как абстракция типов: ЛЕС, МЕТАЛЛ, КИРПИЧ, ПЕСОК и т.д. Механизм абстракций широко используется при построении моделей данных.
При создании баз данных всегда следует учитывать логические ограничения на значения данных и их отношения. Они обычно представляют собой условия, при которых имеют смысл те или иные данные. Например, если будем рассматривать значение стоимости детали двигателя, то оно не может превышать значение стоимости самого двигателя, в которое детали входят составной частью.
Логические ограничения, накладываемые на данные, рассматриваются как свойства присущие данным и обеспечивающие адекватное отображение предметной области в БД. Если эти ограничения записать в БД, то их можно использовать для контроля целостности содержимого БД. Отсюда возникает понятие целостность данных, т.е. данные хранимые в БД не должны противоречить заданным логическим ограничениям которые называют ограничениями целостности. Они обычно задаются для множества объектов. Их можно разбить на два типа: внутренние и явные.
Внутренние ограничения обусловлены самой структурой принятой модели данных. Так, например в иерархической модели данных связи ограничены древовидной иерархической структурой, а в реляционных моделях данных дубликаты записей не размещаются.
Явные ограничения целостности это такие ограничения, которые описываются в явном виде с помощью специальных конструкций ЯОД. К ним относятся ограничения на значение атрибутов объекта. Ограничения в явном виде задаются не только для атрибутов, но и для типов объектов (сущностей) и связей. Так, например, если рассматривать сущность СОТРУДНИК, то может быть ограничено число сотрудников в одном отделе. Для того, чтобы уточнить, какие бывают ограничения на связи, необходимо рассмотреть основные типы связей (рис.12).
Связь один к одному (1:1). Она характеризует такой тип связи между двумя видами сущностей А и В, при котором каждому экземпляру сущности А соответствует только один В, и наоборот. Например, связь сотрудник – табельный номер (рис.12а). Здесь каждый экземпляр одного вида сущности однозначно определяет другой.
Связь один ко многим (1:М). Она характеризует такой тип связи для двух видов сущностей А и В при котором одному экземпляру сущности А соответствует несколько (0,1,2...,М) экземпляров сущности В. Однако каждому В соответствует только один экземпляр сущности
А. Например, связь судно – фамилия, имя, отчество члена команды
(рис. 12,б).
Связь многие к одному (М:1). Данный тип связи предусматривает случай, когда многим экземплярам сущности типа А соответствует только один В. Например, связь фамилия, имя, отчество члена команды
– судно (рис.12,в).
Связи типа 1:1, 1:М, М:1 называют функциональными.
Связь многие ко многим (М:М). Это такая связь, когда каждому экземпляру сущности А может соответствовать несколько экземпляров сущности В, и наоборот. Например, судно – узел (рис.12,г).
|
Тип А |
|
Тип В |
|
Тип А |
Тип В |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
. |
|
||
|
. |
|
|
. |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
. |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
. |
|
|
. |
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
. |
|
||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||||
Сотрудник |
1:1 |
Табельный |
|
|
Судно |
1:М |
Ф.И.О. |
||||||
|
|
|
|
номер |
|
|
|
|
|
|
члена |
||
|
|
|
|
|
|
|
|
|
|
|
команды |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а) Связь один к одному.
Тип А |
Тип В |
||
|
|
|
|
. |
|
. |
|
. |
|
|
|
. |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
Ф.И.О. М:1 Судно
члена
команды
в) Связь многих к одному.
б) Связь один ко многим.
|
Тип А |
|
|
Тип В |
|||
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
. |
|
|
|
|
|
|
|
. |
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
. |
|
|
|
|
. |
|
|
|
|
|
|
|
. |
|
|
|
|
|
М:М |
|
|
|
Судно |
|
|
|
Узел |
|||
|
|
|
|||||
|
|
|
|
|
|
|
|
г) Связь многих ко многим.
Рис.12. Типы связей между двумя видами сущностей А и В
Наряду с двусторонними связями между типами сущностей существуют еще связи, которые называют ассоциациями. Ассоциации рассматривают одностороннюю связь от сущности А к сущности В. Их подразделяют на три типа: простая, сложная и условная (рис.13).
|
|
Тип А |
|
|
|
|
Тип В |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
. |
|
|
|
|
|
. |
|
|
|
|
|
. |
|
|
|
|
|
. |
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
|
|
|
Фамилия |
|||||
|
|
Судно |
|
||||||||
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
капитана |
||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
а) Ассоциация простая по типу I |
|||||||||
|
|
Тип А |
|
|
|
|
|
Тип В |
|||
|
|
|
|
|
|
|
|
|
|
||
|
|
. |
|
|
|
|
. |
|
|
||
|
|
. |
|
|
|
|
. |
|
|
||
|
|
|
|
|
|
|
. |
|
|
||
|
|
. |
|
|
|
|
. |
|
|
||
|
|
|
|
|
М |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Узел |
|
Поставщик |
|||||||
|
|
|
|
||||||||
|
|
судна |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
б) Сложная ассоциация по типу М.
Тип А Тип В
|
С |
|
|
Сотрудник |
Дата |
||
|
|||
|
|
увольнения |
|
|
|
|
в) Условная ассоциация по типу С.
Рис.13. Типы ассоциаций
Ассоциация простая (тип I). При этой связи экземпляр сущности А определяет один и только один экземпляр сущности В, т.е. идентификация экземпляра сущности В является уникальной. Например, связь типа судно – фамилия капитана судна (рис.13,а). Естественно, что в частном случае может оказаться, что на разных судах могут оказаться капитаны с одинаковыми фамилиями, и поэтому обратная связь (от В к А) здесь не рассматриваются.
Сложная ассоциация (тип М). При этой связи каждый экземпляр сущности А определяет несколько (нуль, один, два и т.д.) экземпляров сущности В. И идентификация экземпляра типа В не обязательно является уникальной. Например, связь между сущностями узлы судна и поставщик (рис.13,б).
Условная ассоциация (тип С) соответствует случаю, когда для двух типов сущностей А и В может не существовать экземпляра типа сущности В, но если существует, то он относится к единственному экземпляру сущности А. Например, связь между сущностями сотрудник – дата увольнения (рис.13,в).
Рассмотренные типы связей представляют собой лишь часть ограничений всего множества видов ограничений, которые могут иметь место. Конкретная модель данных, как будет показано ниже, характеризуется целым набором ограничений;. В связи с чем контроль выполнения ограничений в моделях данных является сложной задачей, требующей от СУБД целого набора актов доступа к БД и использования средств реляционного исчисления.
Операции над данными
При обработке данных в ЭВМ, в процессе решения прикладных задач AС необходимо производить различные над ними операции.
Селекция может производиться на основе использования логической позиции данного, его значений и связей между ними.
Селекция на основе использования логической позиции данного пли селекция посредством текущий базируется на определенной упорядоченности данных в памяти системы. При этом для селекции ключевыми понятиями являются первый элемент, последний, текущий, n-й. Относительно текущего элемента можно указать предыдущий элемент и последующий.
Селекция на основе использования значений данных базируется на задании в явном виде значений атрибутов, являющихся критериями селекции. Простое условие определяется на одном атрибуте и одном его значении и, имеет вид:
