Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_1 / Лекции / Лекция 5 СУБД_Общ_св.doc
Скачиваний:
49
Добавлен:
11.06.2015
Размер:
699 Кб
Скачать
☆

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

  • один к одному (1:1);

  • один ко многим (1:М);

  • многие ко многим (М:М).

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

СТУДЕНТЫ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения. Группа)

СЕССИЯ (Номер, Оценка_1, Оценка_2, Оценка_З, Оценка_4, Результат)

СТИПЕНДИЯ (Результат, Процент)

ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия, Имя, Отчество)

Связь о один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот.

А1  В1

А2  В2

А3  В3

Примером связи 1:1 может служить связь между информационными объектами СТУДЕНТ (ФИО, группа, курс, др.) и СЕССИЯ (ФИО, Номер семестра, Предмет_1, Предмет_2, …). Каждый студент имеет определенный набор экзаменационных оценок в сессию.

При связи один ко многим (1:М) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А.

А1  В1, B2

А2  В3

А3  В4, B5

Примером связи 1:М служит связь между информационными объектами «СТИПЕНДИЯ» (ФИО, Размер) и «СЕССИЯ» (ФИО, Номер семестра, Предмет_1, Предмет_2, …, Сумма баллов). Установленный размер стипендий по результатам сдачи сессии может повторяться многократно для различных студентов.

Связь многие ко многим (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот.

А1 < В1

А2 < В2

А3<  В3

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

Все связи должны быть описаны. Если число связанных таблиц превышает три, то следует внимательно посмотреть на схему БД и по возможности постараться уменьшить число связанных таблиц до трех.

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

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

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

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

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

Эта модель используются в СУБД Oracle, Informix, PostgreSQL.

Многомерная модель, рис.8. Моделью данных является многомерный куб, где на измерениях определены некоторые иерархии, а в клетках этого куба находятся числовые значения. Операции извлечения данных из такого куба описываются в терминах поворотов, срезов, и иерархического "схлопывания" измерений с агрегированием значений (суммирование, взятие среднего и др.). Эта схема хорошо ложится на табличную организацию данных. Наиболее известный программный продукт этого класса - это Oracle Express Server.

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

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

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

Slice and Dice (нарезка на кубики и ломтики) - это термин, использующийся для описания функции сложного анализа данных, обеспечиваемой средствами OLAP выборка данных (продольные и поперечные, плоскостные и объемные срезы) из многомерного куба с заданными значениями и заданным взаимным расположением измерений, при котором пользователь обычно использует операции вращения концептуального куба данных и детализации/агрегирования данных.

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

Отношения. Между их значениями обычно существуют множество различных отношений (Relation) типа "один ко многим". Следует отметить, что для измерений, имеющих тип Время (таких как День, Месяц, Квартал, Год), все отношения устанавливаются автоматически, и их не требуется описывать.

В процессе анализа пользователь не только работает с различными срезами данных и выполняет их вращение. Одним из часто встречающихся способов манипулирования данными является операция агрегации (Drill Up) -переход от детализированных к агрегированным данным. С точки зрения пользователя, Подразделение, Фирма, Регион, Страна являются точно такими же измерениями, как и Время. Но каждое из них соответствует новому, более высокому уровню агрегации значений показателя Объем продаж.

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

Достоинствами многомерной модели данных является возможность сведения близких сущностей в одну таблицу, например, сведения о комплектующих компьютера, БД классификаторов и др. Примеры многомерных структур для хранения кодификаторов даны в табл.16 (исходные таблицы – табл.14-15), табл.16 – многомерная структура, временных рядов – табл.17-18, сеточных данных – табл.19-21.

Таблица 13 - Страны Таблица 14 - Ведомства Таблица 15 - Организации

Код

Значение

Код

Значение

Код

Значение

RU

Россия

1

МИД

НЦУКС

Нац. центр управл.

BU

Болгария

2

МЧС

ВНИИГОЧС

Ин-т ГО и ЧС

….

….

….

….

….

……………

Таблица 16 - Многомерная структура хранения классификаторов

Идентификатор классификатора

Код

Значение

1

RU

Россия

1

BU

Болгария

2

1

МИД

2

2

МЧС

3

НЦУКС

Национальный центр управления в кризисных ситуациях

3

ВНИИГОЧС

Ин-т ГО и ЧС

Таблица 17 - Сведения о временном ряде

ID_временного ряда

Широта

Долгота

Дата начала ряда

Дата окончания ряда

Модель

Параметр

Автор

Таблица 18 - Временной ряд (матрица)

ID_временного ряда

Дата

Значение

Таблица 19 - Сведения о сетке

ID_сетки

Широта

Долгота

Широта

Долгота

Дата начала

Дата окончания

Автор

Модель

Таблица 20 - Сведения о поле

ID_сетки

ID_поля

Дата

Время

Параметр

Таблица 21 - Поле

ID_сетки

ID_поля

Широта

Долгота

Значение

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

Язык описания данных

Во всех СУБД имеются средства описания данных. В настоящее время в большинстве СУБД эти средства включаются в язык SQL. В некоторых СУБД язык описания данных существует отдельно. Например, в ГУ «ВНИИГМИ-МЦД» на основе концепций и предложений КОДАСИЛ (Ассоциация по языкам систем обработки данных) [3] разработан и применяется уже почти 35 лет Язык описания гидрометеорологических данных (ЯОД).

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

- Элементы - наименьшие неделимые единицы данных;

- Группы - совокупность нескольких элементов или других (внутренних) групп.

Имеются следующие типы групп:

GRE - простая неповторяющаяся группа элементов;

GRP - повторяющаяся группа с индексами и с фиксированным числом экземпляров;

GRV - повторяющаяся группа с одним индексом и с переменным числом экземпляров;

GRK - повторяющаяся группа с ключами и с переменным числом экземпляров;

GRR - неповторяющаяся группа, состоящая из переменного числа элементов из некоторого полного списка элементов, причем имя элемента идентифицируются ссылками на этот список.

Элементы бывают следующих типов:

KEY - ключ записи или группы;

IND - индекс записи или группы;

MRC - вид записи;

MIT - основной элемент;

CHA - характеристика основного элемента;

CNT - счетчик экземпляров группы GRK, GRV;

LNG - длина экземпляра записи, группы GRK, GRR;

REF - ссылка на список элементов группы GRR.

Язык выполняет три основных функции:

  • служит стандартом хранения данных на сменных носителях в Государственном фонде данных по гидрометеорологии. Использование ЯОД как средства конструирования и описания форматов данных позволяет достичь единства в собрании разнообразных данных весьма большого объема, что очень важно как при обслуживании пользователей, так и долговременном (бессрочном) хранении. При появлении новых технических носителей данные в форматах ЯОД переписываются на новые носители с меньшими затратами труда;

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

  • является входным языком системы управления данными АИСОРИ, которая имеет разнообразные средства работы с данными в форматах ЯОД для различных пользователей - разработчиков БД, прикладных программистов и конечных пользователей.