Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_BD.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
1.37 Mб
Скачать

34. Субд третьего поколения.

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

  • автоматизированное проектирование (Computer Aided Design - CAD).

  • автоматизированное производство (Computer Aided Manufacturing - CAM);

  • автоматизированная разработка программного обеспечения (Computer Aided Software Engineering - CASE).;

  • офисные информационные системы (Office Information System- OIS) и мультимедиа системы;

  • цифровое издательское дело;

  • геоинформационные системы (Geographic Information System –GIS).

Основными недостатками реляционных СУБД является:

  • Oграниченные возможности моделирования объектов реального мира

  • Слабое представление сущностей реального мира.

  • Семантическая перегрузка.

  • Слабая поддержка ограничений целостности и корпоративных ограничений.

  • Однородная структура данных.

  • Ограниченный набор операций.

  • Трудности организаций рекурсивных запросов.

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

  • объектно-ориентированная (ООСУБД);

  • объектно-реляционная (ОРСУБД).

Этот этап развития представляет собой СУБД третьего поколения.

Возможности поиска /

многопользовательская поддержка

3

Реляционные

СУБД

4

Объектно-реляционные СУБД

(Postgres, Oracle, DB2, Informix)

1

Файловые

cистемы

2

Объектно-ориентированные СУБД

(Versant, O2, POET, Jasmine,

ObjectStore)

Сложность данных /

Расширяемость

В квадранте 1 представлены приложения для обработки простых данных, не предусматривающих каких-либо требований в отношении выполнения запросов к данным. К ним относятся стандартные текстовые редакторы типа Word.

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

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

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

Основные понятия объектно-ориентрованного подхода.

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

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

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

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

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

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

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

ООСУБД

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

Преимущества ООСУБД

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

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

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

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

5. Поддержка долговременных транзакций (в течении часов, дней), характерных при выполнении сложных проектов (системы типа CAD, CAM).

6. Повышенная производительность для сложных специализированных приложений баз данных.

Недостатки ООСУБД

1. Отсутствие универсальной модели данных.

2. Недостаточность опыта проектирования.

3. Отсутствие стандартов (в данный момент находятся в стадии разработки).

4. Сложность.

5. Недостаточность средств обеспечения безопасности.

6. Влияние блокировки на уровне объекта на производительность.

7. Отсутствие поддержки представлений.

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