スライド 1

Similar documents
XMLとXSLT

Webプログラミング演習

PostgreSQL の XML 機能解説と将来拡張への提言

CAC

XSLT XSLT xsd XSLT XML xsd XPath <xsl:template ]

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

XISによる効率良いシステム開発のポイント

xslt #xslt

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

Chromeleon 7 for Chromeleon 7.2 全バージョン共通 Build: --- 新しいシーケンスの作成に使用できるワークリストファイル (.wlex) Doc. Nr: FAQ_CM7_2SS_00009 Doc. Ver.: Doc. Type

Web2.0 REST API + XSLT Amazon hon.jp API XML Consortium XML ( ) REST(GET)API hon.jp Amazon.co.jp Google Map Exif to RDF(kanzaki.com) REST +


3. XML, DB, DB (AP). DB, DB, AP. RDB., XMLDB, XML,.,,.,, (XML / ), XML,,., AP. AP AP AP 検索キー //A=1 //A=2 //A=3 返却 XML 全体 XML 全体 XML 全体 XMLDB <root> <A

_02-4.ppt

_02_3.ppt

データベース 【1:データベースシステムとは】

XMLプログラミング(DOM編)

Enterprise Architect 12.0 機能ガイド

PowerPoint Presentation

Lotus Domino XML活用の基礎!

メタデータスキーマレジストリ MetaBridge の概要


Microsoft PowerPoint - db03-5.ppt

XML Consortium & XML Consortium 1 XML Consortium XML Consortium 2

KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ <HTML> <HEAD> <TITLE>show_book</TITLE> </HEAD> <BODY> <DI

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

10th Developer Camp - B5

地域情報プラットフォームの最新概況

Microsoft Word - tutorial3-dbreverse.docx

橡実践Oracle Objects for OLE

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

Rmenuフレームワーク

<4D F736F F F696E74202D208A778F708FEE95F197AC92CA82F08EC08CBB82B782E98B5A8F E97708B5A8F70816A5F94D196EC8D758E742E >

IBM Software Group DB2 Information Management Software DB2 V8 XML SQL/XML 2 XML XML UDF XMLExtender XML XML XMLCollection, XMLColumn XML UDF Informati

PowerPoint Presentation

hands_on_4.PDF

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB

プレポスト【問題】

Seasar.NET入門

XMLテクノロジを使いやすくする

_02-5.ppt

_IMv2.key

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

標準XML Schema作成ガイドライン

Oracle SQL Developer Data Modeler

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

Microsoft PowerPoint pptx

1,.,,,., RDBM, SQL. OSS,, SQL,,.

サイボウズ Office8 API マニュアル API 概要 第 1 版 サイボウズ株式会社

IMI 共通語彙基盤ライブラリのご紹介 IPA 斉藤浩 / IPA 豊田耕司 2018 年 11 月 13 日 ( 火 ) 独立行政法人情報処理推進機構社会基盤センター産業プラットフォーム部データ活用推進グループ 1

Transcription:

XML with SQLServer ~let's take fun when you can do it~ Presented by 夏椰 ( 今川美保 )

Agenda( その 1) XML XML XSLT XPath XML Schema XQuery

Agenda( その 2) SQLServer における XML XML 型 XML Schema XQuery & XPath チェック制約 データ更新 FOR XML OPEN XML

XML とは XML XML=Extensible Markup Language の略 データを分離して 分離したデータ毎に名前を付け 木構造であらわされるもの データは要素と属性がある ex) <?xml version="1.0" encoding="utf-8"?> <group> <name> わんくま同盟 </name> </group> 属性 (Attribute) 要素 (Element)

XSLT とは XML XML Stylesheet Language Transformations の略 XML 文書を別の書式へ変換するための言語 XSLT は XPath に依存 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> ex) <xsl:template match="group"> <html> <head> </head> <body> <xsl:value-of select="name"/> </body> </html> </xsl:stylesheet>

XPath とは XML XML 中の特定の要素を指し示す記述方法を定めた規格 XMLの木構造をたどって文書内のあらゆる要素や属性にアクセスする手段として使用する

XPath とは ex) XML <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="group"> <html> <head></head> <body> <b> <xsl:value-of select="name"/> </b> <table border="1"> <xsl:apply-templates select="member"/> </table> </body> </html> </xsl:template> <xsl:template match="member"> <xsl:for-each select="name"> <tr><td> <xsl:value-of select="."/> </td></tr> </xsl:for-each> </xsl:template> </xsl:stylesheet>

ちょっとした DEMO (XML+XSLT)

