
- •Понятие технологии баз данных. Эволюция технологий баз данных.
- •Стандарт языка sql и его окружения.
- •Перспективные направления развития технологий баз данных.
- •Проблемы и текущие задания исследований в области баз данных.
- •Новые возможности sql-3. Перспективы развития стандарта.
- •6. Інтеграція інформаційних ресурсів
- •7. Аналітичні функції. Призначення. Синтаксис
- •8. Динамічний sql. Призначення. Порівняння динамічного та статичного
- •9. Реалізація динамічного sql за допомогою пакета dbms_sql
- •11. Native Dynamic sql
- •12. Засоби апи (остальное – на пикче)
- •13. Стандарты языка sql. Их виды и предназначение.
- •14. Динамічний і статичний sql
- •18. Проектування баз даних за допомогою uml. Порівняння оомд та інших
- •19. Управління сводними даними
- •20. Проблеми сховищ даних
- •21. Моделювання даних за допомогою uml.
- •22. Ообд: основні концепції, організація і управління
- •23. Проектування сховищ даних
- •24. Архітектура сховища даних
- •25. Вибір субд для сховища даних
- •26. Концепція сховищ даних.
- •27. Завантаження даних у сховища.
- •28. Експлуатація сховищ даних
- •29. Управління сховищем даних
- •30. Створення сховища даних
- •31. Секціонування сховищ даних.
- •32. Індексування сховищ даних. Индексирование данных
- •36. Принципы построения xml документов
11. Native Dynamic sql
Вот, что позволяет делать встроенный динамический SQL:
Работать со всеми без исключения типами данных Oracle, включая и типы объектов, заданные пользователем, и типы коллекции (переменные массивы, вложенные таблицы, индексированные таблицы). DBMS_SQL позволяет работать лишь с типами данных, совместимыми с Oracle7.
Извлекать множественные данные (серию строк) непосредственно в конструкцию PL/SQL. В DBMS_SQL данные извлекаются построчно в отдельную запись.
Для работы со встроенным динамическим SQL используются следующие конструкции:
EXECUTE IMMEDIATE SQL_string
[INTO {define_variable[, define_variable]... | record}]
[USING [IN | OUT | IN OUT] bind_argument
[, [IN | OUT | IN OUT] bind_argument]...];
Плюс три конструкции специально для работы с запросами, порождающими множественные результаты:
OPEN {cursor_variable | :host_cursor_variable} FOR SQL_string
[USING bind_argument[, bind_argument]...];
FETCH {cursor_variable | :host_cursor_variable}
INTO {define_variable[, define_variable]... | record};
CLOSE {cursor_variable | :host_cursor_variable};
Встроенный динамический SQL имеет смысл использовать в следующих случаях.
Когда количество и типы столбцов, с которыми придется работать, заранее известны.
Когда заранее известно количество и типы связываемых переменных. (Можно также использовать контексты приложений, чтобы с помощью более простого встроенного динамического SQL выполнять операторы с заранее неизвестным количеством или типами связываемых переменных.)
Когда необходимо выполнять операторы ЯОД.
12. Засоби апи (остальное – на пикче)
13. Стандарты языка sql. Их виды и предназначение.
К началу 1980-х годов существовало несколько вариантов СУБД от разных производителей, причём каждый из них обладал собственной реализацией языка запросов, было принято решение разработать стандарт языка, который будет гарантировать переносимость ПО с одной СУБД на другую (при условии, что они будут поддерживать этот стандарт).
Возникла проблема: на каком-то этапе многие производители использующего SQL программного обеспечения решили, что функционал в текущей (на тот момент) версии стандарта недостаточен, и его желательно расширить. В результате у разных производителей систем управления базами данных (СУБД) в ходу разные диалекты SQL, в общем случае между собой несовместимые.
До 1996 года вопросами соответствия коммерческих реализаций SQL стандарту занимался в основном Национальный институт стандартов и технологий (NIST), который и устанавливал уровень соответствия стандарту. Позднее подразделение, занимавшееся СУБД, было расформировано, и на текущий момент все усилия по проверке СУБД на соответствие стандарту ложатся на её производителя.
Впервые понятие «уровня соответствия» было предложено в стандарте SQL-92. А именно, ANSI и NIST определяли четыре уровня соответствия реализации этому стандарту:
Entry (базовый)
Transitional (переходный) — проверку на соответствие этому уровню проводил только NIST
Intermediate (промежуточный)
Full (полный)
1986 SQL-86 Первый вариант стандарта, принятый институтом ANSI и одобренный ISO в 1987 году.
1989 SQL-89 Доработанный вариант предыдущего стандарта.
1992 SQL-92 SQL2
1999 SQL:1999 SQL3 Добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.
2003 SQL:2003 Введены расширения для работы с XML-данными, оконные функции (применяемые для работы с OLAP-базами данных), генераторы последовательностей и основанные на них типы данных.
2006 SQL:2006 Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery.
2008 SQL:2008 Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003