- •2. Основные модели данных
- •2.1. Понятие модели данных
- •2.1.1. Типы структур данных
- •2.1.2. Операции над данными
- •2.1.3. Ограничения целостности
- •2.2. Сетевая модель данных (смд)
- •2.3. Иерархическая модель данных (имд)
- •2.4. Реляционная модель данных (рмд)
- •2.4.2. Свойства отношений
- •2.4.3. Достоинства и недостатки рмд
- •2.4.4. Операции реляционной алгебры
- •2.4.5. Преобразования операций реляционной алгебры
- •2.5. Другие модели данных
- •2.5.1. Объектно-реляционные модели данных
- •2.5.2. Объектно-ориентированные модели данных
2.5. Другие модели данных
Всё возрастающая сложность приложений баз данных и ограниченность РМД привели к развитию модели Кодда, которое сначала получило название расширенной реляционной модели, а позже получило свое развитие в объектно-реляционных моделях данных (ОРМД).
2.5.1. Объектно-реляционные модели данных
Расширению возможностей реляционных баз данных (РБД) способствует применение в концепции баз данных понятия объекта, аналогичного понятию объекта в объектно-ориентированном программировании. Это расширение достигается за счёт использования таких объектно-ориентированных компонентов, как пользовательские типы данных, инкапсуляция, полиморфизм, наследование, переопределение методов и т.п.
К сожалению, до настоящего времени (2003 г.) разработчики не пришли к единому мнению о том, как следует определять ОРМД. Модели, поддерживаемые различными производителями СУБД, существенно отличаются по своим функциональным характеристикам, поэтому о включении объектов в РМД можно говорить только как об общем направлении развития баз данных. О перспективах этого направления свидетельствует тот факт, что ведущие фирмы–производители СУБД, в числе которых Oracle, Informix и INGRES, расширили возможности своих продуктов до объектно-реляционной СУБД (ОРСУБД).
В большинстве реализаций ОРМД объектами признаются агрегат и таблица (отношение), которая может входить в состав другой таблицы. Методы обработки данных представлены в виде хранимых процедур и триггеров, которые являются процедурными объектами базы данных, и связаны с таблицами. На внутреннем (физическом) уровне все данные ОРБД хранятся в виде отношений, и ОРСУБД поддерживают язык SQL.
2.5.2. Объектно-ориентированные модели данных
Ещё один подход к построению БД – использование объектно-ориентированных моделей данных (ООМД). Моделирование данных в ООМД базируется на понятии объекта. Для ООМД, как и в случае с ОРМД, не существует общепризнанной модели данных.
При создании объектно-ориентированных СУБД (ООСУБД) используются разные методы, а именно: встраивание в объектно-ориентированный язык средств для работы с базами данных; создание объектно-ориентированных библиотек функций для работы с СУБД; расширение существующего языка работы с базами данных объектно-ориентированными функциями; создание нового языка и новой объектно-ориентированной модели данных.
К достоинствам ООМД можно отнести широкие возможности моделирования предметной области, выразительный язык запросов и повышенную производительность. Эти модели обычно применяются для сложных предметных областей, для моделирования которых не хватает функциональности реляционной модели (например, систем автоматизации проектирования, издательских систем и т.п.).
Среди недостатков ООМД следует отметить отсутствие универсальной модели, недостаток опыта создания и эксплуатации ООБД, сложность использования и недостаточность средств защиты данных.
В 1997 г. рабочая группа ODMG (Object Database Management Group), образованная фирмами–производителями ООСУБД, выпустила стандарт ODMG 2.0 для ООСУБД, в котором описана объектная модель, язык определения запросов, язык объектных запросов и связующие языки С++, Smalltalk и Java.
