ГИТ лекционный курс / Тема 6 текст
.pdfмодели данных.
В объектно-ориентированной модели данных любая сущность реального мира, (здания, реки или банковские счета) являются объектами. Их атрибуты также является объектами этой структуры.
Объекты характеризуются свойствами, определяющими их состояние, и методами, определяющими их поведение. Объекты взаимодействуют друг с другом путем передачи сообщений, активизирующих их линии поведения.
Линии поведения - это методы, или операции, которые объект может реализовать. Например, улица может "знать", как рассчитать увеличение времени, необходимое для проезда по ней при приближении часов пик, или код налогообложения может рассчитать процент налога на землю, если изменился статус земельного участка или его владелец. Эти линии поведения также могут использоваться для направления сообщений другим объектам, сообщения о состоянии объекта с помощью отчета о характеризующих его текущих значениях, сохранения новых значений или выполнения расчетов.
Объекты связываются друг с другом с помощью сообщений. Сообщения - это действие одного объекта, запускающее определенное поведение другого объекта.
Класс - это способ группирования объектов, имеющих одинаковые наборы атрибутов и линии поведения, в шаблон. Объекты определенного класса называются экземплярами этого класса. Например, земельный участок, на котором вы живете, - всего лишь один из многих участков, существующих в городе, и каждый из них уникален. Но эти участки также имеют некоторые общие полезные характеристики, такие как тип зданий или код зонирования, и эти общие характеристики выражаются как классы.
Классы могут быть вложенными до любого уровня, и наследование автоматически выстроится через все уровни. Например, лес, водные объекты, луг, и др. объекты могут быть объединены в один класс «общественные парки». И наследовать такой атрибут, как «тип землепользования» (зона отдыха) или «вид собственности» (например, государственная, муниципальная).
Отношения описывают то, как объекты ассоциированы друг с другом. Они определяют правила создания, изменения и удаления объектов. Существует несколько видов отношений, которые могут использоваться в объектно-ориентированной модели данных.
Слайд 17. Отношения: кратность ассоциаций.
Ассоциации описывают отношения между классами. Ассоциация имеет
определенную кратность с каждой из сторон. На этой схеме Владелец может иметь одну или несколько скважин, скважина может принадлежать одному или нескольким владельцам.
Множественность (кратность) определяет количество объектов, которые могут быть ассоциированы с другим объектом. Кратности обозначаются следующим
образом: |
|
• 1 |
- один и только один |
•0…1 - ноль или один
•М…N - от М до N (целые положительные числа)
•* или 0…* - от 0 до любого целого положительного числа
•1…* - от единицы до любого целого положительного числа
Слайд 18. Множественность ассоциаций.
На следующей диаграмме можно увидеть, что водопроводный вентиль может иметь ровно одну ссылку на документацию и наоборот. В отличие от этого, у насосной станции может быть много ассоциированных с ней насосов, но у каждого насоса может быть только одна насосная станция. Это может показаться очевидным, однако именно система правил, позволяющая это предположить, определяет силу объектноориентированного моделирования. Рассмотрим следующий пример: у опоры ЛЭП может не быть ни одного или быть только один трансформатор, но у трансформатора может быть только одна опора ЛЭП. В последнем примере мы увидим, что у владельца может быть один или многоземельных участков, и у участка может быть один или много владельцев.
Слайд 19. Отношения между классами.
Существуют различные типы отношений:
Наследование определяет специализированные классы, которые используют свойства и методы надкласса, а также имеют собственные дополнительные свойства и методы. Схеме показывает, что классы «первичная линия» и «вторичная линия» являются потомками класса «линия».
Реализация определяет, что объект одного класса имеет метод, с помощью которого он может создать объект другого класса. Объект «опора» имеет метод для создания объекта «трансформатор».
Объединение (агрегирование) - это ассиметричная ассоциация, в которой объект
из одного класса считается "целым", а объекты из другого класса считаются "частями". Классы объектов могут быть собраны в объединенный класс. Например, объединенный класс "Владение" (объекты недвижимости) может быть создан путем объединения классов " Земельный участок" и "Жилье". В данном случае классы " Земельный участок" и "Жилье" ассоциированы с классом «Владение», но они могут также существовать и после удаления объекта «Владение».
Композиция - более сильная форма объединения, при которой объекты из "целого" класса управляют жизнью объектов из "подчиненного" класса. При удалении объекта, составляющего "целое", "подчиненные" объекты, составляющие это целое, также удаляются. В следующем примере вы имеете дело с классом "Сеть", состоящим из водных объектов, с подчиненными классами "Поток" и "Канал". При удалении "Сети" составляющие ее объекты "Поток" и "Канал" также удаляются.
Преимущества и недостатки объектно-ориентированной модели данных.
Объектно-ориентированная модель данных имеет ряд преимуществ:
1. Хорошо подходит для моделирования сложных отношений между данными. В этом ее главное преимущество, недоступное другим структурам данных.
2. Требует меньше кодирования в ГИС-программах, что означает меньше ошибок и более низкую стоимость поддержки.
3.Хорошо интегрируется с методами имитационного моделирования.
4.Обеспечивает высокий уровень целостности данных: инкапсуляция сохраняет внутреннее устройство объектов, создание новых данных контролируется правилам поведения и допусками.
Уобъектно-ориентированной модели данных есть также и некоторые недостатки:
1.Хотя объектно-ориентированные модели данных обеспечивают комплексное представление реального Мира, комплексные модели сложнее разрабатывать и строить. Критичен выбор объектов. Эта модель зависит от тщательности описания явлений реального мира (что особенно трудно в мире природы).
2.Затруднен импорт данных и обмен данными с другими типами баз данных.
3.Большие и комплексные модели выполняются медленнее.
4.Анализ объектно-ориентированных баз данных требуют использования объектноориентированных языков программирования. Существует относительно немного людей, обученных объектно-ориентированному программированию.
5. Этот подход не годится для описания непрерывно распределенных в пространстве признаков, таких как рельеф местности или данные о загрязнении почвы тяжелыми металлами.
Объектно-реляционная модель данных
Новейшей разработкой в области логических моделей данных является объектнореляционная модель. Реляционная база данных расширяется за счет программного обеспечения, включающего объектно-ориентированные линии поведения, но данные при этом не инкапсулированы. Информация в базе данных представлена в таблицах, но в некоторых из обязательных колонок могут быть данные более сложной структуры – данные абстрактного типа. Упрощенно, объекты объектно-реляционной модели внедряются в структуру реляционных баз данных. Такая гибкость позволяет объектнореляционной модели более точно моделировать реальный мир, чем это удается реляционной модели.
Степень, до которой компонент объектно-ориентированной модели данных может быть реализован в объектно-реляционной модели, быстро меняется. Объектно-реляционное программное обеспечение продолжает совершенствоваться и представляет все больше объектной функциональности.
Преимущества объектно-реляционной модели данных
Объектно-реляционная модель данных имеет ряд преимуществ:
1.Быстрое выполнение.
2.Единое хранилище географических данных; позволяет использовать наследуемые и негисовские базы данных.
3.Более тщательный ввод и редактирование данных.
4.Высокая целостность данных (новые данные должны следовать
правилам поведения).
5.Пользователи могут работать с более интуитивными объектными данными.
6.Одновременное редактирование данных (поддержка версий).
7. Меньше необходимости в программировании приложений для моделирования сложных отношений.
Недостатки объектно-реляционной модели данных
Разумеется, у объектно-реляционной модели данных есть и ряд недостатков: ,
1.Компромисс между объектно-ориентированной и реляционной моделями данных.
2.Нет инкапсуляции данных.
3.Ограниченная поддержка отношений между объектами.
4.Больше трудностей при моделировании сложных отношений,
чем при использовании объектно-ориентированной модели данных.
С 1980-х гг. большинство баз данных ГИС строились на основе реляционной модели данных. Но, учитывая трудности, связанные с поддержкой этой моделью сложных линий поведения объектов реального Мира, некоторые поставщики программного обеспечения ГИС использовали объектно-ориентированную и объектно-реляционную модели для поддержки этих более сложных моделей данных. Технология AгcGIS, разработанная ESRI, - это широко известный пример реляционной модели, расширенной до возможности включения (по желанию) объектно-ориентированного поведения в модель данных, которая называется моделью базы геоданных. У базы геоданных есть несколько элементов, которые используют преимущества концепции объектнореляционной модели, включая области атрибутов, правила связности сети и правила отношений.
