XML в СУБД Oracle.ppt
- Количество слайдов: 22
Технологии XML в СУБД Oracle Сухоногов А. М. , ПГУПС, 29. 04. 2009
Содержание l Классификация баз данных XML l Oracle XML SQL Utility. Язык запросов XQuery. l Oracle XSQL Servlet. XSQL-страница l XML-службы и протокол SOAP. l Oracle XML DB. Публикация объектов схемы Oracle в качестве Webсервисов. Архитектура SOA.
Классификация баз данных XML База данных – совокупность данных, представленных таким образом, что обеспечивается их сохраняемость и возможность манипулировать ими База данных XML – совокупность документов XML, которые являются сохраняемыми и могут подвергаться обработке
Классификация баз данных XML … по типу XML-документа
Классификация баз данных XML … по способу организации хранения • База данных на основе двумерных файлов • Реляционная СУБД • Объектно-реляционная СУБД • Объектно-ориентированная СУБД
XML и СУБД l Эффективный XML поиск и извлечение ACID (Atomicity – атомарность, Consistency – непротиворечивость, Isolation – изоляция, Durability - долговечность) l Интеграция l l XML данных с существующими реляционными данными Публикация реляционных данных как XML Поддержка приложений для Web, SOA
Моделирование баз данных XML 1. Составить перечень понятий и сложных связей предметной области 2. Соединить понятия предметной области, составляя простые предложения, описывающие связи 3. Выбрать из списка основные понятия предметной области 4. Изобразить основные понятия в виде узлов концептуальной схемы 5. Изобразить простые предложения в виде ребер графа 6. Показать на ребрах графа ограничения кратности связей 7. Проверить схему
Oracle XML SQL Utility (XSU) Трансформация данных таблиц и представлений БД в формат XML и обратно. Трансформация XML-документов с использованием зарегистрированных XSLтрансформаций l Извлечение метаданных (DTD/XSD) из XMLдокумента l Выполнение операций вставки, изменения и удаления в XML-документах l
Oracle XML SQL Utility (XSU) Функциональность пакета реализована: l Java API (xsu***. jar), доступна с версии Oracle DB 8. 1. 7 l PL/SQL API (модуль XMLGEN (Oracle 8 i), DBMS_XMLQuery и DBMS_XMLSave – начиная с версии Oracle 9 i) l Утилиты командной строки (Java)
XSU – варианты установки Установка в качестве пакета СУБД
XSU – варианты установки Установка на сервере приложений
XSU – варианты установки Установка Web-сервере
Пример использования XSU declare query. Ctx DBMS_XMLquery. ctx. Type; result CLOB; begin query. Ctx : = DBMS_XMLQuery. new. Context('select * from employees'); result : = DBMS_XMLQuery. get. XML(query. Ctx); print. Clob. Out(result); DBMS_XMLQuery. close. Context(query. Ctx); end; <? xml version = '1. 0'? > | <ROWSET> | <ROW num="1"> | <EMPNO>7369</EMPNO> | <ENAME>SMITH</ENAME> | <JOB>CLERK</JOB> | <MGR>7902</MGR> | <HIREDATE>12/17/1980 0: 0: 0</HIREDATE> | <SAL>800</SAL> | <DEPTNO>20</DEPTNO> | </ROW> |… </ROWSET>
Архитектура XSQL-фреймворка
XSQL-страница Пример страницы: <!-- Customer. Portfolio. xsql --> <portfolio connnection="orcl" xmlns: xsql="urn: oracle-xsql"> <xsql: query bind-params="custid"> SELECT s. ticker as "Symbol", s. last_traded_price as "Price" FROM latest_stocks s, customer_portfolio p WHERE p. customer_id = ? AND s. ticker = p. ticker </xsql: query> </portfolio> Пример вызова страницы: http: //<имя сервера>/app/Customer. Portfolio. xsql? custid=1001 <? xml version="1. 0"? > <? xml-stylesheet type="text/xsl” href=“<файл XSLT-трансформации>. xsl"? >
Oracle XML DB – высокопроизводительное решение для хранения и обработки данных в формате XML l l l Поддержка стандартов W 3 C Доступ к XML-репозиторию организованный с использованием метафор файлпапка\URL Поддержка промышленных стандартов доступа (FTP, HTTP, Web. DAV) Оптимизация доступа к данным в формате XML Oracle XML DB – не отдельный сервер СУБД
Архитектура Oracle XML DB
Oracle XML DB - XMLType
Публикация объектов схемы Oracle в качестве Web-сервисов WSDL Request WSDL PL/SQL SOAP Request SQL SOAP Response XQuery
Архитектура SOA Service Visibility Oracle Service Bus Dashboard Monitoring SLAs Open Interfaces Reporting Composition Message Flow Modeling Discovery/ Validation Transformation Service Callout Test Browser Security Transport Security WS-Security Console Security Policy Messaging Services Transport Layer Service Transport SDK Service
Литература l l l l Oracle 9 i XML. Разработка приложений электронной коммерции с использованием технологий XML. Б. Чанг, М. Скардина, С. Киритцов, М: «Лорри» , 2003 г. Проектирование баз данных на основе XML. М. Грейвс, М: «Вильямс» , 2002 г. XML шаг за шагом, М. Янг, М: «Эком» , 2000 г. JSTL. Практическое руководство для JSP-программистов, С. Шпильман, М: КУДИЦ-ОБРАЗ, 2004 г. Oracle XML DB 11 g Release 1 X-Files demonstration: Installation notes and User-guide. Oracle White Papers, September 2007, http: //www. oracle. com/technology/tech/xmldb/Current/oracle_xmldb_ xfiles_11 gr 1. pdf Пособие по лабораторным работам Oracle HANDS-ON LAB «Oracle XML DB – Managing Structured and Unstructured XML with Oracle Database 11 g» /Материалы конференции Oracle Develop, Moscone center, San Francisco, September 21 -25 2008 г. Oracle XML Developer’s Kit Programmer’s Guide 10 g Release 1. Part Number B 10794 -01. http: //downloadwest. oracle. com/docs/cd/B 19306_01/appdev. 102/b 14252. pdf
Спасибо за внимание ! ПГУПС, каф. «ИВС» Сухоногов Андрей Михайлович ASukhonogov@gmail. com 2009 г.
XML в СУБД Oracle.ppt