Главная
Трудоустройство
Ваши объявления
Наши новости
Информация







"Объектны" ли объектные расширения языка SQL?

1. "Сближение" SQL и ODMG

Появление в стандарте SQL:1999 новых возможностей – определяемых пользователями типов данных (User Defined Type, UDT) и типизированных таблиц, которые получили название объектных расширений языка SQL, многими было воспринято как сближение "реляционной" и объектной< моделей данных. Этому способствуют особенности терминологии стандартов SQL:1999 и SQL:2003 , в которых значения UDT временами называют "экземплярами" (instance), различают "инстанциируемые" и "неинстанциируемые" UDT, а строки типизированных таблиц и вовсе иногда называют "объектами".








На "сближение" моделей SQL и ODMG, казалось бы, указывает и возрастающая синтаксическая близость языков запросов SQL и OQL . Пусть, например, имеется простая концептуальная схема базы данных, представленная в виде диаграммы классов UML (рис. 1).


Рис. 1. Диаграмма классов "отделы-служащие"

На этой диаграмме классы Emp ("служащие") и Dept ("отделы") связаны двумя ассоциациями, одна из которых (верхняя) устанавливает двунаправленное соответствие "n-к-одному" между служащими и отделами, в которых они работают, а вторая – взаимнооднозначное соответствие между отделами и их руководителями, которые должны являться служащими.

Понятно, что в соответствии с диаграммой с рис. 1 можно определить как схему объектной базы данных в модели ODMG, так и схему "объектно-реляционной" базы данных в модели SQL. В первом случае могут быть определены атомарные объектные типы Emp и Dept с одноименными экстентами; во втором – структурные UDT Emp_T и Dept_T, а также типизированные таблицы Emp и Dept. Предположим, что требуется найти имена всех руководителей отделов, в которых работает хотя бы один служащий, получающий заработную плату свыше 20000 руб. Тогда мы могли бы получить следующие формулировки запроса на языках OQL и SQL соответственно:

OQL: SELECT DISTINCT Emp.works_for.managed_by.empName
 FROM Emp
 WHERE Emp.empSalary > 20000.00
SQL: SELECT DISTINCT Emp→works_for→managed_by→empName
 FROM Emp
 WHERE Emp.empSalary > 20000.00

В обоих случаях результатом запроса будет множество символьных строк, представляющих имена руководителей отделов. "Точечная" нотация в OQL-запросе и "стрелочная" нотация в SQL-запросе изображают переходы по ассоциациями исходной диаграммы классов. Условие в OQL-запросе ограничивает множество объектов-служащих в экстенте Emp. Условие в SQL-запросе ограничивает множество строк-служащих в типизированной таблице Emp.

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

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

2. Объектная модель ODMG 3.0

Консорциум ODMG (http://www.odmg.org/) был образован в 1991 г. (тогда эта аббревиатура раскрывалась как Object Database Management Group, но впоследствии приобрела более широкую трактовку – Object Data Management Group). Консорциум ODMG был тесно связан с гораздо более многочисленным консорциумом OMG (Object Management Group, http://www.omg.org/), который был образован двумя годами раньше. Основной исходной целью ODMG была выработка промышленного стандарта объектно-ориентированных баз данных (общей модели). За основу была принята базовая объектная модель OMG COM (Core Object Model). В течение десятилетнего существования< ODMG опубликовала три базовых версии стандарта, последняя из которых называется ODMG 3.0 .

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

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

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



    www.sdteam.com
    Базы данных 08-09-2006
    Oracle разработала архитектуру Oracle Application Integration Architecture for Communications 24-11-2007 Базы данных
    Подразделение Oracle Communications разработало архитектуру Oracle Application Integration Architecture for Communications и выпустило три первых пакета Process Integration Pack, предлагающих коммуникационным компаниям готовые средства интеграции процессов для приложений Oracle Siebel CRM, Oracle Communications Billing and Revenue Management и Oracle Financials. Также разработано решение Oracle Communications Unified Inventory Management. Oracle ...


    Oracle ставит перед BEA ультиматум 24-10-2007 Базы данных
    Корпорация Oracle сообщила, что ее предложение о покупке компании BEA Systems действительно до предстоящего воскресенья, в противном случае Oracle просто купит несколько более мелких компаний, которые уже дали свое соглашение на поглощение.Напомним, что две недели назад BEA Systems распространила официальный ответ на предложение Oracle о покупке. В BEA сочли предложенные 6,66 млрд долларов недостаточными, а премию в 25% - слишком скромной. Ре...


    Ларри Эллисон: Oracle будет активно поглощать компании 27-06-2007 Базы данных
    По словам основателя и главного исполнительного директора Oracle Ларри Эллисона, для того, чтобы выполнить стратегический план по продажам программных продуктов, компании предстоит проводить по одному поглощению в месяц на протяжении предстоящих двух с половиной лет.Выступая перед 6 000 менеджерами по продажам Oracle, Эллисон заявил, что компания намерена стать крупнейшим корпоративным покупателем в мире. Однако в результате столь агрессивной пол...

    Copyright © 2005
    "service-centers.com.ua"


    Rambler's Top100   Рейтинг@Mail.ru

    Работа
    Карта сайта
    О сайте
    Реклама
    все объявления
    поиск резюме
    поиск вакансий
    добавить резюме
    добавить вакансию

    Все объявления
    Компьютеры, оргтехника
    Автомобили
    Продукты питания
    Аудио, Фото, Видео
    Связь
    Отдых, путешествия
    Мебель
    Разное
    Добавить объявление
     Автомобили
     Ремонтно-строительные услуги
     Пресс-релизы
     Железо
     Soft
     Мобильная планета
     Для милых дам
     Родительский клуб
     Недвижимость
     Домашний очаг, усадьба
     Строительство
     Обустройство и безопасность дома
     Сантехника