Oracle переименовала себя в ORDBMS с выпуском 8.0, который был версией, когда появились TYPE. Однако это была не очень полная реализация объекта. В первом выпуске не было никакого наследования, и потребовалось до 9iR2 - три основных выпуска позже - чтобы получить определяемые пользователем конструкторы. Даже сейчас, с выходом 11g, инкапсуляция не полностью поддерживается: у TYPE не может быть закрытых переменных или методов.
Оказалось, что очень немногие существующие клиенты Oracle очень заботились об объектах, и очень немногие ОО-программисты интересовались базами данных. Плюс была новая Next Big Thing: Интернет. Поэтому, когда была выпущена версия 8.1, Oracle снова превратилась в простую СУБД, хотя и с поддержкой Интернета. Следовательно, тег 8 i (т.е. он имеет хранимые процедуры Java).
Для тех из нас, кто воспитывался на SQL, реализация объекта немного неуклюжа и мало что дает в отношении хранилища. Тем не менее, TYPE были основным дополнением к арсеналу PL / SQL, особенно коллекций и массовой обработки. Наследование и полиморфизм могут быть полезны в некоторых нишевых сценариях. Я выступал по этой теме на ежегодной конференции UKOUG несколько лет назад. Узнайте больше .
Редактировать
Oracle по-прежнему включает все свои функции ORDBMS в каждую редакцию базы данных. Они довольно всеобъемлющие (за исключением отсутствия частных переменных и методов). Я не знаю, как это сравнивается с PostgreSQL. Функции Oracle OR описаны в онлайн-документации Oracle, которую вы можете прочитать здесь .