~let's take fun when you can do it~

Slides:



Advertisements
Similar presentations
XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
Advertisements

データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男. 後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
第9回 2007年6月22日 応用Java (Java/XML).
JPAを利用した RESTful Webサービスの開発
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (2日目) 担当:清水,田代 副手:浦辺,石井.
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
HTMLの記述と WWWにおける情報公開 遠藤
Microsoft Office 2010 クイックガイド ~Access編~
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
項目間の対応関係を用いた XBRL財務報告書自動変換手法の提案
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
FM-Tokyo Oct 30, 2004 やっと見えた! FileMaker Server Avancedの全貌
XSLT XML文書はそのままでは読み易い形で表示されない。 XML文書を別のXML文書に変換して、情報抽出や表示をする枠組みがXSLT。
第8章 データベースシステムの発展 8.1 オブジェクトリレーショナルデータベース 8.2 分散データベース 8.3 インターネットとデータベース.
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
XML データベース XRel の実装とその評価
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
SGMLについて 2年8組  原口 文晃.
XMLゼミ 5.1 XML文書と表示 5.2 CSS 5.3 XMLとXSL 高橋 辰裕.
第8章 Web技術とセキュリティ   岡本 好未.
第12回 2007年7月13日 応用Java (Java/XML).
9.1 DOMの概要 9.2 DOMプログラミングの基礎 9.3 DOMのプログラミング例
第10回 2007年6月29日 応用Java (Java/XML).
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第4回JavaScriptゼミ セクション2-8 発表者 直江 宗紀.
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
XML Transformation Language Based On Monadic Second Order Logic
XMLゼミ 5.4 XSLT (P118~P134)          兒玉 光太郎.
その他の図 Chapter 7.
SQL パフォーマンス チューニング ~ プランガイドの利用~
第11回 2007年7月6日 応用Java (Java/XML).
第8回 2007年6月15日 応用Java (Java/XML).
暗黙的に型付けされる構造体の Java言語への導入
わんくま同盟・techbank.jp 夏椰 Insight Technology, Inc. 今川 美保
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
XMLデータベースを用いた Javaのための仮想的な オブジェクト指向データベースの試作
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
Javaによる Webアプリケーション入門 第2回
情報アプリケーション1 2006年 10月 19日 第四回資料 担当 重定 如彦 .
XMLゼミ 1.3 XML文書の表示 1.4 XMLの役割 1.5 XMLとプログラミング M2 正木 裕一.
独習XML ~第3章 文書と構造~ 3.3 スキーマ 3.3 XML Schema
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
第13回 2007年7月20日 応用Java (Java/XML).
クリアリングハウスと 空間データ交換システムの連携 - メタデータとXML - 平成11年2月10日 (株) NTTデータ 情報科学研究所
アプリケーション依存の先読みが可能なO/Rマッピングツール
データベース設計 第6回 DBMSの機能と操作方法(3) フォームとレポート
情報システム1及び演習 第一回 データベースの概要.
XML Schema (1) ソフトウェア特論 第3回 /
応用Java(Java/XML) 第7回 2006年6月16日 植田龍男.
XMLゼミ 3.5 DTD M2 正木 裕一.
3-1.文書と構造 3-2.整形式文書と検証済み文書 兒玉 光太郎
統計ソフトウエアRの基礎.
独習XML ~第1章 XMLの基礎~ 1.1 XML文書の基礎 1.2 XMLとHTML
再帰CTE を使って遊ぼう 大阪#9 2012/04/14.
アルゴリズムとデータ構造1 2009年6月15日
JSPの基本 J2EE I (データベース論) 第8回 /
アルゴリズムとデータ構造 2010年6月17日
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
2006年10月18日 植田龍男 Webサービス II (第4回) 年10月18日 植田龍男.
応用Java(Java/XML) 第8回 2005年6月9日 植田龍男.
応用Java(Java/XML) 第8回 2005年6月23日 植田龍男.
Presentation transcript:

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

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

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

XMLとは XML=Extensible Markup Languageの略 データを分離して、 分離したデータ毎に名前を付け、木構造であらわされるもの データは要素と属性がある ex) <?xml version="1.0" encoding="utf-8"?> <group> <name>わんくま同盟</name> </group> 属性(Attribute) XMLとはExtensible Markup Languageの略で データにマーク付けを追加するために必要な規則の集まりを定義しています。 マーク付けはデータに構造を追加し、そのデータの意味を語る手段を提供します。 ・・・というのが一般的なかたっくるしい言い方ですが、 簡単に言ってしまえば データを意味のあるフィールド毎に分離して、フィールドに名前をつけたものってことです。 要素(Element)

XSLTとは XML文書を別の書式へ変換するための言語 XSLTはXPathに依存 ex) XML Stylesheet Language Transformationsの略 XML文書を別の書式へ変換するための言語 XSLTはXPathに依存 ex) <?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> <xsl:value-of select="name"/> </body> </html> </xsl:stylesheet>

XPathとは 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:stylesheet>

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

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

XMLSchemaとは ex) XML <?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:element name="name" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="group" type="group"/> </xsd:schema>

DEMO (XML Schema)

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

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

DEMO (XQuery)

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

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

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

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

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

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

(Schema Collection作成+適用) DEMO (Schema Collection作成+適用)

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

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

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

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

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

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

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