Объектно-ориентированные базы данных и объектные расширения языка SQL
С.Д. Кузнецов,
Институт системного программирования РАН,
kuzloc@ispras.ru
Используя расширенные возможности языка SQL, специфицированные в стандартах SQL:1999 [1] и SQL:2003 [2], можно создать базу данных, синтаксическая форма SQL-запросов к которой будет почти совпадать с формулировкой OQL-запроса к соответствующей объектной базе данных, построенной в соответствии с объектной моделью ODMG 3.0 [3]. Это обстоятельство может навести на мысль о том, что модели данных SQL и ODMG сближаются, что модель SQL становится более “объектной” (если критерием “объектности” модели данных считать уровень ее соответствия модели ODMG). Цель доклада состоит в том, чтобы показать, что имеется лишь синтаксическая близость языков запросов SQL и OQL. На уровне моделей остается принципиальное различие. В частности, мультимножество объектов в модели ODMG означает совсем другое понятие, нежели типизированная таблица в модели SQL, типизированная таблица не является аналогом экстента класса, а строку типизированной таблицы (“экземпляр” соответствующего структурного UDT) никак нельзя воспринимать как “объект”. Очень важно, что эти различия являются не реализационными, а именно модельными. Единственное, что объединяет модели данных SQL и ODMG, -- развитая система типов с возможностью определения новых типов с произвольно сложной структурой значений. “Объектные” же расширения SQL, по сути, представляют собой дальнейшую синтаксическую маскировку операций естественного соединения. Доклад не ориентирован на критику той или иной модели. Цель состоит лишь в том, чтобы предельно прояснить существующую ситуацию.
Слайды к докладу в формате PDF: SQL_vs_ODMG.pdf
Литература:
- Jim Melton. “Advanced SQL:1999. Understanding Object-Relational and Other Advanced Features”. Morgan Kaufmann Publishers, 2003
- Сергей Кузнецов. Наиболее интересные новшества в стандарте SQL:2003. http://www.citforum.ru/database/sql/sql2003/
- The Object Data Standard: ODMG 3.0. Edited by R.G.G. Cattel, Douglas K. Barry. Morgan Kauffmann Publishers, 2000
|