Типы баз данных
<<  Системы управления базами данных Реляционные системы управления базами данных  >>
Объектно-реляционные базы данных
Объектно-реляционные базы данных
План выступления
План выступления
10 лет ОРСУБД
10 лет ОРСУБД
Informix Universal Server
Informix Universal Server
Составные типы данных
Составные типы данных
Тип данных со структурой записи
Тип данных со структурой записи
Механизм наследования может применяться к типам записей и таблицам
Механизм наследования может применяться к типам записей и таблицам
Tипизированные таблицы
Tипизированные таблицы
Новые базовые типы данных
Новые базовые типы данных
Основные доработки
Основные доработки
Методы объектных типов
Методы объектных типов
Объект некоторого объектного типа
Объект некоторого объектного типа
Объектная таблица – таблица, строки которой имеют объектный тип
Объектная таблица – таблица, строки которой имеют объектный тип
Строки объектных таблиц называются строчными объектами
Строки объектных таблиц называются строчными объектами
Типы коллекций: табличные типы (table types) и типы массивов
Типы коллекций: табличные типы (table types) и типы массивов
Базовые идеи объектно-реляционных расширений
Базовые идеи объектно-реляционных расширений
Механизм структурных типов
Механизм структурных типов
Дополнительный столбец
Дополнительный столбец
Объектные представления – это виртуальные таблицы
Объектные представления – это виртуальные таблицы
Коротко о предпосылках ОРСУБД
Коротко о предпосылках ОРСУБД
Майкл Стоунбрейкер
Майкл Стоунбрейкер
Объектно-реляционные базы данных и язык SQL
Объектно-реляционные базы данных и язык SQL
Два основных отличительных
Два основных отличительных
SQL как модель данных
SQL как модель данных
Гармонична ли «объектная» часть модели данных SQL
Гармонична ли «объектная» часть модели данных SQL
Типизированные таблицы и представления
Типизированные таблицы и представления
Кто и как использует ОРСУБД
Кто и как использует ОРСУБД
Проблемы использования ОРСУБД
Проблемы использования ОРСУБД
Когда и как использовать типы коллекций
Когда и как использовать типы коллекций
Каковы перспективы
Каковы перспективы
Презентация «Объектно-реляционные базы данных». Размер 454 КБ. Автор: Кузнецов.

Загрузка...

Объектно-реляционные базы данных

содержание презентации «Объектно-реляционные базы данных.ppt»
СлайдТекст
1 Объектно-реляционные базы данных

Объектно-реляционные базы данных

Объектно-реляционные базы данных: прошедший этап или недооцененные возможности? Сергей Кузнецов Институт системного программирования РАН kuzloc@ispras.ru.

2 План выступления

План выступления

План выступления. 10 лет ОРСУБД Informix Universal Server, Oracle8, DB2 Universal Database Коротко о предпосылках ОРСУБД Объектно-реляционные базы данных и язык SQL SQL как модель данных Гармонична ли «объектная» часть модели? Кто и как использует ОРСУБД? Проблемы использования ОРСУБД Каковы перспективы? Московская секция ACM SIGMOD 28 декабря 2006 г. 2.

3 10 лет ОРСУБД

10 лет ОРСУБД

10 лет ОРСУБД. Почему десять? Что произошло в декабре 1996 г.? Informix, Illustra и Майкл Стоубрейкер Значит ли это, что Стоунбрейкер является отцом объектно-реляционного подхода? А что такое «объектно-реляционные» базы данных? Личная точка зрения: Манифест систем баз данных следующего поколения, SQL, реализации IBM и Oracle. Московская секция ACM SIGMOD 28 декабря 2006 г. 3.

4 Informix Universal Server

Informix Universal Server

Informix Universal Server. Декабрь 1996 г. – январь 1997 г. Интеллектуальные большие объекты (smart large objects) Индивидуальные типы данных (Distinct Types) Типы данных со скрытой структурой (Opaque Types). Московская секция ACM SIGMOD 28 декабря 2006 г. 4.

5 Составные типы данных

Составные типы данных

Informix Universal Server. Составные типы данных Могут иметь структуру записи, множества, мультимножества или списка Значениями столбцов таблиц могут быть записи, множества или списки, состоящие в свою очередь из атомарных или структурных значений. Московская секция ACM SIGMOD 28 декабря 2006 г. 5.

6 Тип данных со структурой записи

Тип данных со структурой записи

Informix Universal Server. Тип данных со структурой записи CREATE ROW TYPE <имя типа> ( <имя поля> <тип поля>, . . . ) Три вида типов коллекций: множеств, мультимножеств и списков CREATE TYPE <имя типа> SET <тип элементов> NOT NULL CREATE TYPE <имя типа> MULTISET <тип элементов> NOT NULL CREATE TYPE <имя типа> LIST <тип элементов> NOT NULL. Московская секция ACM SIGMOD 28 декабря 2006 г. 6.

