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

13. Базовые модели данных, применяемые в гис

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

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

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

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

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

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

  • совокупность средств определения допустимых структур данных (структуризация данных);

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

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

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

Множество операций определяет виды обработки: операции выбора (поиск) и операции, изменяющие состояние данных (редактирование).

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

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

Говорят, что СУБД реализует определенную модель данных, если перечисленные выше три компонента предоставляются пользователю в готовом виде. СУБД можно рассматривать и как развитый метод доступа, позволяющий повысить производительность труда программиста. Но главное преимущество СУБД состоит в том, что она обеспечивает интеграцию данных, которая служит основой управления. Чтобы воспользоваться этими преимуществами, необходимо четкое понимание семантики данных. Это достигается моделированием данных. Поэтому модель данных можно считать более важной (первостепенной), чем СУБД. Другими словами, сначала строим модель данных конкретной предметной области, затем приспосабливаем нашу модель к конкретной СУБД.

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

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

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

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

  • взаимосвязь определяет процедуру структуризации данных;

  • представление моделей в одной из форм. Табличная форма, в которой модель и ее характеристики представлены в виде одной или нескольких взаимосвязанных таблиц. Графовая форма основана на построении модели в виде графической схемы – графа. Граф состоит из элементов, называемых вершинами (узлами) и ребрами (дугами), и строится по определенным правилам. Вершинам графа соответствуют некоторые типы сущности (объекты), а ребрам соответствуют типы связей;

  • форма отображения объекта в модель, определяет дискретную и аналоговую модель. Примером может служить обычная (аналоговая) карта и цифровая (дискретная) карта.

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

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

Иерархические структуры.

К наиболее простым структурно–определенным относится иерархическая модель. В ней связи между ее частями являются жесткими, структурная диаграмма должна быть упорядоченным деревом, называемым иерархическим деревом определения данных. Одно из основных понятий этой модели – уровень. Для описания разных уровней применяют понятия, сходные со структурой дерева: корень, ствол, ветви, листья. Граф иерархической модели включает два типа элементов: дуги и узлы (записи). Дерево представляет собой иерархию элементов, называемую узлами. Дуги соединяют разные узлы между собой. Дуги соответствуют функциональным связям и всегда должны быть направлены от корня к листьям дерева. Это типичная схема ориентированного графа. Между двумя типами записей (узлы) в иерархической модели может быть не более одной связи. Дуга исходит из типа родительской (порождающей) записи и заходит в тип дочерней (порожденной) записи. Такая последовательность связей носит название ''исходный–порожденный''. Известная программистам последовательность диск – корневой каталог – подкаталог – программа характерный пример иерархической модели. Уровень типа записи относительно типа корневой записи определяется длиной пути от корня, измеряемый в количестве дуг.

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

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

Асимметрия – основной недостаток иерархического подхода, поскольку она затрудняет работу пользователя, увеличивая время доступа при большом числе уровней.

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

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

Сетевые структуры.

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

Любая сетевая структура может быть приведена к более простому виду введением избыточности.

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

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

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

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

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

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

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

Реляционные структуры.

В современных информационных системах и базах данных наиболее широко представлены реляционные модели. Реляционный подход стал широко известен благодаря первым работам Е.Кодда, которые появились около 1970г. В течение долгого времени реляционный подход рассматривался как удобный формальный аппарат анализа баз данных, не имеющий практических перспектив, так как его реализация требовала слишком больших машинных ресурсов. Только с появлением персональных ЭВМ реляционные и близкие к ним системы неожиданно стали распространяться, практически не оставив места другим моделям.

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

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

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

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

  • уникальная идентификация записи: запись должна однозначно определяться значением ключа;

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

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

  • каждый элемент таблицы представляет собой один элемент данных. Повторяющиеся группы отсутствуют;

  • все столбцы в таблице однородные. Это означает, что элементы столбца имеют одинаковую природу;

  • столбцам присвоены уникальные имена;

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

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

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

Чем же принципиально отличаются реляционные модели от сетевых и иерархических? На это можно ответить следующим образом: иерархические и сетевые модели данных – имеют связь по структуре, а реляционные – имеют связь по значению.

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

  • точное соответствие значений данных в столбце и его домена;

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

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