Главная страница
Навигация по странице:

  • Иерархическая модель.

  • Сетевая модель.

  • Реляционная модель.

  • Постреляционная модель.

  • Многомерная модель.

  • Лекции по Базам данных. лекции. Развитие технологий обработки данных


    Скачать 0.53 Mb.
    НазваниеРазвитие технологий обработки данных
    АнкорЛекции по Базам данных
    Дата16.02.2023
    Размер0.53 Mb.
    Формат файлаdocx
    Имя файлалекции.docx
    ТипДокументы
    #940385
    страница11 из 22
    1   ...   7   8   9   10   11   12   13   14   ...   22

    Модели баз данных

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

          иерархическая;

          сетевая;

          реляционная.

    В последние время стали более активно внедряться на практике следующие модели данных:

          постреляционная;

          многомерная;

          объектно-ориентированная.

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

    Иерархическая модель.

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



    Рисунок 4.4 – Представление связей в иерархической модели

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



    Рисунок 4.5 – Пример типа «дерево»

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

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

    Рассматриваемая иерархическая база данных представляет собой упорядоченную совокупность экземпляров данных типа «дерево» или деревьев, содержащих экземпляры типа «запись» или записи. Часто отношения родства между типами переносят на отношения между самими записями. Поля записей хранят собственно числовые или символьные значения, составляющие основное содержание базы данных. Обход всех элементов иерархической базы данных обычно производится сверху вниз и слева направо.

    Организация физического размещения иерархических данных в памяти компьютера может использовать следующие группы методов:

          представление линейным списком с последовательным распределением памяти (адресная арифметика, левосписковые структуры);

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

          Основными операциям манипулирования иерархически организованными данными относятся следующие:

          поиск указанного экземпляра базы данных (например, дерева со значением 10 в поле Отд_номер);

          переход от одного дерева к другому;

          переход от одной записи к другой внутри дерева (например, к следующей записи типа Сотрудник или Начальник);

          вставка новой записи в указанную позицию;

          удаление текущей записи и т.д.

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

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

    Недостатком данной модели является ее громоздкость для обработки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя.

    На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IМS, РС/Focus, Теаm-Uр и Dаtа Еdge, а также отечественные системы Ока, ИНЭС и МИРИС.

    Сетевая модель.

    Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных (Рис. 4.6). Наиболее полно идея сетевых баз данных впервые была изложена в «Предложениях группы КОДАСИЛ» (KODASYL – Conference on Data System Languages).



    Рисунок 4.6 – Представление связей в сетевой модели

    Описание схемы сетевой базы данных производится с использованием двух групп типов: «запись» и «связь». Тип «связь» определяется для двух типов «запись»: предка и потомка. Переменные типа «связь» являются экземплярами связей.

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

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



    Рисунок 4.7 – Пример схемы сетевой базы данных

    Физическое размещение данных в базах сетевого типа может быть организовано практически теми же методами, что и в иерархических базах данных.

    Важнейшими операциями манипулирования данными баз сетевого типа можно считать:

          поиск записи в базе данных;

          переход от предка к первому потомку;

          переход от потомка к предку;

          обновление текущей записи;

          включение записи в связь;

          исключение записи из связи;

          создание новой записи;

          удаление текущей записи;

          изменение связей и т.д.

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

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

    Системы на основе сетевой модели на практике не получили широкого распространения. Наиболее известными сетевыми системами управления базами данных являются следующие: IDМS, db_VistаIII, СЕТЬ, СЕТОР и КОМПАС.

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

    Реляционная модель данных предложена сотрудником фирмы IBM Эдгаром Коддом и основывается на понятии отношение (relation).

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

    Таблица имеет строки (записи) и столбцы (колонки). Каждая строка таблицы имеет одинаковую структуру и имеет в своем составе поля. Строкам таблицы соответствуют кортежи, а столбцам – атрибуты отношения.

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

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

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

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

    Примерами зарубежных реляционных систем управления базами данных для ПЭВМ являются следующие: dВаsеIII Рlus и dBase IY, DB2, Paradox и dВАSЕ for Windows, Visual FoxPro и Ассеss, Сlаriоn, Ingrеs и Оrасle.

    Постреляционная модель.

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

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

    На рисунке 4.8 на примере информации о накладных и товарах для сравнения приведено представление одних и тех же данных с помощью реляционной (а) и постреляционной (б) моделей. Таблица INVОIСЕS (накладные) содержит данные о номерах накладных (INVNО) и номерах покупателей (СUSТNО). В таблице INVОIСЕ.ITЕМS (накладные-товары) содержатся данные о каждой из накладных: номер накладной (INVNО), название товара (GООDS) и количество товара (QТY). Таблица INVOICES связана с таблицей INVОIСЕ.IТЕМS по полю INVNО.

    Как видно из представленного примера, по сравнению с реляционной моделью в постреляционной модели данные хранятся более эффективно, а при обработке не требуется выполнять операцию соединения данных из двух таблиц. Для доказательства на рисунке 4.9 приводятся примеры операторов SELЕСT выбора данных из всех полей базы на языке SQL для реляционной (а) и постреляционной (б) моделей.



    Рисунок 4.8 – Структуры данных реляционной и постреляционной модели

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



    Рисунок 4.9 – Операторы SQL для реляционной и постреляционной моделей

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

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

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

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

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

    Многомерная модель.

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

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

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

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

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

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

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

    По сравнению с реляционной моделью многомерная организация данных обладает более высокой наглядностью и информативностью. Для иллюстрации на рисунке 4.10 приведены реляционное (а) и многомерное (б) представления одних и тех же данных об объемах продаж автомобилей.

    Если представить многомерную модель с мерностью больше двух, то не обязательно визуально информация отоброжается в виде многомерных объектов (трех-, четырех- и более мерных гиперкубов). Пользователю в любом случае удобно иметь дело с двухмерными таблицами или графиками. Данные при этом представляют собой «вырезки» (точнее, «срезы») из многомерного хранилища данных, выполненные с разной степенью детализации.



    Рисунок 4.10 – Реляционное и многомерное представление данных

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

    Измерение (Dimension) – это множество однотипных данных, образующих одну из граней гиперкуба. Примерами наиболее часто используемых временных измерений являются Дни, Месяцы, Кварталы и Годы. В качестве географических измерений широко употребляются Города, Районы, Регионы и Страны. В многомерной модели данных измерения играют роль индексов, служащих для идентификации конкретных значений в ячейках гиперкуба.

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

    В примере на рис. 4.10 б каждое значение ячейки Объем продаж однозначно определяется комбинацией временного измерения (Месяц продаж) и модели автомобиля. На практике зачастую требуется большее количество измерений. Пример трехмерной модели данных приведен на рисунке 4.11.

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



    Рисунок 4.11 – Пример трехмерной модели

    В поликубической схеме предполагается, что в базе данных может быть определено несколько гиперкубов с различной размерностью и с различными измерениями в качестве граней. Примером системы, поддерживающей поликубический вариант базы данных, является сервер Оracle Еxpress Server.

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

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

    «Срез» (Slice)представляет собой подмножество гиперкуба, полученное в результате фиксации одного или нескольких измерений. Формирование «срезов» выполняется для ограничения используемых пользователем значений, так как все значения гиперкуба практически никогда одновременно не используются. Например, если ограничить значения измерения Модель автомобиля в гиперкубе (Рис. 4.11) маркой «Nissan», то получится двухмерная таблица продаж этой марки автомобиля различными менеджерами по годам.

    «Вращение» (Rotate) применяется при двухмерном представлении данных. Суть ее заключается в изменении порядка измерений при визуальном представлении данных. Так, «вращение» двумерной таблицы, показанной на рисунке 4.10 б, приведет к изменению ее вида таким образом, что по оси Х будет марка автомобиля, а по оси Y – время.

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

    «Агрегация» (Drill Up) и «детализация» (Drill Down) означают соответственно переход к более общему и к более детальному представлению информации пользователю из гиперкуба.

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

    Недостатком многомерной модели данных можно считать ее громоздкость для простейших задач обычной оперативной обработки информации.
    1   ...   7   8   9   10   11   12   13   14   ...   22


    написать администратору сайта