7 Механизм наследования может применяться к типам записей и таблицам

Механизм наследования может применяться к типам записей и таблицам

Informix Universal Server. Механизм наследования может применяться к типам записей и таблицам Одиночное наследование Все функции, определенные для супертипа, автоматически распространяются на все его подтипы Для подтипов могут определяться свои функции Значения подтипов могут использоваться почти везде, где разрешено употребление значений их супертипов Единственное ограничение возникает при отведении памяти и хранении значений Здесь соответствие типов должно быть точным. Московская секция ACM SIGMOD 28 декабря 2006 г. 7.

8 Tипизированные таблицы

Tипизированные таблицы

Informix Universal Server. Tипизированные таблицы (типами записи) CREATE TABLE … OF TYPE … При определении подтаблиц некоторые свойства супертаблиц могут переопределяться (например, опции хранения) Операции SELECT, UPDATE и DELETE, примененные к супертаблице, распространяются также и на все ее подтаблицы Конструкция ONLY. Московская секция ACM SIGMOD 28 декабря 2006 г. 8.

9 Новые базовые типы данных

Новые базовые типы данных

Informix Universal Server. Новые базовые типы данных можно определять одновременно с введением специальных алгоритмов хранения, доступа и индексирования, которые отличаются от стандартных алгоритмов, реализованных в сервере Для введения нового базового типа данных с нестандартными методами доступа нужно определить набор серверных функций, реализующий для нового типа алгоритмы доступа, просмотра, выделения памяти и т.д. Эти функции должны быть написаны на языке C и скомпилированы в объектный формат Далее надо описать новый базовый тип данных, и указать функции, реализующие для этого типа алгоритмы извлечения и записи на диск значений данного типа Модули DataBlade. Московская секция ACM SIGMOD 28 декабря 2006 г. 9.

10 Основные доработки

Основные доработки

Oracle8. Июнь 1997 г. Основные доработки: Oracle 9i (2002 г.); наследование и другие возможности, соответствующие SQL:1999 Объектные типы – аналог типа записи в IUS CREATE TYPE <имя типа> AS OBJECT ( <имя поля> <тип поля>, . . . ) Для доступа к отдельным полям значений объектного типа используется точечная нотация. Московская секция ACM SIGMOD 28 декабря 2006 г. 10.

11 Методы объектных типов

Методы объектных типов

Oracle8. Методы объектных типов Функции или процедуры, написанные на PL/SQL, Java, C или другом языке и сохраненные в БД или вне ее Методы-члены Статические методы Методы сравнения Сравнение объектов может производиться с помощью методов вида MAP или вида ORDER. Московская секция ACM SIGMOD 28 декабря 2006 г. 11.

12 Объект некоторого объектного типа

Объект некоторого объектного типа

Oracle8. Метод типа MAP принимает в качестве параметра объект некоторого объектного типа, а возвращает значение одного из встроенных типов, которое может использоваться в операциях сравнения и сортировки Метод типа ORDER сравнивает два объекта и возвращает –1, если первый объект меньше второго, 0, если объекты равны, и 1, если первый объект больше второго Если при определении объектного типа метод сравнения не задан, то объекты этого типа можно сравнивать только на равенство/неравенство, причем объекты не должны содержать элементов типа LOB. Московская секция ACM SIGMOD 28 декабря 2006 г. 12.

13 Объектная таблица – таблица, строки которой имеют объектный тип

Объектная таблица – таблица, строки которой имеют объектный тип

Oracle8. Объектная таблица – таблица, строки которой имеют объектный тип В Oracle8 не поддерживалось наследование, но в Oracle8i появилась возможность наследования таблиц, но без поддержки параллельной иерархии наследования объектных типов Объектные представления. Московская секция ACM SIGMOD 28 декабря 2006 г. 13.

14 Строки объектных таблиц называются строчными объектами

Строки объектных таблиц называются строчными объектами

Oracle8. Строки объектных таблиц называются строчными объектами (row objects) Для всех строчных объектов обеспечивается возможность уникальной идентификации Столбец любой таблицы может быть определен на встроенном типе REF Значения этого столбца являются своего рода указателями на строчные объекты той же самой или другой объектной таблицы Система не берет на себя ответственность за согласование ссылок; за это отвечают пользователи Поддерживается встроенная функция REF, позволяющая получить значение объектного идентификатора указанной строки Наличие в объектной таблице столбцов ссылочного типа позволяет в ряде случаев упрощать формулировку запросов (с духе путевых выражений ODMG). Московская секция ACM SIGMOD 28 декабря 2006 г. 14.

