Классика баз данных - статьи

       

Коротко о предпосылках ОРСУБД


До появления 10 лет назад ОРСУБД ведущих компаний термин «объектно-реляционная СУБД» связывался с системами Postges-Illustra и UniSQL, разработанными под руководством Майкла Стоунбрейкера и Вона Кима соответственно. Про первое направление уже достаточно говорилось выше, поскольку оно лежит в основе IUS. Повторим лишь, что до основания компании Illustra сам Стоунбрейкер не использовал этого термина. Например, в [9] говорилось, что в модели данных Postges сочетаются объектные и расширенные реляционные черты, но авторы не берутся присвоить ей какое-либо отдельное название.

С другой стороны, Вон Ким сразу стал называть СУБД UniSQL «единой реляционной и объектно-ориентированной системой баз данных» [10]. В соответствии с подходом UniSQL, в ОРСУБД должны поддерживаться следующие возможности [11]:

  • n-мерное объектно-ориентированное моделирование;
  • двухмерное реляционное моделирование;
  • наследование;
  • инкапсуляция;
  • постоянство существования объектов (object persistence);
  • композиция классов;
  • полиморфизм;
  • навигационный доступ к объектам;
  • реляционный доступ (соединения);
  • непроцедурный доступ через запросы;
  • интерфейсы для традиционных языков третьего поколения;
  • интерфейсы для объектных языков третьего поколения;
  • интерфейсы для языков четвертого поколения;
  • независимое от языков хранение данных;
  • независимость служб баз данных от файловых систем;
  • поддержка оперативных служб СУБД.

Как отмечалось в [11], единая модель данных UniSQL опирается на следующее наблюдение. Если взять объектно-ориентированную модель данных и удалить из нее понятия наследования и инкапсуляции, то останется сетевая модель данных*. Далее, если удалить из нее понятия указателей и коллекций, то останется реляционная модель данных. В этом наблюдении имеется доля разумного смысла с учетом недостаточной точности определения объектно-ориентированной модели данных. В следующем разделе будет обсуждаться подход к сочетанию реляционных и объектных свойств в модели данных, представленной в современном стандарте языка SQL, и я приведу собственную точку зрения по этому поводу.



Содержание  Назад  Вперед