SQL / XML - SQL/XML
Спецификации, относящиеся к SQL / XML или XML, являются частью 14 спецификации языка структурированных запросов (SQL). В дополнение к традиционным предопределенным типам данных SQL, например, NUMERIC, CHAR, TIMESTAMP, ...
он вводит предопределенный тип данных XML
вместе с конструкторами, несколькими подпрограммами, функциями и сопоставлениями типов данных XML-SQL для поддержки обработки и хранения XML в базе данных SQL .
- SQL: 2003-14 определяет базовый тип данных, сопоставления, предикаты и функции.
- SQL: 2006-14 , SQL: 2008-14 и SQL: 2011-14 расширяют старые версии и подходы к XQuery .
Технические характеристики
Спецификация определяет тип данных XML
, функции для работы с XML, включая построение элементов, отображение данных из реляционных таблиц, объединение фрагментов XML и встраивание выражений XQuery в операторы SQL . Функции, которые могут быть встроены, включают XMLQUERY (который извлекает XML или значения из поля XML) и XMLEXISTS (который определяет, соответствует ли выражение XQuery).
Дополнительная информация и примеры функций SQL / XML представлены по внешним ссылкам ниже.
Стандартное соответствие
Результат объективной оценки Вагнером соответствия стандарту SQL / XML : 2006 Oracle 11g Release 1, MS SQL Server 2008 и MySQL 5.1.30 показан в следующей таблице, в которую были включены данные для PostgreSQL 9.1 и IBM DB2. добавлено:
Oracle 11g, выпуск 1 | IBM DB2 9.7 | MS SQL Server 2008 | MySQL 5.1.30 | PostgreSQL 9.1 | |
---|---|---|---|---|---|
Тип данных XML | частичный (Oracle называет тип данных XMLType вместо XML) | Высокая | Высокая | Нет | Частичное |
Предикаты SQL / XML | Высокая | Высокая | Частичное | Нет | Частичное |
Функции SQL / XML | Высокая | Высокая | Частичное | Низкий | Высокая |
ПРИМЕЧАНИЕ: только Oracle, IBM DB2 и MS-SQL-Server были дополнены XQuery .
Примеры
В приведенном ниже примере запроса SQLXML в качестве вывода используется тип SQLXML (протестирован в DB2 9.7 и Oracle 11g):
SELECT XMLELEMENT(NAMEs "PhoneBook", -- root element name
XMLAGG( -- aggregation over the rows
XMLELEMENT(NAME "Contact",
XMLATTRIBUTES(cust.FIRST_NAME AS "Name",
cust.TEL)
)
)
)
FROM TMP.CUSTOMER AS cust;
И вывод:
<PhoneBook>
<Contact Name="Daniel" TEL="788255855"/>
<Contact Name="Martin" TEL="889665447"/>
<Contact Name="Eva" TEL="111222333"/>
<Contact Name="Alena" TEL="444555666"/>
<Contact Name="Oliver" TEL="777888999"/>
<Contact Name="George" TEL="444882446"/>
<Contact Name="Jamie" TEL="123456789"/>
</PhoneBook>
Образцы взяты из статьи javalobby.
Ссылки
- ^ Фундерберк, JE; Malaika, S .; Рейнвальд, Б. (2002), «Программирование XML с помощью SQL / XML и XQuery» (PDF) , IBM Systems Journal , 41 (4): 642–665, doi : 10.1147 / sj.414.0642 , получено 14 ноября 2011 г.
- ^ a b Вагнер, Майкл (2010), "1. Auflage", SQL / XML: 2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme , Diplomica Verlag, ISBN 978-3-8366-9609-8
- ^ Айзенберг, Эндрю; Мелтон, Джим (2004), "Достижения в SQL / XML" (PDF) , SIGMOD Record , 33 (3): 79, DOI : 10,1145 / 1031570,1031588 , получен 14 ноября 2011
- ^ Айзенберг, Эндрю; Мелтон, Джим (2002), «SQL / XML делает хороший прогресс» (PDF) , SIGMOD Record , 31 (2): 101, CiteSeerX 10.1.1.109.4867 , doi : 10.1145 / 565117.565141 , получено 14 ноября 2011 г.
- ^ Соответствие PostgreSQL ISO 9075-14 (SQL / XML) , в документации PostgreSQL 9.1.
- ^ Функции XML PostgreSQL 9.1, в документации PostgreSQL 9.1.
- ^ Кек, Даниэль (2013), SQLX - От БД прямо к XML и обратно , Javalobby.org
внешние ссылки
Эта статья о базе данных незавершена . Вы можете помочь Википедии, расширив ее . |