15 Типы коллекций: табличные типы (table types) и типы массивов

Типы коллекций: табличные типы (table types) и типы массивов

Oracle8. Типы коллекций: табличные типы (table types) и типы массивов CREATE TYPE <имя типа> AS TABLE OF <тип элемента> Точечная нотация для доступа к вложенным таблицам CREATE TYPE <имя типа> AS VARRAY ( <литеральное натуральное число> ) OF <тип элемента> На уровне прямого SQL можно работать только с массивами целиком Возможность привести в запросе (или другом операторе SQL) тип массива к табличному типу. Московская секция ACM SIGMOD 28 декабря 2006 г. 15.

16 Базовые идеи объектно-реляционных расширений

Базовые идеи объектно-реляционных расширений

DB2 Universal Database. Конец 1997 г. Базовые идеи объектно-реляционных расширений были заложены в продукте DB2 for Common Servers, выпущенном в 1995 г. (статья Дона Чемберлина) BLOBы, триггеры, UDF, distinct types, экстендеры Постепенное наращивание возможностей в следующих выпусках. Московская секция ACM SIGMOD 28 декабря 2006 г. 16.

17 Механизм структурных типов

Механизм структурных типов

DB2 Universal Database. Механизм структурных типов с самого начала включал не только возможность определения типов со структурой, но и средства определения иерархий типов и иерархий таблиц Допускалось использование “ссылок” для определения связей между объектами и навигации от одного объекта к другому Методы очень похожи на UDF в том отношении, что они могут быть написаны на SQL или на внешнем языке, например, на Java или C Но методы всегда ассоциируются с некоторым структурным типом, и их вызовы производятся в синтаксисе, отличном от синтаксиса вызова UDF. Московская секция ACM SIGMOD 28 декабря 2006 г. 17.

18 Дополнительный столбец

Дополнительный столбец

DB2 Universal Database. При определении типизированной таблицы нужно явно специфицировать дополнительный столбец, в котором будут храниться значения объектных идентификаторов (OID) каждого объекта (строки), содержащейся в таблице Столбец OID создается как первый столбец таблицы, и за ним следуют столбцы, соответствующие атрибутам типа таблицы Объектные идентификаторы используются в операциях разыменования (dereference), т.е. обеспечивают возможность добраться до строки по ссылке и преобразовать ее в экземпляр (значение) структурного типа Все строки подтаблиц доступны через запрос, адресуемый к их супертаблице Возможности OUTER и ONLY D запросах на DB2 SQL можно использовать путевые выражения, но не в “точечной”, а в “стрелочной” нотации. Московская секция ACM SIGMOD 28 декабря 2006 г. 18.

19 Объектные представления – это виртуальные таблицы

Объектные представления – это виртуальные таблицы

DB2 Universal Database. Объектные представления – это виртуальные таблицы, которые могут обладать структурой и поведением, отличным от структуры и поведения базовых таблиц, лежащих в основе этих представлений Как и в случае типизированных таблиц, определение объектного представления основывается на определении структурного типа Объектные представления можно использовать для ограничения доступа к подмножеству строк иерархии таблиц или для сокрытия некоторых столбцов этой иерархии Долгое время не поддерживались типы коллекций, но теперь DB2 UDB более всех соответствует стандарту SQL. Московская секция ACM SIGMOD 28 декабря 2006 г. 19.

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

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

Коротко о предпосылках ОРСУБД. Манифест баз данных третьего поколения (1990 г.) В конце 80-х Вон Ким основал компанию UniSQL, выпустившую в 1991 г. первую версию продукта UniSQL, который Вон Ким стал называть объектно-реляционной системой Четыре принципа: Значениями атрибутов отношений могут быть не только литеральные значения, но и объекты; Значения атрибутов отношений не обязательно являются атомарными; При построении таблиц (классов) может использоваться механизм наследования; Классы включают операции. Московская секция ACM SIGMOD 28 декабря 2006 г. 20.

21 Майкл Стоунбрейкер

Майкл Стоунбрейкер

Коротко о предпосылках ОРСУБД. Майкл Стоунбрейкер Ingres и Postgres В Postgres допускалось хранение в полях отношений данных абстрактных, определяемых пользователями типов В 90-е гг. Стоунбрейкер создал компанию Illustra, основной целью которой был выпуск коммерческого варианта СУБД Postgres, получившего название Illustra В этой системе поддерживались основные идеи Postgres, но уже присутствовала и поддержка языка SQL. Московская секция ACM SIGMOD 28 декабря 2006 г. 21.