XMLSchema とは XML XML 文書の取り得る構造を記述したスキーマ言語の一つ XMLでのすべてのニーズに対応する唯一のスキーマ言語として策定 ( 他のスキーマ言語 : DTD, RELAX, XML Data Reduced)

XML XMLSchema とは ex) <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:complextype name="group"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="member" type="member"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="member"> <xsd:sequence> <xsd:element name="name" type="xsd:string" minoccurs="1" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> <xsd:element name="group" type="group"/> </xsd:schema>

DEMO (XML Schema)

XQuery とは XML XML 文書の問い合わせを行うための言語 XPathは特定要素を指し示すのに対し XQueryはデータを参照するための機能を提供する (XPath2.0 の拡張が XQuery1.0)

XQuery とは XML XML 文書の問い合わせを行うための言語 XPathは特定要素を指し示すのに対し XQueryはデータを参照するための機能を提供する (XPath2.0 の拡張が XQuery1.0)

DEMO (XQuery)

SQLServer における XML テーブル一覧 (RDB- 共通 ) Students PK StudentId decimal(8, 0) NOT NULL KanjiName varchar(50) NOT NULL KanaName nchar(10) NOT NULL Tests PK TestId decimal(10, 0) NOT NULL TestName varchar(50) NOT NULL

テーブル (RDB) Score テーブル (RDB+XML) SQLServer における XML PK StudentId decimal(8, 0) NOT NULL PK TestId decimal(10, 0) NOT NULL ScoreXML Score decimal(3, 0) NOT NULL PK StudentId decimal(8, 0) NOT NULL Score xml NOT NULL < Score TestId= ~ > 点数 </Score> < Score TestId= ~ > 点数 </Score>

XML 型 SQLServer における XML XML 文書を格納するためのデータ型 保存する文書は2G 以内の制限がある XML 型にXMLSchemaを適用することが可能 XML 型には付属のメソッドが実装されている RDBとの連携ができる

XML 型 SQLServer における XML XML 型にあるメソッドは メソッド名 Query Value Exist Modify Nodes 処理 XML インスタンスに対するクエリを実行します XML インスタンスから SQL 型の値を取得します クエリから空でない結果が返されるかどうかを判断します XMLDML ステートメントを指定し 更新を行います XML を複数行に分割し XML ドキュメントの各部分をそれぞれ行セットに反映します

XMLSchema SQLServer における XML XML 型に自由勝手にデータを入れられては困る!!! XMLSchema を SQLServer に登録し テーブルへ記録されるデータの XML をチェックするように設定する

XMLSchema SQLServer における XML CREATE XML SCHEMA COLLECTION を実行し XMLSchemaを登録する XML 型に指定されている列のプロパティにある XMLタイプ仕様 ー ( スキーマコレクション ) で作成したスキーマコレクション名を入れる

DEMO (Schema Collection 作成 + 適用 )

チェック制約 SQLServer における XML Schema CollectionでXMLの整形はできる XML 型に格納されているデータの整合性は? チェック制約にて行います!!

データ更新 SQLServer における XML XML 型の関数 modify にて行う または XML データ自体を更新する modify には INSERT DELETE REPLACE VALUE OF の 2 種類がある

DEMO ( チェック制約作成 + 適用 ) & (modify 実行 + チェック制約確認 )

FOR XML SQLServer における XML RDB 形式のデータを XML として出力する モード RAW AUTO PATH EXPLICIT 処理 SELECT ステートメントによって返された行セットの行 1 つにつき 1 つの <row> 要素を生成します 入れ子構造の XML 要素としてクエリ結果が返されます XML 構造はあまり制御されないので 単純な階層を生成する場合に役立ちます 要素と属性を組み合わせた使用が容易になり 入れ子構造を使用することで 複雑なプロパティも容易に表現できるようになります 結果の XML ツリーの構造を明示的に定義することを指定します このモードを使用する場合は クエリを特殊な方法で記述することにより 目的の入れ子構造に関して追加情報を明示的に指定する必要があります

OPENXML SQLServer における XML XML をテーブルやビューと同様の行セットで 結果取得できる RDB 同様に XML データにアクセスできるようになります

DEMO (OPENXML) & (FOR XML(EXPLICTモード ))

SQLServer における XML 最後に XMLの柔軟さを受け入れつつ既存のRDBとの連携もできる利点がある XML でデータを使えれば プログラムでの出力に XSLT など使って 簡単にすることができるんじゃない かな? いろいろな可能性があります その可能性を楽しく利用してください