Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД / УМК СУБД.docx
Скачиваний:
572
Добавлен:
09.02.2016
Размер:
2.51 Mб
Скачать

Тема 5. Модели данных

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

Иерархическая модель позволяет строить БД с древовидной структурой. В них каждыйузел содержит свой тип данных (сущность). На верхнем уровне дерева имеется один узел – корень, на следующем уровне располагаются узлы, связанные с этим корнем, затем узлы, связанные с узлами предыдущего уровня, и т. д. Каждый узел может иметь только одного предка (рис. 11).

Рис. 11. Иерархическая древовидная структура модели БД

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

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

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

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

Рис. 12. Сетевая структура модели БД

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

Реляционная модель(РМД)была разработана в начале 1970-х годов Эдгаром Ф. Коддом. В ней информация представляется в виде двумерных таблиц, а операции сводятся к манипуляциям с таблицами.

В 1980-х годах она получила широкое распространение, а реляционные СУБД стали промышленным стандартом. Причины доминирования РМД обусловлены тем, что имеются:

. развитая теория (реляционная алгебра);

· аппарат сведения других моделей данных к РМД;

·специальные средства ускоренного доступа к информации;

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

В БД реляционного типа данные хранятся как наборы таблиц (называемые отношениями), которые логически связаны друг с другом с помощью общих атрибутов, (рис.13).

Рисунок 13. Реляционная модель данных.

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

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

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

Реализация объектно-ориентированного подхода характеризуется следующими ключевыми свойствами объектов:

  • Полиморфизм

  • Инкапсуляция

  • Наследование

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

Инкапсуляция означает, что данные и процессыобъединяются искрываются за интерфейсом. Все данные, доступ к которым нужен,инкапсулируютсяв один пакет функцией — так называемыйобъект (object) — таким образом, чтобы другой объект не имел доступа к этим данным.

Используя аналогию, предложенную Стивом Куком (Steve Cook) [Грехем], можно рассматривать эти объекты как яйца. Желток — это структура данных, белки состоят из функций, которые имеют доступ к этим данным, а скорлупа представляет описание общедоступных операций. Оболочка интерфейса скрывает реализацию и самих функций, и структур данных.

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

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

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

Компоненты объектно-ориентированной модели данных.

Рассмотрим компоненты объектно-ориентированной модели данных.

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

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

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

Объекты связываются друг с другом с помощью сообщений.

Сообщения - это действие одного объекта, запускающее определенное поведение другого объекта.

Класс– это способ группирования объектов, имеющих одинаковые наборы атрибутов и линии поведения, в шаблон. Объекты определенного класса называются экземплярами этого класса.

Отношения – описывают то, как объекты ассоциированы друг с другом.(См. рис. 14.)

Рисунок 14. Компоненты объектно-ориентированной модели.

Отношения: кратность ассоциаций. Ассоциации описывают отношения между классами. Ассоциация имеет определенную кратность с каждой из сторон.

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

  • 1 - один и только один

  • 0…1 - ноль или один

  • М…N - от М до N (целые положительные числа)

  • или 0…* - от 0 до любого целого положительного числа

  • 1…* - от единицы до любого целого положительного числа, например, рис. 15.

Рисунок 15. Кратность ассоциаций.

Поясним рисунок 15: Студент может изучать один или несколько предметов, предмет может изучать один или несколько студентов.

Множественность ассоциаций.

Рисунок 15. Множественность ассоциаций.

Отношения между классами.

Существуют различные типы отношений:

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

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

Объединение(агрегирование) - это ассиметричная ассоциация, в которой объект из одного класса считается "целым", а объекты из другого класса считаются "частями".

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

Преимущества и недостатки объектно-ориентированной модели данных.

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

3. Хорошо подходит для моделирования сложных отношений между данными. В этом ее главное преимущество, недоступное другим структурам данных.

4. Требует меньше кодирования в ГИС-программах, что означает меньше ошибок и более низкую стоимость поддержки.

5. Хорошо интегрируется с методами имитационного моделирования.

6. Обеспечивает высокий уровень целостности данных: инкапсуляция сохраняет внутреннее устройство объектов, создание новых данных контролируется правилам поведения и допусками.

У объектно-ориентированной модели данных есть также и некоторые недостатки:

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

2. Затруднен импорт данных и обмен данными с другими типами баз данных.

3. Большие и комплексные модели выполняются медленнее.

4. Анализ объектно-ориентированных баз данных требуют использования объектно-ориентированных языков программирования.

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

Объектно-реляционная модель данных

Компромисс между объектной моделью данных и реляционной моделью данных был найден в развитии «смешанной» модели: объектно-реляционной.

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

Объектно-реляционные модели предоставляют следующие возможности работы с объектами:

Определение новых базовых классов;

Определение новых составных классов на базе существующих;

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

Наследование на уровне классов;

Наследование на уровне таблиц;

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

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

Преимущества объектно-реляционной модели данных

Объектно-реляционная модель данных имеет ряд преимуществ:

1. Быстрое выполнение.

2. Единое хранилище географических данных; позволяет использовать наследуемые и негисовские базы данных.

3. Более тщательный ввод и редактирование данных.

4. Высокая целостность данных (новые данные должны следовать правилам поведения).

5. Пользователи могут работать с более интуитивными объектными данными.

6. Одновременное редактирование данных (поддержка версий).

7. Меньше необходимости в программировании приложений для моделирования сложных отношений.

Недостатки объектно-реляционной модели данных

Разумеется, у объектно-реляционной модели данных есть и ряд недостатков:

1. Компромисс между объектно-ориентированной и реляционной моделями данных.

2. Нет инкапсуляции данных.

3. Ограниченная поддержка отношений между объектами.

4. Больше трудностей при моделировании сложных отношений, чем при использовании объектно-ориентированной модели данных.

Соседние файлы в папке СУБД