22 Объектно-реляционные базы данных и язык SQL

Объектно-реляционные базы данных и язык SQL

Объектно-реляционные базы данных и язык SQL. SQL3, SQL:1999, SQL:2003 При определении объектной модели SQL участники процесса стандартизации тщательно проанализировали ряд других языков и систем с целью выяснения достоинств и недостатков их объектных моделей Выработанная объектная модель похожа на объектную модель языка Java, но при этом адаптирована к природе языка SQL как языка СУБД с наличием стабильно хранимых метаданных и данных. Московская секция ACM SIGMOD 28 декабря 2006 г. 22.

23 Два основных отличительных

Два основных отличительных

Объектно-реляционные базы данных и язык SQL. Два основных отличительных компонента – структурные, определяемые пользователями типы данных (User Defined Type – UDT) и типизированные таблицы (Typed Table) Первый компонент позволяет определять новые типы данных, которые могут быть гораздо более сложными, чем встроенные типы данных языка SQL Второй компонент – типизированные таблицы – позволяет определять таблицы, строки которых являются экземплярами (или значениями) UDT, с которым явно ассоциируется таблица. Московская секция ACM SIGMOD 28 декабря 2006 г. 23.

24 SQL как модель данных

SQL как модель данных

SQL как модель данных. SQL – большой и «многослойный» язык Однако, если сопоставлять возможности SQL с возможностями реляционной модели данных, можно установить, что в настоящее время в спецификации SQL представлена законченная модель данных, отличающаяся от реляционной поддержкой мультимножеств и неопределенных значений Развитые возможности структуризации (включая полную систему типов), манипулирования данными и поддержки ограничений. Московская секция ACM SIGMOD 28 декабря 2006 г. 24.

25 Гармонична ли «объектная» часть модели данных SQL

Гармонична ли «объектная» часть модели данных SQL

Гармонична ли «объектная» часть модели данных SQL? Далее исключительно личная точка зрения Та часть расширений, которая относится к системе типов (типы коллекций, UDT, наследование и т.д., кроме ссылочных типов), вполне гармонична и не выходит за пределы даже реляционной модели Ссылочные типы, типизированные таблицы и представления, поддержка путевых выражений вызывают подозрения. Московская секция ACM SIGMOD 28 декабря 2006 г. 25.

26 Типизированные таблицы и представления

Типизированные таблицы и представления

Гармонична ли «объектная» часть модели данных SQL? Типизированные таблицы и представления позволяют писать запросы в стиле OQL Но может ли грамотный пользователь забыть про скрытые внешние ключи и соединения? Действительно ли различия между прямой и ассоциативной адресацией не являются существенными? Вопрос, заслуживающий исследования Что скажет новый стандарт объектной модели данных? http://www.omg.org/cgi-bin/doc?mars/2006-2-18 Request for Information (RFI). Московская секция ACM SIGMOD 28 декабря 2006 г. 26.

27 Кто и как использует ОРСУБД

Кто и как использует ОРСУБД

Кто и как использует ОРСУБД? Используют мало возможностей Борис Новиков: хранимые процедуры, функции, пакеты Нет известных примеров приложений со своими типами данных Совсем неизвестны приложения с типизированными таблицами Положительный пример Oracle Express Но все делают сами производители Почему? Московская секция ACM SIGMOD 28 декабря 2006 г. 27.

28 Проблемы использования ОРСУБД

Проблемы использования ОРСУБД

Проблемы использования ОРСУБД. Мне кажется, что дело не в «объектности» Слишком много возможностей Как распределять функциональную нагрузку между сервером баз данных, сервером приложений и приложением? Что теперь означает «независимость базы данных от приложения»? Московская секция ACM SIGMOD 28 декабря 2006 г. 28.

29 Когда и как использовать типы коллекций

Когда и как использовать типы коллекций

Проблемы использования ОРСУБД. Даже если от этого отвлечься Когда и как использовать типы коллекций? Нет методологии Нужно ли проектировщику знать об особенностях реализации, например, вложенных таблиц? Аскетичность Кодда понятнее сегодняшнего богатства Аналогичные проблемы в базах XML-данных. Московская секция ACM SIGMOD 28 декабря 2006 г. 29.

30 Каковы перспективы

Каковы перспективы

Каковы перспективы? Сделано очень много Пропасть не должно Надеюсь, что с помощью исследовательского сообщества удастся решить проблемы и привлечь разработчиков к использованию ОРСУБД. Московская секция ACM SIGMOD 28 декабря 2006 г. 30.

«Объектно-реляционные базы данных»
Сайт

5informatika.net

115 тем
5informatika.net > Типы баз данных > Объектно-реляционные базы данных.ppt