XML DBファーストステップ

Size: px
Start display at page:

Download "XML DBファーストステップ"

Transcription

1 Oracle XML DB ファースト ステップ Creation Date: Dec 25, 2006 Last Update: Dec 25, 2006 Version: 1.0

2 目次 1 はじめに XML 文書の格納 XMLTYPE 記憶域 構築手順 非構造化記憶域 構造化記憶域 XML 文書の操作 SQL/XML 関数 extract 関数 extractvalue 関数 existsnode 関数 検索 SQLを使った検索 Table 関数とXMLSequence 関数を組み合わせた検索 XQueryを使った検索 SQL*PlusのXQuery 検索 SQL 関数のXQuery 検索 XMLQuery 関数 XMLTable 関数 更新 全体更新 部分更新 updatexml insertchildxml insertxmlbefore appendchildxml 削除 全体削除 部分削除 updatexml deletexml 索引の設定 Oracle XML DB ファースト ステップ - 2

3 3.5.1 実行計画の表示設定 XMLTYPE 記憶域別テクニック リレーショナル列の活用 XML 文書全体の取得 スキーマ注釈の利用 XPATHリライト XPathリライトの診断 半構造化記憶域 ( ハイブリッド記憶域 ) ビューの作成 XMLTYPEビュー XMLTypeビューのDML 操作 リレーショナル ビュー XMLスキーマのメンテナンス 外部 XML 文書の取り込み FAQ 付録 表作成 DDL 索引作成 DDL CTXXPATH 索引の設定 CONTEXT 索引の設定 Oracle XML DB ファースト ステップ - 3

4 1 はじめに 本書では Oracle Database 10g を使用して XML データを扱う方法を説明します Oracle Database 10g の Database Configuration Assistant (DBCA) を利用したデフォルトの設定によるデータベース作成では Oracle XML DB コンポーネントも含まれています 他社の XML データベース製品のように XML データベース専用のサーバや データベースを新規に作成する必要はありません 本書は XMLの基本を理解しており Oracle XML DBを使ったXMLアプリケーションを初めて構築するエンジニアを対象にしており 実際にSQL*Plusを使ってXMLデータにアクセス 1 をすることでOracle XML DBの理解を深めることを目的とします Oracle XML DB の基本的な概念については OTN Japan ( Oracle Technology Network Japan) からダウンロード可能なマニュアルや技術資料等を参照してください Oracle XML DB のマニュアル Oracle XML DB 開発者ガイド 10g リリース 2(10.2) XML Technology Center 初心者 中級もしくは上級の XML ユーザーに関わらず あらゆる XML に関連する アプリケーションを構築するための最新情報を提供しています 1 本ドキュメントのスクリプトは全て Oracle Database 10g リリース 2 (10.2) で実行 したものを掲載しております - Oracle XML DB ファースト ステップ - 4

5 2 XML 文書の格納 Oracle XML DB では XML 専用のデータ型として XMLType 型が用意されています XMLType 型は 通常のリレーショナル表の列データ型として利用することが可能です また XMLType 型はオブジェクト型の 1 つであるため XMLType 型を利用してオブジェクト表を作成することもできます XMLType 型を利用したオブジェクト表は XMLType 表と呼ばれます 1.XMLType 表オブジェクト表の1つで XMLType 列を1つしか持たない表です ただし 下記の XMLType 列を含んだ表とは異なり 問合せ時などに列名を明示する必要がないという特徴を持っています XML 文書 XMLType 表 図 2-1 XMLType 表 2.XMLType 列を含んだ表 通常のリレーショナル表で その表に 1 つまたは複数の XMLType 列を持ってい ます XML 文書 XML 文書 リレーショナル表 図 2-2 XMLType 列 - Oracle XML DB ファースト ステップ - 5

6 XMLType データ型は 既存の CLOB 型や VARCHAR2 型と比較すると以下のメリッ トがあります XML 文書の整形式 2チェックが自動的に行われる XPath に準じた文法を利用して XML 文書の特定の部分にアクセスできる XML 文書に対しての検索 取り出し 更新 スタイルシートの適用などを行う SQL 関数を使用できる 2 整形式の XML 文書とは XML 宣言で宣言された XML バージョンの構文に準拠してい る XML 文書です 整形式チェックには ルート要素が単一か タグが適切にネストされて いるかなどが含まれます - Oracle XML DB ファースト ステップ - 6

7 2.1 XMLType 記憶域 Oracle XML DB では XML 文書を表や列に格納する際 業務要件に合わせて XMLType 記憶域を選択する必要があります XMLType 記憶域の選択 非構造化記憶域 : LOB ベースの記憶域では スペース文字の保持を含むテキスト (XML 文書 ) の完全な再現性が保証されます これは XML 文書を CLOB 値として格納して取り出したときにデータが損失しないことを意味します データの整合性は高く XML ツリーへ戻すときの処理負荷は低くなります 表 A 列 1 1 列 2 (XMLType データ型 ) <?xml version="1.0" encoding="euc-jp"?> <DayEntry> <Date> </Date> <Entries> <Entry> <EntryId>abc123</EntryId> <Created> T08:02:03</Created> <Title>Oracle OpenWorld</Title> <Content> 実施中 </Content> <EntryId> </Entry> </Entries> </DayEntry> 図 2-3 非構造化記憶域 非構造化記憶域の XMLType 型では XML 文書を単純なキャラクタ ストリン グとして ( 内部的には CLOB 型で ) 保持します - Oracle XML DB ファースト ステップ - 7

8 構造化記憶域 : 構造化記憶域では スペース文字の情報は失われますが XML DOM 再現性 3 が保持され SQL 問合せの実行性およびパフォーマンスが向上し XML 要素の部分更新が高速になります 表 A 列 1 列 2 (XMLType データ型 ) DayEntrynnn_T 外部 XMLType 表 Date (DATE) Entriesnnn_T Entrynnn_T Entry EntryId (VARCHAR2) Created (TIMESTAMP) abc def 図 2-4 構造化記憶域 XML 文書を構成している各 XML 要素 ( 内容や属性 ) を SQL オブジェクトにマッピングして格納します マッピング処理は 予め登録された XML スキーマに基づいて自動的に行われます スキーマ注釈メカニズム ( 後述 ) を使用することにより コレクション 4 を外部のXMLType 表に格納することが可能です この作業によりコレクションに索引を作成することが可能になります 3 タグ外のインデント文字 空白文字などを除いたタグ構造やコンテンツが同一である ことを保証する特性を指します 4 XML 文書の同一階層内で複数回出現する要素を指します - Oracle XML DB ファースト ステップ - 8

9 半構造化記憶域 : 半構造化記憶域は特殊な構造化記憶域で XML データの一部が構造化された形式に分割され 残りのデータが CLOB 値として格納されます 構造化記憶域のコレクション部分が XMLType 型の CLOB 値として格納されます XMLType 記憶域は以下のいずれかのタイプに分類されます 図 2-5 XMLType 記憶域 - Oracle XML DB ファースト ステップ - 9

10 XML 文書一括登録時間 柔軟性 XML 再現性 更新操作 XPath ベースの問合せ 非構造化記憶域 短い XMLType 列または表に格納可能な XML 文書の構造で 最大限の柔軟性を実現できる DOM 再現性が提供される 元の XML 文書がバイト単位で保持される XML 文書の一部を更新する場合でも 文書全体をディスクに書き出す XPath 操作は XML データをメモリー上にツリー構造に展開して処理するため 構造の複雑な XML 文書を大量に処理する用途には不向き 構造化記憶域 非構造化記憶域に比べると長い 柔軟性は制限される XML スキーマに準拠する文書のみが XMLType 表または列に格納される XML スキーマを変更すると データのアンロードおよび再ロードが必要になる DOM 再現性が提供される ただし 後続の新しい行 タグ間のスペース文字 および一部のデータ フォーマットは失われる 多くの更新処理は XPath リライト ( 後述 ) を使用して実行されるため 要素の部分更新が可能 応答時間が大幅に短縮され スループットが増大する XPath 操作は XPath リライトを使用して評価するので パフォーマンスが大幅に向上する ( 特に大規模なコレクションの場合 ) SQL 制約使用不可使用可能 索引 メモリー管理の最適化 テキスト索引 ファンクション索引 最適化処理されない B ツリー索引 テキスト索引 ファンクション索引 最適化処理される 表 2-6 構造化記憶域と非構造化記憶域の特徴 - Oracle XML DB ファースト ステップ - 10

11 索引名 メリット デメリット 非構造化 記憶域 構造化記憶域 B ツリー 特定の要素に対する検索が非常に高速 コレクションには設定できない 利用不可利用可能 ファンクション 特定の要素に対する検索が非常に高速 コレクションには設定できない 利用可能利用可能 CTXXPATH コレクションにも設定可能 - 利用可能利用可能 索引作成時に要素を特定する必要が無い CONTEXT コレクションにも設定可能 - 利用可能利用可能 XML ツリー構造を意識した全文検索が可能 索引作成時に要素を特定する必要が無い ビットマップ 特定の要素で 種類の少ないデータに対する検索が非常に高速 - 利用可能利用可能 表 2-7 利用可能な索引 - Oracle XML DB ファースト ステップ - 11

12 2.2 構築手順構造化記憶域と非構造化記憶域では XML 文書を格納する XMLType 型の表や列の作成方法が異なります 構造化記憶域を使用するには XML スキーマの作成および登録が必要です 手順 非構造化記憶域 構造化記憶域 #1 XML スキーマの作成 登録 #2 表の作成 表の作成 #3 XML 文書の登録 XML 文書の登録 #4 XML 文書の確認 XML 文書の確認表 2-8 構築手順 非構造化記憶域で作成した表にも XML スキーマを使用できますが ここでは省略します 以下の XML 文書を例に説明します <?xml version="1.0" encoding="euc-jp"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 2-9 XML 文書例 - Oracle XML DB ファースト ステップ - 12

13 2.2.1 非構造化記憶域 非構造化記憶域では 渡される XML 文書が整形式でありさえすれば どんな 構造の文書でも登録できます #2. 表の作成 XMLType 表の場合 SQL> CREATE TABLE step1 OF XMLTYPE 2 XMLType STORE AS CLOB; リスト 2-10 XMLType 表の作成 リスト 2-10 より XML 文書は一つの擬似列 OBJECT_VALUE 5 に格納されます XMLType 列を含んだ表の場合 SQL> CREATE TABLE step1b 2 (id NUMBER primary key, 3 xml XMLType) 4 XMLType COLUMN xml 5 STORE AS CLOB; リスト 2-11 XMLType 列を含んだ表の作成 リスト 2-11 より XML 文書は XML という名前の列 ( 名前は任意に設定可 能 ) に格納されます #3. XML 文書の登録 XMLType 表の場合 SQL> INSERT INTO step1 2 VALUES(XMLType('<?xmlversion="1.0"encoding="EUC-JP"?> 3 < 申込 NO="000123"> 4 < 契約者 > オラクル太郎 </ 契約者 > 5 < 契約日 > </ 契約日 > 6 < サービス CODE="G2456"> 7 < サービス名 >Grid 提案サポート </ サービス名 > 5 XMLType 表は列を持たないので 擬似列であるOBJECT_VALUEを指定します (OBJECT_VALUEは Oracle Database 10gリリース 1 より前のリリースで使用されていたvalue() およびSYS_NC_ROWINFO$ を利用した別名に換わるもので同様の意味を持ちます ) - Oracle XML DB ファースト ステップ - 13

14 8 < 開始日 > </ 開始日 > 9 < 終了日 > </ 終了日 > 10 </ サービス > 11 < サービス CODE="X4332"> 12 < サービス名 >XMLDB サポート </ サービス名 > 13 < 開始日 > </ 開始日 > 14 < 終了日 > </ 終了日 > 15 </ サービス > 16 </ 申込 >')); リスト 2-12 XMLType 表への XML 文書の登録 XMLType 列を含んだ表の場合 SQL> INSERT IN TO step1b( id,xml) 2 VALUES(1, XMLType('<?xml version="1.0" encoding="euc-jp"?> 3 < 申込 NO="000123"> 4 < 契約者 > オラクル太郎 </ 契約者 > 5 < 契約日 > </ 契約日 > 6 < サービス CODE="G2456"> 7 < サービス名 >Grid 提案サポート </ サービス名 > 8 < 開始日 > </ 開始日 > 9 < 終了日 > </ 終了日 > 10 </ サービス > 11 < サービス CODE="X4332"> 12 < サービス名 >XMLDB サポート </ サービス名 > 13 < 開始日 > </ 開始日 > 14 < 終了日 > </ 終了日 > 15 </ サービス > 16 </ 申込 >')); リスト 2-13 XMLType 列を含んだ表への XML 文書の登録 #4. XML 文書の確認 XMLType 表の場合 SQL> SELECT * FROM step1; SYS_NC_ROWINFO$ <?xml version="1.0" encoding="euc-jp"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > - Oracle XML DB ファースト ステップ - 14

15 < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 2-14 XML 文書の確認 XMLType 列を含んだ表の場合 SQL> select * from step1b; ID XML <?xml version="1.0" encoding="euc-jp"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 2-15 XML 文書の確認 - Oracle XML DB ファースト ステップ - 15

16 2.2.2 構造化記憶域 構造化記憶域を使用するには XML ツリーの構造を決定付ける XML スキーマ ファイルの作成と Oracle XML DB への登録作業が必須です #1. XML スキーマの作成 登録 1. 対象名前空間の名称設定 XML 名前空間とは URI 参照 (RFC-2396) によって識別され XML 文書内で要素型および属性名として使用される名前の集合です 名前空間を使って管理することにより 他の名前空間に属する内容や属性も参照可能になるので それぞれの名前空間を識別しやすい名称に設定することをお勧めします ここでは以下のように定義します so.xsd の名前空間 : 2. XML スキーマ ファイルの作成 W3C( の規約に基づいて XML スキーマを作成します これは XML 文書の論理設計に相当するもので XML ツリー構造における様々な定義を行います ここでは GUI 統合開発ツールの Oracle JDeveloper 10g(10.1.3) を使います 図 2-16 JDeveloper 10g による XML Schema 設計画面 1 - Oracle XML DB ファースト ステップ - 16

17 スキーマ コンポーネント パレットから該当するアイコンをドラッグ & ドロップして XML スキーマのツリー構造をグラフィカルに設計していきます Oracle JDeveloper 10g を使うと ほんの数分で文法的に正しい XML スキーマ ファイルを完成させることができます ソース タグをクリックすることで XML スキーマのコードが作成されてい ることが確認できます 図 2-17 JDeveloper 10g による XML スキーマ設計画面 2 Oracle JDeveloper 10g から直接 XML スキーマを Oracle Database に登録すること もできますが ここでは練習を兼ねて DBMS_XMLSCHMEA.REGISTERSCHEMA プロシージャを使って登録します DECLARE doc clob := '<xsd:schema ここに XML スキー マコードを記述しま </xsd:schema>'; す BEGIN dbms_xmlschema.registerschema( schemaurl => ' - Oracle XML DB ファースト ステップ - 17

18 END; / schemadoc => doc); リスト 2-18 REGISTERSCHEMA の使い方 SQL> DECLARE 2 doc clob := '<xsd:schema 3 xmlns:xsd=" 4 xmlns:kd=" 5 xmlns:xdb=" 6 targetnamespace=" 7 elementformdefault="qualified"> 8 <xsd:element name=" 申込 " type="kd: 契約タイプ "/> 9 <xsd:complextype name=" 契約タイプ "> 10 <xsd:sequence> 11 <xsd:element name=" 契約者 " type="xsd:string"/> 12 <xsd:element name=" 契約日 " type="xsd:date"/> 13 <xsd:element maxoccurs="unbounded" name=" サービス " type="kd: サービスタイプ "/> 14 </xsd:sequence> 15 <xsd:attribute name="no" type="xsd:string"/> 16 </xsd:complextype> 17 <xsd:complextype name=" サービスタイプ "> 18 <xsd:sequence> 19 <xsd:element name=" サービス名 " type="xsd:string"/> 20 <xsd:element name=" 開始日 " type="xsd:date"/> 21 <xsd:element name=" 終了日 " type="xsd:date"/> 22 </xsd:sequence> 23 <xsd:attribute name="code" type="xsd:string"/> 24 </xsd:complextype> 25 </xsd:schema>'; 26 BEGIN 27 dbms_xmlschema.registerschema( 28 schemaurl => ' 29 schemadoc => doc, 30 gentypes => true, 31 gentables => false); 32 END; 33 / リスト 2-19 XML スキーマの登録スクリプト XML スキーマを削除するときは DBMS_XMLSCHEMA.DELETESCHEMA プロシージャを実行します XML スキーマの登録を USER_XML_SCHEMAS ビューで確認します SQL> SELECT schema_url FROM user_xml_schemas; - Oracle XML DB ファースト ステップ - 18

19 SCHEMA_URL リスト 2-20 XML スキーマの確認 #2. 表の作成 XMLType 表の場合 SQL> CREATE TABLE step2 OF XMLTYPE 2 XMLSchema " 3 ELEMENT " 申込 "; リスト 2-21 XMLType 表の作成 リスト 2-21 より XML 文書は一つの擬似列 OBJECT_VALUE に格納されます 表の作成時に対象となる名前空間 (XMLSchema 句 ) とルート要素 (ELEMENT 句 ) を指定することにより XML スキーマを一意に識別します XMLType 表を作成するときに限り 後述するスキーマ注釈の defaulttable で表名を指定して DBMS_XMLSCHEMA.REGISTERSCHEMA プロシージャの gentables パラメータを true にして実行することにより CREATE TABLE 文による作成をスキップすることができます XMLType 列を含んだ表の場合 SQL> CREATE TABLE step2b 2 (id NUMBER primary key, 3 xml XMLType) 4 XMLType COLUMN xml 5 XMLSchema " 6 ELEMENT " 申込 "; リスト 2-22 XMLType 表の作成 リスト 2-22 より XML 文書は XML という名前の列 ( 名前は任意に設定可 能 ) に格納されます #3. XML 文書の登録 XML スキーマに基づいた表に XML 文書を登録するには 名前空間情報 ( 太 字 ) をルート属性に記述します - Oracle XML DB ファースト ステップ - 19

20 XMLType 表の場合 SQL> INSERT INTO step2 2 VALUES(XMLTYPE('<?xml version="1.0" encoding="euc-jp"?> 3 < 申込 xmlns=" 4 xmlns:xsi=" 5 xsi:schemalocation=" 6 NO="000123"> 7 < 契約者 > オラクル太郎 </ 契約者 > 8 < 契約日 > </ 契約日 > 9 < サービス CODE="G2456"> 10 < サービス名 >Grid 提案サポート </ サービス名 > 11 < 開始日 > </ 開始日 > 12 < 終了日 > </ 終了日 > 13 </ サービス > 14 < サービス CODE="X4332"> 15 < サービス名 >XMLDB サポート </ サービス名 > 16 < 開始日 > </ 開始日 > 17 < 終了日 > </ 終了日 > 18 </ サービス > 19 </ 申込 >')); リスト 2-23 XML 文書の登録例 XMLType 列を含んだ表の場合 SQL> INSERT INTO step2b(id, xml) 2 VALUES(1, XMLTYPE('<?xml version="1.0" encoding="euc-jp"?> 3 < 申込 xmlns=" 4 xmlns:xsi=" 5 xsi:schemalocation=" 6 NO="000123"> 7 < 契約者 > オラクル太郎 </ 契約者 > 8 < 契約日 > </ 契約日 > 9 < サービス CODE="G2456"> 10 < サービス名 >Grid 提案サポート </ サービス名 > 11 < 開始日 > </ 開始日 > 12 < 終了日 > </ 終了日 > 13 </ サービス > 14 < サービス CODE="X4332"> 15 < サービス名 >XMLDB サポート </ サービス名 > 16 < 開始日 > </ 開始日 > 17 < 終了日 > </ 終了日 > 18 </ サービス > 19 </ 申込 >')); リスト 2-24 XML 文書の登録例 - Oracle XML DB ファースト ステップ - 20

21 #4. XML 文書の確認 XMLType 表の場合 SQL> select * from step2; SYS_NC_ROWINFO$ <?xml version="1.0" encoding="euc-jp"?> < 申込 xmlns=" xmlns:xsi=" Schema-instance" xsi:schemalocation=" NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 2-25 XML 文書の確認 XMLType 列を含んだ表の場合 SQL> select * from step2b; ID XML <?xml version="1.0" encoding="euc-jp"?> < 申込 xmlns=" xmlns:xsi=" Schema-instance" xsi:schemalocation=" NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > - Oracle XML DB ファースト ステップ - 21

22 < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 2-26 XML 文書の確認 - Oracle XML DB ファースト ステップ - 22

23 3 XML 文書の操作 Oracle XML DB を利用することで 格納されている XML 文書の全体や特定の要素に対して INSERT UPDATE DELETE 処理を実行できます 検索においては SQL に加えて XQuery による問合せも Oracle Database 10g リリース 2 から利用できます 3.1 SQL/XML 関数 XMLType 型の要素 ( 内容や属性 ) にアクセスするには 以下の SQL 関数を使 います extract 関数 XML フラグメントを含む XMLType 文書を戻します extractvalue 関数 XMLType 文書と 要素セットをターゲットとする XPath 式をパラメータとして取ります この関数は XMLType 文書の XPath 評価の結果に対応するスカラー値を戻します existsnode 関数指定された XPath 解析が少なくとも 1 つの XML 要素またはテキスト要素を参照しているかどうかを調べます 参照している場合 この関数は 1 を戻します 参照していない場合は 0( ゼロ ) を戻します 構造化記憶域と非構造化記憶域の記述の違い 構造化記憶域で対象名前空間を使用している場合 namespace パラメータが必 要です 非構造化記憶域の場合 SQL> SELECT extract(object_value, '/ 申込 / 契約者 ') 2 FROM step1; リスト 3-1 namespace を必要としない検索 構造化記憶域の場合 SQL> S ELECT extract(object_value, '/ 申込 / 契約者 ', 2 'xmlns=" 3 FROM step2; リスト 3-2 namespace を必要とする検索 - Oracle XML DB ファースト ステップ - 23

24 3.2 検索 Oracle XML DB に格納された複数の XML 文書に対し SQL と XQuery を使っ て簡単に検索できます SQL*Plus のデフォルト表示では 大きなサイズの XML 文書全体を表示できな いため 以下の設定をセッションごとに行います SQL> SET PAGES SQL> SET LONG リスト 3-3 SQL*Plus の表示設定 SQL を使った検索 extract 関数と extractvalue 関数を使用して XML 文書を検索します SQL> SELECT extract(object_value, '/ 申込 / 契約者 ') 2 FROM step1; EXTRACT(OBJECT_VALUE,'/ 申込 / 契約者 ') < 契約者 > オラクル太郎 </ 契約者 > リスト 3-4 要素の検索例 SQL> SELECT extractvalue(object_value, '/ 申込 / 契約者 ') 2 FROM step1; EXTRACTVALUE(OBJECT_VALUE,'/ 申込 / 契約者 ') オラクル太郎 リスト 3-5 要素内容の検索例 コレクションの検索 '/ 申込 / サービス /@CODE' が複数回出現する場合 extractvalue 関数を利用する と次のようなエラーが表示されます SQL> SELECT extractvalue(object_value, '/ 申込 / サービス /@CODE') 2 FROM step1; ORA-19025: EXTRACTVALUE は 1 要素のみの値を戻します リスト 3-6 コレクションの間違った検索 - Oracle XML DB ファースト ステップ - 24

25 1 要素のみの結果を返すように位置を指定するとエラーがなくなります SQL> SELECT extractvalue(object_value, '/ 申込 / サービス [1]/@CODE') 2 FROM step1; EXTRACTVALUE(OBJECT_VALUE,'/ 申込 / サービス [1]/@CODE') G2456 リスト 3-7 XPath の位置を使った検索 複数の結果を一覧として表示したい場合には どうすればよいでしょうか? Table 関数と XMLSequence 関数を組み合わせた検索 XMLSequence 関数は XML フラグメントを含む XMLType 値に対して SQL 操作を実行可能にする SQL 関数です これを Table 関数と組み合わせて XMLType オブジェクトのコレクションを仮想表に変換して表示させます 考え方 Step1: ループを実行したい深さまで XPath 式で記述 Step2: Step1 ループを起点として 取り出したい内容や属性を XPath 式で指定 SQL> SELECT extractvalue(value(s), '/ サービス /@CODE') 2 FROM step1, 3 Table(XMLSequence(extract(object_value, '/ 申込 / サービス '))) s; Step2 EXTRACTVALUE(VALUE(S),'/ サービス /@CODE') G2456 X4332 Step1 リスト 3-8 複数属性をレコードとして返す検索 コレクションの問合せに対して 要素の属性を一覧表示できました - Oracle XML DB ファースト ステップ - 25

26 3.2.2 XQueryを使った検索 Oracle Database 10g リリース 2 より XQuery が使えるようになりました XQuery は XML 専用の問合せ言語として開発されたため 複雑な構造を持った XML 文書の反復処理や条件分岐処理を得意とします さらに XSLT に相当する文書整形機能も実装しているため 結果セットを HTML 形式等に出力することも可能です 実際に XQuery を使って検索します SQL*Plus の XQuery 検索 XQuery 式の前に SQL*Plus コマンドの XQUERY を付け 式の後にスラッシュ (/) を単独で付けることにより クライアント側の SQL*Plus コマンドラインから XQuery 式を直接入力することで サーバ上のデータに問い合わせることができます SQL> xquery 2 for $i in ora:view("step1")/ 申込 3 let $cd := $i/@no 4 where $i/ サービス [@CODE="G2456"] 5 return <Result> 6 {if ($cd eq "000123") then 7 < 登録者 >{$i/ 契約者 /text()}</ 登録者 > 8 else 9 < 登録者 > 該当者無し </ 登録者 >} 10 </Result> 11 / ここに XQuery のスクリプトを記述します リスト 3-9 XQuery コマンドを使った検索 Result Sequence <Result> < 登録者 > オラクル太郎 </ 登録者 > </Result> リスト 3-10 検索結果 XQuery 表現内で ora:view 関数を使うことにより リレーショナル表やビュー に対して XML 文書と同じように問い合わせることができます 例として SCOTT ユーザーの EMP 表 ( リレーショナル表 ) に対して 問合せ を実行します SQL> xquery 2 for $i in ora:view("scott","emp")/row - Oracle XML DB ファースト ステップ - 26

27 3 where $i/sal > and $i/hiredate > xs:date(" ") 5 return $i 6 / Result Sequence <ROW> <EMPNO>7788</EMPNO> <ENAME>SCOTT</ENAME> <JOB>ANALYST</JOB> <MGR>7566</MGR> <HIREDATE> </HIREDATE> <SAL>3000</SAL> <DEPTNO>20</DEPTNO> </ROW> リスト 3-11 リレーショナル表に対する XQuery 検索 SQL 関数の XQuery 検索 XMLQuery 関数および XMLTable 関数は SQL から XQuery を利用するためのインタフェースとして定義されています これらの関数を使用することにより リレーショナル データを使用した XML データの構成 XML 同様のリレーショナル データに対する問合せ および XML データからのリレーショナル データの構成が可能になります XMLQuery 関数 SQL 関数 XMLQueryを使用して XMLデータの構成や問合せができます この関数は引数としてXQuery 式 リテラル そしてオプションで XQueryコンテキスト項目 6 をSQL 式として取ります 関数はXQuery 式の評価結果をXMLType 文書として戻します SQL> SELECT XMLQuery('for $i in./ 申込 2 where $i/ サービス [1]/@CODE eq "G2456" 3 return < 登録者 >{$i/ 契約者 /text()}</ 登録者 >' 4 PASSING value(s) RETURNING CONTENT) "XMLQueryResult" 5 FROM STEP1 s; XMLQueryResult < 登録者 > オラクル太郎 </ 登録者 > リスト 3-12 XMLQuery を使った検索 1 6 暗黙的に参照できる XML 要素を指します - Oracle XML DB ファースト ステップ - 27

28 構造化記憶域の XMLType 表や XMLType 列を含んだ表で名前空間を指定する場 合 以下のように記述します SQL> SELECT XMLQuery('declare namespace 2 x=" 3 ;for $i in./x: 申込 4 where $i/x: サービス [1]/@CODE eq "G2456" 5 return < 登録者 >{$i/x: 契約者 /text()}</ 登録者 >' 6 PASSING value(s) RETURNING CONTENT) "XMLQueryResult" 7 FROM STEP2 s; リスト 3-13 XMLQuery を使った検索 2 Oracle Database では SQL の条件指定などでバインド変数 7 を使用することがで きますが XQuery でも以下のように使用できます SQL> variable EMPNO number; SQL> begin 2 :EMPNO := 7934; 3 end; 4 / SQL> print :empno EMPNO SQL> SELECT 2 XMLQuery('for $i in ora:view("scott","emp")/row 3 where $i/empno = $EMPNO 4 retu rn $i' 5 PASSING :EMPNO AS "EMPNO" RETURNING CONTENT) 6 FROM dual; リスト 3-14 バインド変数を使った検索 7 バインド変数は SQL*Plusで作成し PL/SQL またはSQLで参照する変数です SQL*Plusでバインド変数を作成した場合 その変数はPL/SQLサブ プログラムの中で宣言した変数と同様に使用でき SQL*Plusからもアクセスできます バインド変数は リターン コードの格納 PL/SQLサブ プログラムのデバッグなどに使用できます - Oracle XML DB ファースト ステップ - 28

29 XMLTable 関数 XMLTable 関数は XQuery 式の評価結果を 新しい仮想表のリレーショナル列にマッピングします その仮想表は SQL を使用した (join 式など ) 問い合せなどを行うことが可能です SQL 文の FROM 句で XMLTable 関数を指定します SQL> SELECT xtab.name 2 FROM STEP1 s, 3 XMLTable('for $i in./ 申込 4 where $i/ サービス [1]/@CODE eq "G2456" 5 return < 登録者 >{$i/ 契約者 /text()}</ 登録者 >' 6 PASSING value(s) 7 COLUMNS NAME varchar2(30) PATH '/ 登録者 /text()') xtab; NAME オラクル太郎 リスト 3-15 XMLTable 関数を使った検索 1 構造化記憶域の XMLType 表や XMLType 列を含んだ表で名前空間を指定する場 合 以下のように記述します SQL> SELECT xtab.name 2 FROM STEP2 s, 3 XMLTable('declare namespace x=" 4 ;for $i in./x: 申込 5 where $i/x: サービス [1]/@CODE eq "G2456" 6 return < 登録者 >{$i/x: 契約者 /text()}</ 登録者 >' 7 PASSING value(s) 8 COLUMNS NAME varchar2(30) PATH '/ 登録者 /text()') xtab; リスト 3-16 XMLTable 関数を使った検索 2 XMLTable 式で同一の名前空間が使用されている場合 以下の記述も可能です SQL> SELECT xtab.name 2 FROM STEP2 s, 3 XMLTable(XMLNAMESPACES(DEFAULT ' 4 'for $i in./ 申込 5 where $i/ サービス [1]/@CODE eq "G2456" 6 return < 登録者 >{$i/ 契約者 /text()}</ 登録者 >' 7 PASSING value(s) 8 COLUMNS NAME varchar2(30) PATH '/ 登録者 /text()') xtab; リスト 3-17 XMLTable 関数を使った検索 3 - Oracle XML DB ファースト ステップ - 29

30 3.3 更新 Oracle XML DB では XML データを付加的に更新する ( 周囲の XML 文書全部を置き換えずに XML データを置換 挿入または削除する ) ために使用できる SQL 関数が実装されています SQL 関数名 updatexml insertchildxml insertxmlbefore appendchildxml deletexml 8 機能任意の種類の XML 要素を置換 XML の要素または属性を 指定された要素の子として挿入任意の種類の XML 要素を 指定された要素 ( 属性以外 ) の直前に挿入任意の種類の XML 要素を 指定された要素の最後の子要素として挿入任意の種類の XML 要素を削除表 3-18 更新用 SQL 関数 表 3-18 の SQL 関数は XML スキーマに基づく XML 文書に対しても XML スキーマに基づかない XML 文書に対しても使用できます Oracle XML DB では XPath 式を利用してシンプルに XML 文書を更新できます 全体更新 全体更新は UPDATE だけで実行します SQL> UPDATE STEP1 2 SET OBJECT_VALUE = XMLTYPE('< 申込 NO="000345"> 全体更新 </ 申込 >') 3 WHERE extractvalue(object_value, '/ 申込 /@NO') = '000123'; リスト 3-19 UPDATE による全体更新の例 < 申込 NO="000345"> 全体更新 </ 申込 > リスト 3-20 更新データ確認 削除の項で説明します - Oracle XML DB ファースト ステップ - 30

31 3.3.2 部分更新 部分更新は UPDATE と表 3-18 にある SQL 関数との組み合わせで実行します updatexml SQL 関数 updatexml は 任意の種類の XML 要素を置換します updatexml を使って " サービス " 要素の内容を 2 つ同時に置換します SQL> UPDATE STEP1 2 SET OBJECT_VALUE = 3 updatexml(object_value, 4 '// サービス [@CODE = "G2456"]/ サービス名 /text()','as 提案サポート ', 5 '// サービス [@CODE = "X4332"]/ サービス名 /text()','rac 提案サポート ') 6 WHERE extractvalue(object_value, '/ 申込 /@NO') = '000123'; リスト 3-21 updatexml 関数の例 <?xml version="1.0" encoding="euc-jp"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >AS 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >RAC 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 3-22 更新データ確認 - Oracle XML DB ファースト ステップ - 31

32 insertchildxml SQL 関数 insertchildxml は 親の XML 要素の下に新しい子 ( 同じ型の 1 つ以上の要素 または単一の属性 ) を挿入します insertchildxml を使って " サービス " 要素の下に新しい子要素として追加の " サービス " 要素を挿入します SQL> UPDATE step1 2 SET OBJECT_VALUE = 3 insertchildxml(object_value, 4 '/ 申込 ', 5 ' サービス ', 6 XMLType('< サービス CODE="G7777"> 7 < サービス名 >Enterprise Manager ラーニング </ サービス名 > 8 < 開始日 > </ 開始日 > 9 < 終了日 > </ 終了日 > 10 </ サービス >')) 11 WHERE existsnode(object_value,'/ 申込 [@NO="000123"]') = 1; リスト 3-23 insertchildxml 関数の例 <?xmlversion ="1.0"encoding="EUC-JP"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="G7777"> < サービス名 >Enterprise Manager ラーニング </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 3-24 更新データ確認 - Oracle XML DB ファースト ステップ - 32

33 insertxmlbefore SQL 関数 insertxmlbefore は 任意の種類の 1 つ以上の要素を 属性以外のターゲット 要素の直前に挿入します insertxmlbefore を使って " 契約日 " 要素の直前に " 期間割引 " 要素を挿入します SQL> UPDATE step1 2 SET OBJECT_VALUE = 3 insertxmlbefore(object_value, 4 '/ 申込 / 契約日 ', 5 XMLType('< 期間割引 > 適用 </ 期間割引 >')) 6 WHERE existsnode(object_value,'/ 申込 [@NO="000123"]') = 1; リスト 3-25 insertxmlbefore 関数の例 <?xmlversion ="1.0"encoding="EUC-JP"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 期間割引 > 適用 </ 期間割引 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 3-26 更新データ確認 - Oracle XML DB ファースト ステップ - 33

34 appendchildxml SQL 関数 appendchildxml は 任意の種類の 1 つ以上のノードを 指定された要素ノードの最後の子として挿入します appendchildxml を使って " サービス " 要素の最後の子要素として " 開催地 " 要素を挿入します SQL> UPDATE step1 2 SET OBJECT_VALUE = 3 appendchildxml(object_value, 4 '/ 申込 / サービス [2]', 5 XMLType('< 開催地 > 渋谷 </ 開催地 >')) 6 WHERE existsnode(object_value,'/ 申込 [@NO="000123"]') = 1; リスト 3-27 appendchildxml 関数の例 <?xmlversion ="1.0"encoding="EUC-JP"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > < 開催地 > 渋谷 </ 開催地 > </ サービス > </ 申込 > リスト 3-28 更新データ確認 - Oracle XML DB ファースト ステップ - 34

35 3.4 削除 Oracle XML DB では 更新処理と同様に XPath 式を利用してシンプルに XML 文書を削除することが可能です 全体削除と部分削除が可能で 全体削除は DELETE 文 部分削除は UPDATE 文で実行します 全体削除 SQL> DELETE FROM STEP1 2 WHERE existsnode(object_value, '/ 申込 [@NO="000123"]') = 1; リスト 3-29 全体削除 部分削除部分削除は updatexml もしくは deletexml で実行します updatexml SQL 関数 updatexml は 任意の種類の XML 要素を置換します 特定の要素を NULL 値に置換することによって要素内容を削除します updatexml を使って " 契約日 " 要素を削除します SQL> UPDATE STEP1 2 SET OBJECT_VALUE = 3 updatexml(object_value, '// 契約日 /text()', null) 4 WHERE extractvalue(object_value, '/ 申込 /@NO') = '000123'; リスト 3-30 部分削除 <?xmlversion ="1.0"encoding="EUC-JP"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 /> < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > < 開催地 > 渋谷 </ 開催地 > </ サービス > </ 申込 > リスト 3-31 削除データ確認 - Oracle XML DB ファースト ステップ - 35

36 deletexml SQL 関数 deletexml は 任意の種類の XML 要素を削除します deletexml を 使って " 契約日 " 要素を削除します SQL> UPDATE STEP1 2 SET OBJECT_VALUE = 3 deletexml(object_value, '// 契約日 ') 4 WHERE extractvalue(object_value, '/ 申込 /@NO') = '000123'; リスト 3-32 deletexml 関数の例 <?xmlversion ="1.0"encoding="EUC-JP"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > " 契約日 " 要素が削除 されました リスト 3-33 削除データ確認 さらにサービスの 1 番目 (CODE="G2456") をまとめて削除したい場合は以下 の SQL を実行します SQL> UPDATE STEP1 2 SET OBJECT_VALUE = 3 deletexml(object_value, '// サービス [1]') 4 WHERE extractvalue(object_value, '/ 申込 /@NO') = '000123'; リスト 3-34 deletexml 関数の例 <?xmlversion ="1.0"encoding="EUC-JP"?> < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > - Oracle XML DB ファースト ステップ - 36

37 </ 申込 > リスト 3-35 削除データ確認 - Oracle XML DB ファースト ステップ - 37

38 3.5 索引の設定 Oracle XML DB では 通常のリレーショナル データと同様に 自動的に索引は設定されないので 必要に応じて CREATE INDEX 文で索引を作成します ここでは構造化記憶域の XMLType 表に B ツリー索引を作成する例を取り上げます 索引は特定の要素 ( 内容や属性 ) に設定するので extractvalue 関数を使います CONTEXT 索引と CTXXPATH 索引は XML 文書全体に対して作成する ので extractvalue 関数による要素の指定は不要です / 申込 /NO 属性に索引を作成する場合 以下のように記述します SQL> CREATE INDEX ix_step2 ON step2 s 2 (extractvalue(value(s), 3 '/ 申込 /@NO','xmlns=" リスト 3-36 索引作成 次に検索実行時に索引が利用されていることを確認するために 実行計画を表 示します 実行計画の表示設定 SQL の実行計画を確認する方法はいくつかありますが ここでは一番シンプル な SQL*Plus の AUTOTRACE 機能を使用します 以下の手順で有効にします SQL> CONNECT SYS/ パスワード as sysdba SQL> GRANT plustrace TO ユーザー名 ; 初回のみ実行 SQL> CONNECT ユーザー名 / パスワード SQL> SET AUTOTRACE ON リスト 3-37 AUTOTRACE 機能を有効にする - Oracle XML DB ファースト ステップ - 38

39 データの検索 要素を特定するために extractvalue 関数を使用します SQL> SELECT extractvalue(value(s), 2 '/ 申込 / 契約者 ','xmlns=" 3 FROM step2 s 4 WHERE extractvalue(value(s), 5 '/ 申込 /@NO','xmlns=" EXTRACTVALUE(VALUE(S),'/ 申込 / 契約者 ','XMLNS=" オラクル太郎 リスト 3-38 XML 文書の検索 問合せの結果に続いて実行計画 (Execution Plan) を確認します Id Operation Name Rows Bytes Cost (%CPU) Time SELECT STATEMENT (0) 00:00:01 * 1 TABLE ACCESS BY INDEX ROWID STEP (0) 00:00:01 * 2 INDEX RANGE SCAN IX_STEP2 1 1 (0) 00:00: リスト 3-39 実行計画 Operation カラムに INDEX RANGE SCAN と表示され Name カラムに作成済み の索引名 IX_STEP2 が表示されていることから 検索実行時に索引を使用してい ることが分かります - Oracle XML DB ファースト ステップ - 39

40 4 XMLType 記憶域別テクニック XMLType 記憶域の特徴を活用して XML 文書を効率よく取り出す方法を学習します 4.1 リレーショナル列の活用非構造化記憶域を使った表で 複数要素の検索パフォーマンスを上げたい場合は XMLType 列を含んだ表で作成し あらかじめ検索要素をリレーショナル列のデータとして格納しておき その列データを検索する方法があります ケース 1: 良くない例 SELECT 句で extract 関数,extractValue 関数を用いて XMLType 表から複数の 要素を取り出す XMLType 表 SELECT extract(value(t), / ), extract(value(t), / ), extract(value(t), / ) FROM PO t WHERE existsnode(value(t), / )=1; 図 4-1 ケース 2: 良い例 XMLType 列を含んだリレーショナル表を用いて あらかじめ取り出すデータをリ レーショナル列に格納しておき SELECT 句で列として取り出す SELECT EMP_ID, S_NAME, XML 解析処理が不要 CU_NO FROM PO t WHERE existsnode(value(t), / )=1; リレーショナル表 図 Oracle XML DB ファースト ステップ - 40

41 extract 関数や extractvalue 関数では 関数を記載した回数分 XML 構造を解析する処理が実行されます これがケース1の良くない例になります 解析処理の回数を減らすことで検索応答時間を短縮することができるので あらかじめ対象要素をリレーショナル列に格納しておき その列に対して検索を行う方法がケース2になります - Oracle XML DB ファースト ステップ - 41

42 4.2 XML 文書全体の取得 Oracle XML DB のメリットは 複雑な構造を持ったデータ群から 特定要素の内容や属性を効率良く取り出せるところにあります 構造化記憶域を選択することで 必要な情報を高速に取り出すことができます しかし XML 文書の一部ではなく XML 文書の全体を取得する場合 (Web サービス連携など ) では非構造化記憶域を使用した XMLType 表や XMLType 列を含んだ表を選択します SELECT extract(value(t), / ), extract(value(t), / ),.. extract(value(t), / ) FROM PO t WHERE existsnode(value(t), / )=1; リスト 4-3 一部の取得 SELECT value(t).getclobval() FROM PO t WHERE existsnode(value(t), / )=1; リスト 4-4 全体の取得 構造化記憶域の表では 抽出した SQL オブジェクトを XML ツリーに再構築する際に共有メモリー内にキャッシュされている XML スキーマ情報と照らし合わせて処理をするため 抽出する要素が非常に多い場合 処理時間が長くなります これに対し 非構造化記憶域の表では CLOB 値として抽出した後の XML ツリーの再構築処理が省かれる分 高速に処理できます このように構造化記憶域にも苦手なケースがあるので 状況に応じて非構造化記憶域の利用を検討します キャッシュ XML Schema ^^^^^^^^^^ XMLType 表 ^^^^^^^ ^^^^^^^ Oracle XML DB XML 文書 図 4-5 要素全体取得時の XML ツリー再構築 - Oracle XML DB ファースト ステップ - 42

43 4.3 スキーマ注釈の利用 Oracle XML DBでは XMLスキーマの登録処理によって生成されるオブジェクトおよび表に影響を与える機能を提供しています ここではスキーマ注釈メカニズム 9 を使用してコレクションを高速に検索できるように設計します スキーマ注釈を使用すると 次のものをオーバーライドできます 表 SQL オブジェクトおよび SQL 属性のネーミング コレクションの管理方法 XML スキーマのデータ型と SQL のデータ型間のマッピング ここで使用するスキーマ注釈は以下です 注釈名 defaulttable SQLInline 機能 XML 文書を格納する表の名前を設定します true: 埋込み属性 (maxoccurs > 1 の場合はコレクション ) として表内に格納されます false:ref 値 (maxoccurs>1 の場合は REF 値のコレクション ) として表内に格納されます 表 4-6 スキーマ注釈抜粋 スキーマ注釈を記述した XML スキーマを登録します SQL> DECLARE 2 doc clob := '<xsd:schema 3 xmlns:xsd=" 4 xmlns:kd=" 5 xmlns:xdb=" 6 targetnamespace=" 7 elementformdefault="qualified"> 8 <xsd:element name=" 申込 " type="kd: 契約タイプ " /> 9 <xsd:complextype name=" 契約タイプ "> 10 <xsd:sequence> 11 <xsd:element name=" 契約者 " type="xsd:string"/> 12 <xsd:element name=" 契約日 " type="xsd:date"/> 13 <xsd:element name=" サービス " type="kd: サービスタイプ " 9 Oracle XML DB 独自に定義される名前空間 を利用して XML Schema で宣言される complextype element および attribute の定義に特別な属性を追加できます - Oracle XML DB ファースト ステップ - 43

44 14 maxoccurs="unbounded" xdb:sqlinline="false" 15 xdb:defaulttable="service_lines"/> 16 </xsd:sequence> 17 <xsd:attribute name="no" type="xsd:string"/> 18 </xsd:complextype> 19 <xsd:complextype name=" サービスタイプ "> 20 <xsd:sequence> 21 <xsd:element name=" サービス名 " type="xsd:string"/> 22 <xsd:element name=" 開始日 " type="xsd:date"/> 23 <xsd:element name=" 終了日 " type="xsd:date"/> 24 </xsd:sequence> 25 <xsd:attribute name="code" type="xsd:string"/> 26 </xsd:complextype> 27 </xsd:schema>'; 28 BEGIN 29 dbms_xmlschema.registerschema( 30 schemaurl => ' 31 schemadoc => doc, 32 gentypes => true, 33 gentables => true); 34 END; 35 / リスト 4-7 XML スキーマの登録スクリプト XML スキーマ定義でスキーマ注釈の xdb:sqlinline="false" と xdb:defaulttable="service_lines" を記述します 次に DBMS_XMLSCHEMA.REGISTERSCHEMA プロシージャの引数で gentables => true を指定して XML スキーマを Oracle XML DB に登録することにより コレクションを外部 XMLType 表 SERVICE_LINES に作成できます 表の作成 XMLType 表も XMLType 列を含んだ表も XML スキーマ登録時に作成された 外部の XMLType 表 SERVICE_LINES を使用できます XMLType 表の場合 SQL> CREATE TABLE STEP3 OF XMLType 2 XMLSCHEMA " 3 ELEMENT " 申込 "; リスト 4-8 XMLType 列を含んだ表の場合 SQL> CREATE TABLE STEP3b 2 (id NUMBER, 3 xml XMLType) 4 XMLTYPE COLUMN xml 5 XMLSCHEMA " - Oracle XML DB ファースト ステップ - 44

45 6 ELEMENT " 申込 "; リスト 4-9 XML 文書の登録 XMLType 表の場合 SQL> INSERT INTO step3 2 VALUES(XMLTYPE('<?xml version="1.0" encoding="euc-jp"?> 3 < 申込 xmlns=" 4 xmlns:xsi=" 5 xsi:schemalocation=" 6 NO="000123"> 7 < 契約者 > オラクル太郎 </ 契約者 > 8 < 契約日 > </ 契約日 > 9 < サービス CODE="G2456"> 10 < サービス名 >Grid 提案サポート </ サービス名 > 11 < 開始日 > </ 開始日 > 12 < 終了日 > </ 終了日 > 13 </ サービス > 14 < サービス CODE="X4332"> 15 < サービス名 >XMLDB サポート </ サービス名 > 16 < 開始日 > </ 開始日 > 17 < 終了日 > </ 終了日 > 18 </ サービス > 19 </ 申込 >')); リスト 4-10 XMLType 列を含んだ表の場合 SQL> INSERT INTO step3b 2 VALUES(1,XMLTYPE('<?xml version="1.0" encoding="euc-jp"?> 3 < 申込 xmlns=" 4 xmlns:xsi=" 5 xsi:schemalocation=" NO="000123"> 8 < 契約者 > オラクル太郎 </ 契約者 > 9 < 契約日 > </ 契約日 > 10 < サービス CODE="G2456"> 11 < サービス名 >Grid 提案サポート </ サービス名 > 12 < 開始日 > </ 開始日 > 13 < 終了日 > </ 終了日 > 14 </ サービス > 15 < サービス CODE="X4332"> 16 < サービス名 >XMLDB サポート </ サービス名 > 17 < 開始日 > </ 開始日 > - Oracle XML DB ファースト ステップ - 45

46 18 < 終了日 > </ 終了日 > 19 </ サービス > 20 </ 申込 >')); リスト 4-11 XML 文書の確認 XMLType 表の場合 SQL> SELECT object_value FROM step3; SYS_NC_ROWINFO$ <?xml version="1.0" encoding="euc-jp"?> < 申込 xmlns=" xmlns:xsi= xsi:schemalocation=" NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 4-12 SERVICE_LINES 表の内容 コレクションの確認 SQL> SELECT object_value FROM SERVICE_LINES; SYS_NC_ROWINFO$ <?xml version="1.0" encoding="euc-jp"?> < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > <?xml version="1.0" encoding="euc-jp"?> < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > - Oracle XML DB ファースト ステップ - 46

47 < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > リスト 4-13 XMLType 列を含んだ表の場合 SQL> SELECT xml FROM step3b; XML <?xml version="1.0" encoding="euc-jp"?> < 申込 xmlns=" xmlns:xsi=" xsi:schemalocation=" NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > </ 申込 > リスト 4-14 SERVICE_LINES 表の内容 コレクションの確認 SQL> SELECT object_value FROM SERVICE_LINES; SYS_NC_ROWINFO$ <?xml version="1.0" encoding="euc-jp"?> < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > <?xml version="1.0" encoding="euc-jp"?> < サービス CODE="X4332"> < サービス名 >XMLDB サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > - Oracle XML DB ファースト ステップ - 47

48 </ サービス > リスト 4-15 例えば / 申込 / サービス / サービス名 に索引を設定する場合 XMLType 表 SERVICE_LINES に対して以下の索引を作成します B ツリー索引作成 XMLType 表 XMLType 列を含んだ表の場合 SQL> CREATE INDEX ix_sname ON SERVICE_LINES s 2 (extractvalue(value(s),'/ サービス / サービス名 ', 3 'xmlns=" リスト 4-16 B ツリー索引作成 検索結果と実行計画の確認 以下のコレクションに対する問合せを実行し 実行計画より索引 ix_sname が使 われていることを確認してください XMLType 表の場合 SQL> SELECT extractvalue(value(t),'/ サービス / サービス名 ', 2 'xmlns=" 3 FROM step3 s, table(xmlsequence(extract(value(s), 4 '/ 申込 / サービス ','xmlns=" t 5 WHERE extractvalue(value(t), '/ サービス / サービス名 ', 6 'xmlns=" サポート '; リスト 4-17 索引を利用した問合せ Id Operation Name Rows Bytes Cost (%CPU) Time SELECT STATEMENT (0) 00:00:01 1 NESTED LOOPS (0) 00:00:01 2 MERGE JOIN CARTESIAN (0) 00:00:01 3 TABLE ACCESS FULL STEP (0) 00:00:01 4 BUFFER SORT (0) 00:00:01 * 5 TABLE ACCESS BY INDEX ROWID SERVICE_LINES (0) 00:00:01 * 6 INDEX RANGE SCAN IX_SNAME 1 0 (0) 00:00:01 * 7 COLLECTION ITERATOR PICKLER FETCH リスト 4-18 実行計画 - Oracle XML DB ファースト ステップ - 48

49 XMLType 列を含んだ表の場合 SQL> select extractvalue(value(t),'/ サービス / サービス名 ', 2 'xmlns=" 3 from step3b, table(xmlsequence(extract(xml, 4 '/ 申込 / サービス ','xmlns=" t 5 where extractvalue(value(t), '/ サービス / サービス名 ', 6 'xmlns=" サポート '; リスト 4-19 索引を利用した問合せ Id Operation Name Rows Bytes Cost (%CPU) Time SELECT STATEMENT (0) 00:00:01 1 NESTED LOOPS (0) 00:00:01 2 MERGE JOIN CARTESIAN (0) 00:00:01 3 TABLE ACCESS FULL STEP (0) 00:00:01 4 BUFFER SORT (0) 00:00:01 * 5 TABLE ACCESS BY INDEX ROWID SERVICE_LINES (0) 00:00:01 * 6 INDEX RANGE SCAN IX_SNAME 1 0 (0) 00:00:01 * 7 COLLECTION ITERATOR PICKLER FETCH リスト 4-20 実行計画 - Oracle XML DB ファースト ステップ - 49

50 4.4 XPath リライト XMLType データが構造化記憶域に格納されていて XPath を使用する問合せが実行されたとき これらの問合せが基礎となるオブジェクト リレーショナル列に直接リライトされることがあります この内部処理を XPath リライトといいます この XPath リライトが有効になる XPath 式の詳細はマニュアル Oracle XML DB 開発者ガイド を参照してください 例えば 次のような問合せでは Company 要素の内容の取得と文字列 Oracle との比較が試行されます SQL> SELECT OBJECT_VALUE FROM po p 2 WHERE extractvalue(object_value, 3 '/PurchaseOrder/Company') = 'Oracle'; XPath 式をリレーショナル列に XPath リライト SELECT VALUE(p) FROM po p WHERE p.xmldata.company = 'Oracle'; リスト 4-12 XPath リライトの例 XMLType 表 po は XML スキーマに基づく構造化記憶域で作成されているため extractvalue 関数はリレーショナル列にリライトされます XPath リライト後の xmldata は XMLType 擬似属性と言われるもので 基礎となるオブジェクト列への直接アクセスを可能にします - Oracle XML DB ファースト ステップ - 50

51 XPath リライトは 問合せ DML または DDL 文のいずれかの式に以下の SQL 関数が使われた場合に有効になります SQL 関数 extract extractvalue existsnode updatexml deletexml insertchildxml XMLSequence 機能 XPath 式によって識別された XML 文書から要素または要素の集合を抽出するスカラー値 (NUMBER VARCHAR2 など ) のみを戻す XML 要素または複合的な文書を戻せない指定された XPath 解析が少なくとも 1 つの XML 要素または要素内容を参照しているかどうかを調べる参照している場合 この関数は 1 を戻す参照していない場合は 0( ゼロ ) を戻す任意の種類の XML 要素を置換する任意の種類の XML 要素を削除する親の XML 要素の下に新しい子 ( 同じ型の 1 つ以上の要素 または単一の属性 ) を挿入するコレクションを戻す XML フラグメントを複数行に分割するときに使用する リスト 4-13 XPath リライトに対応している SQL 関数一覧 XPath リライトの診断 XPath リライトが実行されたかどうかを判断する方法は 2 つあります 1. 実行計画 (EXPLAIN PLAN) の使用 2. イベントの使用 1. 実行計画 (EXPLAIN PLAN) の使用 実行計画を表示させて 作成済みの索引が使われていれば XPath リライト されています PLAN_TABLE_OUTPUT Id Operation Name Rows Bytes Cost SELECT STATEMENT 1 TABLE ACCESS BY INDEX ROWID MYPURCHASEORDERS * 2 INDEX RANGE SCAN COMPANY_INDEX リスト 4-14 索引が利用された実行計画例 - Oracle XML DB ファースト ステップ - 51

52 2. イベントの使用初期化パラメータ ファイルやALTER SESSION 文でXMLイベントを設定します これは機能上の評価 10 やXPathリライト メカニズムを無効にできるので エラー メッセージよりリライトが有効になったかどうかを判断できます SQL> ALTER SESSION SET EVENTS '19021 trace name context forever, level 1'; リスト 4-15 すべての XML 演算子の評価を無効にするイベント SQL 実行後に以下のエラー メッセージが表示された場合 XPath リライトが無効であると判断します ERROR: ORA-19022: XML XPath 機能は使用できません リスト 4-16 エラー メッセージ Oracle Database の進化とともに XPath リライトも強化され 多くの XPath 式に対応してきました XPath リライトを最大限に利用するためにも 可能な限り最新バージョンの Oracle Database の導入を検討してください 10 XMLType データに対して DOM ベースの操作を使用する処理のこと - Oracle XML DB ファースト ステップ - 52

53 4.5 半構造化記憶域 ( ハイブリッド記憶域 ) 構造化記憶域は部分更新や検索パフォーマンスの点で優れていますが XML スキーマを設計する際に XML ツリー構造をあらかじめ決めておく必要があります しかし 時間的な制約や アプリケーションの仕様変更等により どうしても構造を決められない要素を含んだ XML 文書を使用しなくてはならないケースがあります 解決法の1つは XML スキーマを必要としない非構造化記憶域を使用する方法ですが 構造が確定している要素の検索パフォーマンスまで劣化させてしまうので効率的ではありません 双方のメリットを活かすために Oracle XML DB では半構造化記憶域を選択することが可能です 以下の例で説明します < 申込 NO="000123"> < 契約者 > オラクル太郎 </ 契約者 > < 契約日 > </ 契約日 > <XXX> 不定形 </XXX> </ 申込 > どのような XML ツリー構造になるかが不明! この先も決まりそうにない!! この部分だけ非構造化記憶域を使う リスト 4-17 契約データの例 ここでは / 申込 要素内の 契約者 と 契約日 は構造化記憶域に それ以降の要素以下を非構造化記憶域で作成する例で説明します SQL> DECLARE 2 doc clob := '<xsd:schema 3 xmlns:xsd=" 4 xmlns:kd=" 5 xmlns:xdb=" 6 targetnamespace=" 7 elementformdefault="qualified"> 8 <xsd:complextype name=" 契約タイプ "> 9 <xsd:sequence> 10 <xsd:element name=" 契約者 " type="xsd:string"/> 11 <xsd:element name=" 契約日 " type="xsd:date"/> 12 <xsd:any processcontents="skip" 13 xdb:sqltype="clob" maxoccurs="unbounded" /> 14 </xsd:sequence> 15 <xsd:attribute name="no" type="xsd:string"/> 16 </xsd:complextype> 17 <xsd:element name=" 申込 " type="kd: 契約タイプ "/> xsd:any を使って任意要素指定を可能にします processcontents で skip 値を指定することにより 要素に対する検証機能を OFF にします - Oracle XML DB ファースト ステップ - 53

54 18 </xsd:schema>'; 19 BEGIN 20 dbms_xmlschema.registerschema( 21 schemaurl => ' 22 schemadoc => doc, 23 gentypes => true, 24 gentables => false); 25 END; 26 / リスト 4-18 XML スキーマの登録 SQL> CREATE TABLE step4 OF XMLTYPE 2 XMLSchema " 3 ELEMENT " 申込 "; リスト 4-19 XML スキーマに基づいた XMLType 表の作成 リスト のように / 申込 / 契約日 の次に来る要素の中身が検証されなくなるので 整形式を保っていれば自由な構造で入力することが可能です この部分に対しては完全に非構造化記憶域の扱いになるので 検索を高速化させるために適切な索引を使用する必要があります SQL> INSERT INTO step4 2 VALUES(XmlType('<?xml version="1.0" encoding="euc-jp"?> 3 < 申込 xmlns=" 4 xmlns:xsi=" 5 xsi:schemalocation=" 6 NO="000123"> 7 < 契約者 > オラクル太郎 </ 契約者 > 8 < 契約日 > </ 契約日 > 9 < サービス CODE="G2456"> 10 < サービス名 >Grid 提案サポート </ サービス名 > 11 < 開始日 > </ 開始日 > 12 < 終了日 > </ 終了日 > 13 </ サービス > 14 </ 申込 >')); リスト 4-20 XML 文書の挿入 1 SQL> INSERT INTO step4 2 VALUES(XMLTYPE('<?xml version="1.0" encoding="euc-jp"?> 3 < 申込 xmlns=" 4 xmlns:xsi=" 5 xsi:schemalocation=" NO="000223"> 8 < 契約者 > オラクル太郎 </ 契約者 > 9 < 契約日 > </ 契約日 > 10 < 社外セミナー > - Oracle XML DB ファースト ステップ - 54

55 11 < コース名 >XML DB 技術セミナー </ コース名 > 12 < 担当者リスト > 13 < 現場責任 > 山田一郎 </ 現場責任 > 14 < 講師 > 中田英俊 </ 講師 > 15 </ 担当者リスト > 16 < 場所 > 東京都千代田区 GG 21 階 </ 場所 > 17 < メモ > ノート PC 必須 18 オラクルクライアントがインストール済みであること </ メモ > 19 </ 社外セミナー > 20 </ 申込 >')); リスト 4-21 XML 文書の挿入 2 半構造化記憶域の使用により / 申込 / 契約日 以下の要素が変化しても受け入れ 可能になっていることを確認できます 下記の XML フラグメント1 2は XML ツリー構造が全く異なりますが XML スキーマで該当する要素の型を SQLType= CLOB で設定してあるので 入力される XML フラグメントが整形式である以上 どんな構造でも登録が許されます < サービス CODE="G2456"> < サービス名 >Grid 提案サポート </ サービス名 > < 開始日 > </ 開始日 > < 終了日 > </ 終了日 > </ サービス > リスト 4-22 XML フラグメント 1 < 社外セミナー > < コース名 >XML DB 技術セミナー </ コース名 > < 担当者リスト > < 現場責任 > 山田一郎 </ 現場責任 > < 講師 > 中田英俊 </ 講師 > </ 担当者リスト > < 場所 > 東京都千代田区 GG 21 階 </ 場所 > < メモ > ノート PC 必須 オラクルクライアントインストール済みであること </ メモ > </ 社外セミナー > リスト 4-23 XML フラグメント 2 例として XML フラグメント 2 を検索条件にした XML 文書の検索を実行しま - Oracle XML DB ファースト ステップ - 55

56 す SQL> SELECT extractvalue(value(s),'/ 申込 2 'xmlns=" Result 3 FROM step4 s 4 WHERE extractvalue(value(s), 5 '/ 申込 / 社外セミナー / 担当者リスト / 現場責任 ', 6 'xmlns=" 山田一郎 '; RESULT リスト 4-24 内容の検索 半構造化データ要素の属性に対する検索が実行できました - Oracle XML DB ファースト ステップ - 56

57 5 ビューの作成 Oracle XML DB では リレーショナル データを XML 形式で見せたり その逆の操 作をシンプルに行うことができます 5.1 XMLType ビュー XMLTypeビューを作成することにより 既存のリレーショナル データをXML 形式で見せることができます XMLTypeビューはSQL/XML 関数 11 を用いて作成します 例として SCOTT ユーザーの EMP 表を XML 形式で見せるためのビューを作成します SQL> CREATE OR REPLACE VIEW emp_view OF XMLType 2 WITH OBJECT ID 3 (extract(object_value, '/Emp/@empno').getnumberval()) 4 AS SELECT XMLElement("Emp", 5 XMLAttributes(empno), 6 XMLForest(e.ename AS "name", 7 e.hiredate AS "hiredate", 8 e.sal AS "sal")) 9 FROM scott.emp e 10 WHERE sal < 1000; リスト 5-1 XMLType ビューの作成 データ内の empno 属性は 各行に一意の識別子として使用されます XPath リ ライトの結果 /Emp/@empno の XPath 問合せは emp 表の empno 列を直接参 照できるようになります SQL> SELECT * FROM emp_view; SYS_NC_ROWINFO$ <Emp EMPNO="7369"> <name>smith</name> <hiredate> </hiredate> </Emp> <Emp EMPNO="7900"> <name>james</name> <hiredate> </hiredate> 11 リレーショナル データから XML 文書を生成する規格です ISO/IEC :2006 Information technology - Database languages - SQL - Part 14: XML- RelateSpecifications (SQL/XML) に準拠しています - Oracle XML DB ファースト ステップ - 57

58 </Emp> リスト 5-2 XMLType ビューの確認 XMLType ビューの DML 操作作成された XMLType ビューに対してトリガー (INSTEAD-OF トリガー ) を設定することで DML 操作が可能になります 先ほど作成した emp_view ビューを DML 操作が可能な XMLType ビューに変更します SQL> CREATE OR REPLACE TRIGGER trg_emp_view 2 INSTEAD OF INSERT OR UPDATE OR DELETE 3 ON scott.emp_view FOR EACH ROW 4 DECLARE 5 new_emp sys.xmltype := NULL; 6 old_emp sys.xmltype := NULL; 7 BEGIN 8 new_emp := :new.object_value; 9 old_emp := :old.object_value; 10 IF inserting THEN 11 INSERT INTO emp(empno, ename, hiredate, sal) 12 VALUES(extractValue(new_emp, '/Emp/@EMPNO'), 13 extractvalue(new_emp, '/Emp/name'), 14 extractvalue(new_emp, '/Emp/hiredate'), 15 extractvalue(new_emp, '/Emp/sal')); 16 ELSIF updating THEN 17 UPDATE emp SET 18 empno = extractvalue(new_emp,'/emp/@empno'), 19 ename = extractvalue(new_emp, '/Emp/name'), 20 hiredate = extractvalue(new_emp, '/Emp/hiredate'), 21 sal = extractvalue(new_emp, '/Emp/sal') 22 WHERE empno = extractvalue(old_emp, '/Emp/@EMPNO'); 23 ELSIF deleting THEN 24 DELETE FROM emp 25 WHERE empno = extractvalue(old_emp, '/Emp/@EMPNO'); 26 END IF; 27 END; 28 / リスト 5-3 INSTEAD-OF トリガーの例 作成した emp_view ビューに対して XML 文書を登録します ここでは 日付データの入力フォーマットを統一するため nls_date_format を以 下のように設定すると良いでしょう SQL> ALTER SESSION SET nls_date_format='yyyy-mm-dd'; SQL> INSERT INTO emp_view 2 values(xmltype('<emp EMPNO="9999"> 3 <name>yamada</name> - Oracle XML DB ファースト ステップ - 58

59 4 <hiredate> </hiredate> 5 <sal>600</sal> 6 </Emp>')); リスト 5-4 ビューに対して XML 文書を登録 登録した XML 文書を確認します SQL> SELECT * FROM emp_view 2 WHERE extractvalue(object_value,'/emp/@empno')='9999'; SYS_NC_ROWINFO$ <Emp EMPNO="9999"> <name>yamada</name> <hiredate> </hiredate> <sal>600</sal> </Emp> リスト 5-5 XML 文書の確認 (emp_view) トリガーにより ビューの参照元となる emp 表にもレコードが登録されたこと を確認します SQL> SELECT empno, ename, hiredate, sal 2 FROM emp WHERE empno='9999'; EMPNO ENAME HIREDATE SAL YAMADA リスト 5-6 データの確認 (emp) emp_view ビューに対して UPDATE 操作をします 要素に対する部分更新が可 能であることに注目してください SQL> UPDATE emp_view 2 SET object_value = 3 updatexml(object_value,'/emp/hiredate/text()',' ') 4 WHERE existsnode(object_value,'/emp[@empno="9999"]') = 1; リスト 5-7 ビューに対して XML 文書を更新 トリガーにより ビューの参照元となる emp 表のレコードが更新されたことを 確認します SQL> SELECT empno, ename, hiredate, sal - Oracle XML DB ファースト ステップ - 59

60 2 FROM emp WHERE empno='9999'; EMPNO ENAME HIREDATE SAL YAMADA リスト 5-8 データの確認 (emp) 同様に emp_view ビューに対して DELETE 操作をします 元の表から XML 文 書が削除されていることを確認してください SQL> DELETE FROM emp_view 2 WHERE existsnode(object_value,'/emp[@empno="9999"]') = 1; リスト 5-9 ビューに対して XML 文書を削除 SQL> SELECT empno, ename, hiredate, sal 2 FROM emp WHERE empno='9999'; レコードが選択されませんでした リスト 5-10 データの確認 (emp) - Oracle XML DB ファースト ステップ - 60

_02_3.ppt

_02_3.ppt XML DB Oracle Corporation Agenda RDB XML SQL/XML XML DB XML Oracle Corporation 2 Agenda RDB XML SQL/XML XML DB XML Oracle Corporation 3 RDB-XML RDB XML Oracle Corporation 4 XML RDB [Oracle] Extract ExtractValue

More information

スライド 1

スライド 1 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 チェック制約

More information

20050314_02-4.ppt

20050314_02-4.ppt Oracle Database 10g Oracle XML DB 2005 3 14 1 Agenda Oracle XML DB XML SQL Oracle Database 10g Release 2 Copyright Oracle Corporation, 2005 All right reserved. 2 XML Oracle Database 10g Release 2 Oracle

More information

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部 はじめに コース概要と目的 Oracle 独自の手続き型言語である PL/SQL について説明します PL/SQL の基本構文 ストアド サブプログラム トリガーの作成方法 またストアド サブプログラムの管理について習得することを目的としています 受講対象者 これから PL/SQL を使用してアプリケーション開発をされる方 前提条件 SQL トレーニング コースを受講された方 もしくは 同等の知識をお持ちの方

More information

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 SQL トレーニング データベース アーキテクチャ コースを受講された方 もしくは同等の知識をお持ちの

More information

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント はじめに コース概要と目的 Oracle をより効率的に使用するための SQL チューニング方法を説明します また 索引の有無 SQL の記述方 法がパフォーマンスにどのように影響するのかを実習を通して習得します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 SQL トレーニング データベース アーキテクチャ コースを受講された方 もしくは同等の知識をお持 ちの方 テキスト内の記述について

More information

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター はじめに コース概要と目的 データベース処理に使用する SQL の基本構文と使用方法について説明します 受講対象者 SQL を使用してアプリケーション開発される方 管理者となられる方 前提条件 Oracle 概要 コースを受講された方 もしくは同等の知識をお持ちの方 テキスト内の記述について 構文 [ ] 省略可能 { A B } A または B のどちらかを選択 n _ 数値の指定 デフォルト値

More information

Microsoft PowerPoint - 3-Forms-Others.ppt

Microsoft PowerPoint - 3-Forms-Others.ppt 3 Form Builder その他の新機能 Oracle Developer R6.0 新機能 3-1 CONTENTS PL/SQL8 サポート 項目の色 フォントの直接設定 階層ツリー コントロール 戻り値を含む DML 実行時の動作 Forms でのパスワード管理 3-2 ここでは 2 章で触れなかった Form Builder のその他の新機能に付いて紹介します Oracle Developer

More information

はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹

はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹 はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹介することを目的としているため 細かな構文やオプションの習得を目的とはしていないことを 予めご了承ください

More information

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行 はじめに コース概要と目的 SQL での作業の幅を広げるための応用的なテクニックをご説明します また 効率性の向上や正しい結果を得 るための記述方法など 実践的な記述方法についても併せてご説明します 本コースは SQL の応用的な記述テクニックとしてどのようなものがあるかを 1 日で広く浅くご理解いた だくことを目的としたコースです 細かな構文やオプションの習得は目的としておりませんことをご了承 ください

More information

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

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作 Access 2007 と SQL Server Express を使用 SQL 文は SQL Server 主体で解説 Access 版ノースウィンドウデータベースを使用 DBMS プログラム サーバーエクスプローラ SQL 文 実行結果 データベース エンジン データベース SQL 文とは 1 度のコマンドで必要なデータを効率よく取得するための技術といえます

More information

PowerPoint Presentation

PowerPoint Presentation Webデザイン特別プログラムデータベース実習編 3 MySQL 演習, phpmyadmin 静岡理工科大学総合情報学部幸谷智紀 http://na-inet.jp/ RDB の基礎の基礎 RDB(Relational DataBase) はデータを集合として扱う データの取り扱いはテーブル (= 集合 ) の演算 ( 和集合, 積集合 ) と同じ データベースには複数のテーブルを作ることができる

More information

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle

More information

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データベース入門者の方 前提条件 コンピュータの基本操作 ( マウス操作やキーボード操作 ) と基本用語 (

More information

DumpCollection IT Exam Training online / Bootcamp PDF and Testing Engine, study and practice

DumpCollection IT Exam Training online / Bootcamp   PDF and Testing Engine, study and practice DumpCollection IT Exam Training online / Bootcamp http://www.dumpcollection.com PDF and Testing Engine, study and practice Exam : 1z0-144 日本語 (JPN) Title : Oracle Database 11g: Program with PL/SQL Vendor

More information

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助として 是非お役立てください ご利用上の注意事項は最後のページにまとめられております ご確認のうえ ご利用ください

More information

標準化 補足資料

標準化 補足資料 高度専門データベース技術 SQL99 補足資料 ( 株 ) アイテック情報技術教育研究部 2012 年 2 月 14 日 ( はじめに ) この補足資料は,SQL99(ISO/IEC9075-2,JIS X3005-2) の必須機能 (Core SQL) のうち, SQL92に対し機能拡張が行われた部分で, 高度専門データベース技術 ( 以下, DB 技術 という ) に記載のないものについて記述する

More information

XML基礎

XML基礎 基礎から学ぶ XML 特集 - 基本の基本! XML と文法 - インフォテリア株式会社 XML とは XML 1.0 W3Cの勧告 XML 1.1 XML 文書 HTMLとXML XML(Extensible Markup Language) 1.0 拡張可能なマークアップ言語 1998 年にW3Cから勧告された XML 1.0 ベンダーやプラットフォームから独立したインターネット標準 http://www.w3.org/tr/xml/

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information

XML Consortium & XML Consortium 1 XML Consortium XML Consortium 2

XML Consortium & XML Consortium 1 XML Consortium XML Consortium 2 & 1 2 TCO DB2 DB2 UDB DB DB V8.2 V8.2 DB2 DB2 UDB V8.1 V8.1 DB2 9 3 CLOB XML XML DB2 9 purexml XML XML DOC XML DOC XML DOC XML DOC VARCHAR/CLOB XML ( ) 4 XML & XML ( & ) DB2 XML SQL/XML DB2 DB2 : DB2 /

More information

untitled

untitled Oracle Direct Seminar SQL Agenda SQL SQL SQL SQL 11g SQL FAQ Oracle Direct SQL Server MySQL PostgreSQL Access Application Server Oracle Database Oracle Developer/2000 Web Oracle Database

More information

PA4

PA4 SQL チューニングによる 性能改善の効果とポイント 株式会社アクアシステムズ PPA4003J-00-00 株式会社アクアシステムズ Oracle データベースを専門とする技術者集団 Oracle チューニング & 監視ツール Performance Analyzer の開発 / 販売 Oracle 診断及びパフォーマンスチューニング Oracle データベースに関するコンサルティング Oracle

More information

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

KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ <HTML> <HEAD> <TITLE>show_book</TITLE> </HEAD> <BODY> <DI KeyWeb Creator R3.0 Beta 日本オラクル株式会社システム製品マーケティング部 1 KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ show_book

More information

今さら聞けない!? Oracle入門 ~後編~

今さら聞けない!? Oracle入門 ~後編~ Oracle Direct Seminar 今さら聞けない!? Oracle 入門 ~ 後編 ~ 日本オラクル株式会社 Agenda 1. Oracle の基本動作 2. Oracle のファイル群 3. Oracle のプロセス群と専用メモリ領域. データベース内部動作 今さら聞けない!? オラクル入門 ~ 後編 ~. データベース内部動作 検索時の動作更新時の動作バックアップについて

More information

Oracle SQL Developer Data Modeler

Oracle SQL Developer Data Modeler Oracle SQL Developer Data Modeler テクニカル レビュー - 2009 年 6 月 アジェンダ テクニカル レビューおよび機能レビュー 開発者の生産性に重点 Oracle SQL Developer Data Modeler の概要 対象 テクノロジー 機能のレビュー パッケージの更新 Oracle SQL Developer

More information

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 yamamoto@sraoss.co.jp Sylph-Searcher とは Sylpheed 向け電子メール全文検索アプリケーション PostgreSQL 8.2の全文検索機能を利用 Linux/Unix Windows 2000

More information

プレポスト【問題】

プレポスト【問題】 1/5 ページ プレポスト データベース基礎 受講日程受講番号氏名 1 データベースの特徴で間違っているものを選びなさい 1. データの一元管理が可能 2. データの重複が少ない 3. プログラムとの関係が1 対 1 4. データの整合性の確保 2 ANSI/SPARC による 3 層スキーマについて正しいものを選びなさい 1. 外部スキーマ : プログラムに必要な部分のデータ構造を定義概念スキーマ

More information

データベースアクセス

データベースアクセス データベースアクセスコンポーネント 1. 概要 データベースアクセスコンポーネントとは SQL データベースにアクセスして SQL 文を実行することによりデータベース検索を行う機能を提供するコンポーネントです また データベースアクセスコンポーネントでは データベースの構成情報 接続情報 エラー情報等を取得することも可能です データベースアクセスコンポーネントは アプリケーションビルダーのメニューから以下のように選びます

More information

Oracle Database 11g XML DBの技術概要

Oracle Database 11g XML DBの技術概要 Oracle Database 11g XML DB の技術概要 Oracle ホワイト ペーパー 2007 年 5 月 ご注意 本書は オラクルの一般的な製品の方向性を示すことが目的です また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 下記の事項は マテリアルやコード 機能の提供を確約するものではなく また 購買を決定する際の判断材料とはなりえません オラクルの製品に関して記載されている機能の開発

More information

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt 開発編第 5 章補足 DB2 組み込み SQL 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は

More information

PowerPoint Presentation

PowerPoint Presentation MySQL Workbench を使ったデータベース開発 日本オラクル株式会社山崎由章 / MySQL Senior Sales Consultant, Asia Pacific and Japan 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです

More information

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G 注 : 本書は情報提供のみを目的としています 下記の事項は マテリアルやコード 機能の提供を確約するものではなく また 購買を決定する際の判断材料とはなりえません 本書に記載されている機能の開発 リリースおよび時期については 弊社の裁量により決定いたします ORACLE TUNING PACK 11G 主な機能 SQL Tuning Advisor Automatic SQL Tuning Advisor

More information

Microsoft Word - J-jdev_dba_db_developers.doc

Microsoft Word - J-jdev_dba_db_developers.doc Oracle JDeveloper 2006 1 : Oracle Oracle JDeveloper 2 Oracle JDeveloper :... 2... 4... 4... 4... 5... 6 SQL... 7... 8... 8 SQL... 10 PL/SQL... 11 PL/SQL... 11 Code Editor PL/SQL... 12 Navigator Structure...

More information

橡実践Oracle Objects for OLE

橡実践Oracle Objects for OLE THE Database FOR Network Computing 2 1. 2 1-1. PL/SQL 2 1-2. 9 1-3. PL/SQL 11 2. 14 3. 16 3-1. NUMBER 16 3-2. CHAR/VARCHAR2 18 3-3. DATE 18 4. 23 4-1. 23 4-2. / 24 26 1. COPYTOCLIPBOARD 26 III. 28 1.

More information

问题集 ITEXAMPASS 1 年で無料進級することに提供する

问题集 ITEXAMPASS   1 年で無料進級することに提供する 问题集 ITEXAMPASS https://www.itexampass.jp 1 年で無料進級することに提供する Exam : 70-762 Title : Developing SQL Databases Version : DEMO 1 / 10 1. ドラッグドロップ注 : この質問は 同じシナリオを使用する一連の質問の一部です あなたの便宜のために シナリオは各質問で繰り返されます 各質問は異なる目標と答えの選択を提示しますが

More information

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート Building Dynamic Actions in Oracle Application Express 4.0 動的アクション (Dynamic Actions) Copyright(c) 2010, Oracle. All rights reserved. Copyright(c) 2010, Oracle. All rights reserved. 2 / 44 Building Dynamic

More information

V-CUBE One

V-CUBE One V-CUBE One コンテンツ配信機能システム管理マニュアル ブイキューブ 2016/12/22 この文書は V-CUBE One コンテンツ配信機能のシステム管理マニュアルです 更新履歴 更新日 内容 2015/04/28 新規作成 2015/07/24 グループ管理のユーザーインタフェース変更に伴う修正 ユーザー管理のユーザーインタフェース変更に伴う修正 2015/09/30 連携サービス追加に伴う

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索 eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索する 違うデータに変更する 要らなくなったデータを削除する 各システムごとに障害対策も含めて 正確にこのようなデータ処理のプログラムを作ることは大変なことです

More information

PowerPoint -O80_REP.PDF

PowerPoint -O80_REP.PDF Oracle8 Core Technology Seminar 1997109,31 Oracle8 OS: UNIX Oracle8 : Release8.0.3 Oracle8 Quick Start Package Lesson 5 -- Enhancements to Distributed Facilities Oracle8 -- - Oracle8 LOB Oracle8 -- - Updates

More information

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

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. IM- 共通マスタの拡張について 2.1. 前提となる知識 2.1.1. Plugin Manager 2.2. 表記について 3. 汎用検索画面の拡張 3.1. 動作の概要 3.1.1. 汎用検索画面タブの動作概要 3.2. 実装の詳細 3.2.1. 汎用検索画面タブの実装

More information

5 Q. 結果セットを 1 行飛ばしに FETCH することはできますか A. できません Oracle は必ず結果セットを上から 1 行ずつ FETCH します 6 Q. カーソルを一度にいくつまでオープンできますか A. 初期化パラメータ OPEN_CURSORS で指定したの値までカーソルをオ

5 Q. 結果セットを 1 行飛ばしに FETCH することはできますか A. できません Oracle は必ず結果セットを上から 1 行ずつ FETCH します 6 Q. カーソルを一度にいくつまでオープンできますか A. 初期化パラメータ OPEN_CURSORS で指定したの値までカーソルをオ PL/SQL プログラミング Ⅰ ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助として 是非お役立てください ご利用上の注意事項は最後のページにまとめられております ご確認のうえ

More information

ご存知ですか? データ転送

ご存知ですか? データ転送 ご存知ですか? データ転送 System i のデータベースを PC にダウンロード System i 上のデータベースからデータを PC にダウンロードできます テキスト形式や CSV Excel(BIFF) 形式などに変換可能 System i データベースへのアップロードも可能 必要なライセンスプログラムは iseries Access for Windows(5722-XE1) または PCOMM

More information

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成 KDDI ホスティングサービス (G120, G200) ブック ASP.NET 利用ガイド ( ご参考資料 ) rev.1.0 KDDI 株式会社 1 ( 目次 ) 1. はじめに... 3 2. 開発環境の準備... 3 2.1 仮想ディレクトリーの作成... 3 2.2 ASP.NET のWeb アプリケーション開発環境準備... 7 3. データベースの作成...10 3.1 データベースの追加...10

More information

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid(text_box02_id); if (001 == statee 全体のヒント 1. テキストボックスの制御 1.1. 日付入力日付の入力ボックスは フォーカスが入った時にスラッショを消し フォーカスが他の項目等に移るとスラッシュが加わるようにする オンフォーカス 20100101 オフフォーカス 2010/01/01 1.1.1 オンフォーカス時にスラッシュを消す入力項目のスラッシュを消すには include/function.js ファイル内の var delslash

More information

Calpont InfiniDBマルチUM同期ガイド

Calpont InfiniDBマルチUM同期ガイド Calpont InfiniDB マルチ UM 同期ガイド Release 3.5.1 Document Version 3.5.1-1 December 2012 2801 Network Blvd., Suite 220 : Frisco, Texas 75034 : 972.999.1355 info@calpont.com : www.calpont.com Copyright 2012 Calpont

More information

スクールCOBOL2002

スクールCOBOL2002 3. 関連資料 - よく使われる機能の操作方法 - (a) ファイルの入出力処理 - 順ファイル等を使ったプログラムの実行 - - 目次 -. はじめに 2. コーディング上の指定 3. 順ファイルの使用方法 4. プリンタへの出力方法 5. 索引ファイルの使用方法 6. 終わりに 2 . はじめに 本説明書では 簡単なプログラム ( ファイル等を使わないプログラム ) の作成からコンパイル 実行までの使用方法は既に理解しているものとして

More information

産直くん 9 リピートくん 9 バックアップ リストア作業チェックリスト バックアップ リストア作業項目一覧 作業項目作業目安時間概要 00 バックアップ リストア作業を行う前に 産直くん 9 リピートくん 9 のバックアップ リストア作業を円滑に行うための確認事項をまとめています 1. バックアッ

産直くん 9 リピートくん 9 バックアップ リストア作業チェックリスト バックアップ リストア作業項目一覧 作業項目作業目安時間概要 00 バックアップ リストア作業を行う前に 産直くん 9 リピートくん 9 のバックアップ リストア作業を円滑に行うための確認事項をまとめています 1. バックアッ Version1.1 産直くん 9 リピートくん 9 バックアップ リストア作業チェックリスト バックアップ リストア作業項目一覧 作業項目作業目安時間概要 00 バックアップ リストア作業を行う前に 産直くん 9 リピートくん 9 のバックアップ リストア作業を円滑に行うための確認事項をまとめています 1. バックアップ リストア作業を行う前に 01 バックアップ バックアップ リストアの手順を記載しています

More information

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2 Oracle Direct Seminar 試験対策ポイント解説 11g SQL 基礎 Ⅰ 日本オラクル株式会社 アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2 資格体系 実務エキスパートの認定

More information

目次 1. 変換の対象 砂防指定地 XML 作成メニュー シェープファイルからXMLへ変換 砂防指定地 XMLとシェープファイルの対応.csv 変換処理 CSVファイルによる属性指定... 5

目次 1. 変換の対象 砂防指定地 XML 作成メニュー シェープファイルからXMLへ変換 砂防指定地 XMLとシェープファイルの対応.csv 変換処理 CSVファイルによる属性指定... 5 砂防指定地 XML 作成説明書 2012/12/18 有限会社ジオ コーチ システムズ http://www.geocoach.co.jp/ info@geocoach.co.jp 砂防指定地 XML 作成 プログラムについての説明書です この説明書は次のバージョンに対応しています アプリケーション名バージョン日付 砂防指定地 XML 作成 7.0.5 2012/12/18 プログラムのインストールについては

More information

intra-mart Accel Platform

intra-mart Accel Platform intra-mart Accel Platform IM- 共通マスタスマートフォン拡張プログラミングガイド 2012/10/01 初版 変更年月日 2012/10/01 初版 > 変更内容 目次 > 1 IM- 共通マスタの拡張について...2 1.1 前提となる知識...2 1.1.1 Plugin Manager...2 1.2 表記について...2 2 汎用検索画面の拡張...3

More information

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗 PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗 アジェンダ 1.EXPLAIN とは 2. 表アクセスの基本 3. 結合の基本 4. 統計情報とは 5.EXPLAIN コマンド 6. 問題解決例 7. まとめ 2 1.EXPLAIN とは 実行計画とは - 目的地は 1 つでもアクセス方法は複数

More information

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

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

9 WEB監視

9  WEB監視 2018/10/31 02:15 1/8 9 WEB 監視 9 WEB 監視 9.1 目標 Zabbix ウェブ監視は以下を目標に開発されています : ウェブアプリケーションのパフォーマンスの監視 ウェブアプリケーションの可用性の監視 HTTPとHTTPSのサポート 複数ステップで構成される複雑なシナリオ (HTTP 要求 ) のサポート 2010/08/08 08:16 Kumi 9.2 概要 Zabbix

More information

データベース暗号化ツール「D’Amo」性能検証

データベース暗号化ツール「D’Amo」性能検証 平成 29 年 5 月 31 日 株式会社東和コンピュータマネジメント 概要 測定環境 測定要件 テーブル構成 測定手順 測定結果 システムログ 統計レポート 考察 感想 データベース暗号化ツール D Amo の導入を検討するにあたり NEC 製サーバ Express 上におけるツール適用後の動作確認ならびに処理性能の増加傾向を把握する目的で 本性能測定を実施する 測定環境 ハードウェア,OS, データベース

More information

Oracle XML DB によるスケーラビリティおよびパフォーマンス検証 - MML v.3.0

Oracle XML DB によるスケーラビリティおよびパフォーマンス検証 - MML v.3.0 Oracle XML DB MML v3.0 2004 5 27 1 Memo 1 Agenda XML MML v3.0 2 Oracle XML Oracle XML DB XML API Oracle XML DB W3C XML Schema 1.0 XPath 1.0 XSLT 1.0 Oracle W3C XML Schema Oracle 2 XML Oracle XML Developer

More information

Oracle Database Connect 2017 JPOUG

Oracle Database Connect 2017 JPOUG Oracle Database Connect 2017 / JPOUG 異なるデータベース間の SQL 比較と Oracle Database 12c の新機能 Noriyoshi Shinoda March 8, 2017 自己紹介篠田典良 ( しのだのりよし ) 所属 日本ヒューレット パッカード株式会社テクノロジーコンサルティング事業統括 現在の業務 Oracle Database をはじめ

More information

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記 Excel Export Add-in Manual by SparxSystems Japan Enterprise Architect 用 Excel 出力アドイン利用ガイド バージョン 1.0.0.6 (2018/09/06 更新 ) 1 目次 1 はじめに...3 2 利用条件 動作環境...3 3 アドインのインストール...3 4 アドインの操作方法...4 4.1 アドインの実行...4

More information

Chapter Two

Chapter Two Database 第 8 回 :SQL 言語 ( データベース操作 ) 上智大学理工学部情報理工学科 高岡詠子 No reproduction or republication without written permission. 許可のない転載 再発行を禁止します 1 Schedule 日程 内容 第 1 回 10 月 6 日 ガイダンス, データベースとは? 第 2 回 10 月 13 日 三層スキーマ,

More information

Oracle ADF 11g入門

Oracle ADF 11g入門 Oracle ADF 11g 入門 Oracle Fusion Web アプリケーションの構成要素の概要 Oracle ホワイト ペーパー 2007 年 4 月 Oracle ADF 11g 入門 開発者ガイドは Oracle JDeveloper に付属されているので すぐに使用できます これらのガイドは Oracle JDeveloper のスタート ページまたはオンラインの Oracle Technology

More information

Cisco Jabber for Windows のカスタマイズ

Cisco Jabber for Windows のカスタマイズ インストール後にカスタマイズできる機能を確認します 組織の要件を満たすようにこれらの 機能をカスタマイズする方法について学習します カスタム顔文字の追加, 1 ページ カスタム埋め込みタブの作成, 5 ページ カスタム顔文字の追加 カスタム顔文字を Cisco Jabber for Windows に追加するには XML ファイルで顔文字の定義を作成 し ファイル システムに保存します 注 最適な結果を得るには

More information

Microsoft Word - ModelAnalys操作マニュアル_

Microsoft Word - ModelAnalys操作マニュアル_ モデル分析アドイン操作マニュアル Ver.0.5.0 205/0/05 株式会社グローバルアシスト 目次 概要... 3. ツール概要... 3.2 対象... 3 2 インストールと設定... 4 2. モデル分析アドインのインストール... 4 2.2 モデル分析アドイン画面の起動... 6 3 モデル分析機能... 7 3. 要求分析機能... 7 3.. ID について... 0 3.2 要求ツリー抽出機能...

More information

クエリの作成が楽になるUDF

クエリの作成が楽になるUDF トレジャーデータサービス by IDCF 活用マニュアル 目次 (1) UDF の概要 概要 特長 P1 [ 日付を選択 ] (2) UDF の紹介 TIME 関連 UDF 1 TD_TIME_FORMAT P2 2 TD_TIME_RANGE 3 TD_SCHEDULED_TIME 4 TD_TIME_ADD 5 TD_TIME_PARSE 6 TD_DATE_TRUNC その他 UDF 7 TD_SESSIONIZE

More information

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO SQLite SQLite3 http://www.ns.kogakuin.ac.jp/~ct13140/prog/ オープンソース ( フリー )RDBMS 実装の 1 個 http://www.sqlite.org/ 現在,3.6 が最新版. SQLite 2.x と SQLite 3.x が有名. 特徴 RDBMS サーバプロセスの起動が不要. 1 データベース,1 ファイル で格納.. つまり

More information

Oracle Data Pumpのパラレル機能

Oracle Data Pumpのパラレル機能 Oracle Data Pump のパラレル機能 Carol Palmer オラクル社 Principal Product Manager はじめに Oracle Database 10g 上の Oracle Data Pump により 異なるデータベース間のデータとメタデータを高速で移動できます Data Pump の最も便利な機能の 1 つは エクスポート ジョブとインポート ジョブをパラレルに実行しパフォーマンスを高める機能です

More information

Microsoft PowerPoint - 講義補助資料2017.pptx

Microsoft PowerPoint - 講義補助資料2017.pptx 66 SQL 最も標準的なリレーショナルデータベースの言語 ISO による国際標準規格であり特定の企業に依存しない SQL の規格 :SQL89(SQL1), SQL92(SQL2), SQL:1999(SQL3), SQL:2003, SQL:2006, SQL:2008, SQL:2011 標準規格としての SQL は 何かの略語ではない と規定されている ( 参考 : IBM 社の製品で使われている

More information

OOW_I06

OOW_I06 G XDK XML Agenda XDK Overview XML Parser XML Schema Processor (XML SQL Utility XML Class Generator XML Transviewer Beans XSQL Servlet Oracle XML Developer s Kit Oracle XML Devleloper s Kit (XDK XML DB

More information

WEBシステムのセキュリティ技術

WEBシステムのセキュリティ技術 WEB システムの セキュリティ技術 棚橋沙弥香 目次 今回は 開発者が気をつけるべきセキュリティ対策として 以下の内容について まとめました SQLインジェクション クロスサイトスクリプティング OSコマンドインジェクション ディレクトリ トラバーサル HTTPヘッダ インジェクション メールヘッダ インジェクション SQL インジェクションとは 1 データベースと連動した Web サイトで データベースへの問い合わせや操作を行うプログラムにパラメータとして

More information

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 データベース とは? データ (Data) の基地 (Base) 実世界のデータを管理するいれもの 例えば 電話帳辞書メーラー検索エンジン もデータベースである Copyright 2008 SRA OSS, Inc.

More information

PL/SQLからのオペレーティング・システム・コマンドの実行

PL/SQLからのオペレーティング・システム・コマンドの実行 PL/SQL からのオペレーティング システム コマンドの実行 Oracle ホワイト ペーパー 2008 年 7 月 注 : 本書は オラクルの一般的な製品の方向性を示すことが目的です また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 下記の事項は マテリアルやコード 機能の提供を確約するものではなく また 購買を決定する際の判断材料とはなりえません オラクルの製品に関して記載されている機能の開発

More information

Microsoft Word - 検証結果まとめ_ doc

Microsoft Word - 検証結果まとめ_ doc 気象庁防災情報 XML フォーマット スキーマとサンプル電文の動作検証について 平成 21 年 12 月 28 日付 気象庁防災情報 XML フォーマット スキーマとサンプル電文の修正 追加提供について XML コンソーシアムのご協力により 各種 XML 関連ソフトウェアにおける動作状況について検証頂きました 同仕様をご利用いただく際の参考とするべく 検証結果を公開いたします 要旨 各種ベンダー系

More information

Microsoft PowerPoint - J-S301167_idx_comp.ppt [互換モード]

Microsoft PowerPoint - J-S301167_idx_comp.ppt [互換モード] SAP R/3 および SAP BW システムに対応する索引圧縮 Jan Klokkers SAP Development Server Technologies 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約

More information

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

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB 3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB.netソリューションを作成します言語変換後にSDK( ソフトウェア開発キット ) にてデバッグおよびビルドにて実行可能アプリケーションを作成します

More information

APEX Spreadsheet ATP HOL JA - Read-Only

APEX Spreadsheet ATP HOL JA  -  Read-Only Oracle APEX ハンズオン ラボ スプレッドシートからアプリケーションを作成 Oracle Autonomous Cloud Service 用 2019 年 7 月 (v19.1.3) Copyright 2018, Oracle and/or its affiliates. All rights reserved. 2 概要 このラボでは スプレッドシートを Oracle データベース表にアップロードし

More information

改訂履歴 日付バージョン記載ページ改訂内容 V2.1 - 初版を発行しました V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ

改訂履歴 日付バージョン記載ページ改訂内容 V2.1 - 初版を発行しました V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ 改訂履歴 日付バージョン記載ページ改訂内容 2012-10-23 V2.1 - 初版を発行しました 2013-08-30 V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ別参照権限設定操作を追記 2015-06-16 V5.0 P27 クラスター入力値を帳票備考にコピーする説明を追記

More information

Oracle Database Clientリリース・ノート, 10gリリース1( ) for Microsoft Windows

Oracle Database Clientリリース・ノート, 10gリリース1( ) for Microsoft Windows Oracle Database Client リリース ノート 10g リリース 1(10.1.0.2.0)for Microsoft Windows 部品番号 : B13743-01 原典情報 : B12179-01 Oracle Database Client Release Notes, 10g Release 1 (10.1.0.2.0) for Windows 2004 年 4 月 このリリース

More information

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 2 Excel 1 SQL 1 SQL Server sp_executesql Oracle SQL

More information

V8.1新規機能紹介記事

V8.1新規機能紹介記事 WebOTX V8.1 新規機能 EJB 3.0 WebOTX V8.1より Java EE 5(Java Platform, Enterprise Edition 5) に対応しました これによりいろいろな機能追加が行われていますが 特に大きな変更であるEJB 3.0 対応についてご紹介いたします なお WebOTX V7で対応したEJB 2.1についてもWebOTX V8.1で引き続き利用することが可能です

More information

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太 ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : 095739 K 氏名 : 當銘孔太 1. UNIX における正規表現とは何か, 使い方の例を挙げて説明しなさい. 1.1 正規表現とは? 正規表現 ( 正則表現ともいう ) とは ある規則に基づいて文字列 ( 記号列 ) の集合を表す方法の 1 つです ファイル名表示で使うワイルドカードも正規表現の兄弟みたいなもの

More information

Oracle SOA Suite Enterprise Service Bus

Oracle SOA Suite Enterprise Service Bus Oracle SOA Suite Enterprise Service Bus Oracle 統合製品管理 Oracle ESB ヘッダーのサポート Slide 2 ユース ケース ESB ヘッダーのサポート ファイル JMS AQ MQ B2B アプリケーション ヘッダー変換 XSL 変換を使用 XSL 変数 新しい XPath の Get/Set Header 関数 最小の GUI サポート ヘッダー

More information

Microsoft PowerPoint - KeySQL50_10g_vlo2.ppt

Microsoft PowerPoint - KeySQL50_10g_vlo2.ppt Oracle データベースと Microsoft Excel の連携ツール KeySQL 5.0 操作概要 Vol. 2 検索編 2004 年 7 月 テニック株式会社 はじめに > 本資料の目的 本講習会では KeySQLをはじめてお使いになる方を対象として Oracleクライアントのインストールから KeySQL の基本的な使用方法までをご説明いたします 実際にアプリケーションを操作しながら実習を進めてまいりますので

More information

ユーザ デバイス プロファイルの ファイル形式

ユーザ デバイス プロファイルの ファイル形式 CHAPTER 34 CSV データファイルの作成にテキストエディタを使用する場合 デバイスフィールドと回線フィールドを CSV データファイル内で識別するファイル形式を使用する必要があります このファイル形式には次のオプションがあります Default User Device Profile: ユーザデバイスプロファイルのデバイスフィールドと回線フィールドの事前決定済みの組み合せを含む Simple

More information

コンテンツ作成基本編

コンテンツ作成基本編 コンテンツ作成マニュアル基本編 もくじ コンテンツとは 公開する物件検索サイト内の情報の一つ一つを指します 3~8 サイト作成の流れ 物件検索一覧ページ 物件検索を行うためのページを作成するための一覧の流れです 9~4 その他コンテンツについて 各々のページを作成するための コンテンツ管理画面の項目です 5~7 コンテンツとは 3 コンテンツとは コンテンツとは 公開する Web サイトのページ つ

More information

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2 レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager 2.2.0 < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2 Platform Standard Edition Development Kit 5.0 Java SE Development Kit 6 < 追加機能一覧

More information

Oracle Warehouse Builder 10 g Release 2 ビジネス・ルール主導によるデータ統合

Oracle Warehouse Builder 10 g Release 2 ビジネス・ルール主導によるデータ統合 Oracle Warehouse Builder 10g Release 2 ビジネス ルール主導によるデータ統合 オラクル ホワイト ペーパー 2007 年 1 月 注意 : このドキュメントは情報提供のみを目的としています 資料 コードまたは機能を提供するものでもなく 購入決定を行う際にその根拠として使用されるものでもありません Oracle 製品についてここに記述した特徴や機能の開発 リリースおよび実現時期については

More information

セットアップカード

セットアップカード NEC COBOL SQL アクセス Client Runtime Ver1.0 COBOL SQL アクセス Client Runtime Ver1.0 (1 年間保守付 ) COBOL SQL アクセス Client Runtime Ver1.0 (1 年間時間延長保守付 ) セットアップカード ごあいさつ このたびは COBOL SQL アクセス Client Runtime Ver1.0 (

More information

TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1 TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1 1 目次 1 目次... 2 2 はじめに... 3 3 Tips セットアップ... 4 3.1 事前準備... 4 3.2 事前準備 2... 4 3.3 セットアップ... 4 3.4 セットアップ ( その他 )... 5 4 Tips 概要... 6 4.1 概要...

More information

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ) CHAPTER 2 アプリケーションインスペクションの特別なアクション ( インスペクションポリシーマップ ) モジュラポリシーフレームワークでは 多くのアプリケーションインスペクションで実行される特別なアクションを設定できます サービスポリシーでインスペクションエンジンをイネーブルにする場合は インスペクションポリシーマップで定義されるアクションを必要に応じてイネーブルにすることもできます インスペクションポリシーマップが

More information

Section1_入力用テンプレートの作成

Section1_入力用テンプレートの作成 入力用テンプレートの作成 1 Excel には 効率よく かつ正確にデータを入力するための機能が用意されています このセクションでは ユーザー設定リストや入力規則 関数を利用した入力用テンプレートの作成やワークシート操作について学習します STEP 1 ユーザー設定リスト 支店名や商品名など 頻繁に利用するユーザー独自の連続データがある場合には ユーザー設定リスト に登録しておけば オートフィル機能で入力することができ便利です

More information

コンテンツ作成基本編

コンテンツ作成基本編 コンテンツ作成マニュアル基本編 もくじ コンテンツとは 公開する求人検索サイト内の情報の一つ一つを指します 3~7 サイト作成の流れ 求人検索一覧ページ 求人検索を行うためのページを作成するための一覧の流れです 8~8 その他コンテンツについて 各々のページを作成するための コンテンツ管理画面の項目です 9~0 コンテンツとは 3 コンテンツとは コンテンツとは 公開するWebサイトのページつつを指します

More information

0 第 4 書データベース操作 i 4.1 データベースへの接続 (1) データベースチェックポイントの追加 データベースチェックポイントを追加します (2)ODBC による接続 ODBC を使用してデータベースへ接続します SQL 文を手作業で指定する場合 最大フェッチ行数を指定する場合はここで最大行数を指定します ii 接続文字列を作成します 作成ボタンクリック > データソース選択 > データベース接続

More information

Microsoft Word - PDFHS _ doc

Microsoft Word - PDFHS _ doc HP Integrity サーバー + HP-UX 11i v3(11.31 ) Oracle DB 11g R1 構築手順 2. データベースの構築 2009/7 改訂版 目次 改訂箇所... 2 2 データベースの構築... 3 2.1 NETCA によるリスナーの設定... 4 2.2 DBCA を使用したデータベース作成... 13 2.3 Net Services を使用したデータベース接続確認...

More information

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

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None クイック検索検索 目次 Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型

More information

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

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)... レコードセット (ADODB.Recordset) の使い方 作成日 : 2018/02/05 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2018/02/05 新規作成 西村 1 目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst,

More information

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

サイボウズ Office8 API マニュアル API 概要 第 1 版 サイボウズ株式会社 サイボウズ Office8 API マニュアル API 概要 第 1 版 サイボウズ株式会社 はじめに はじめに 本書では サイボウズ (R) Office(R) 8 連携 API 1.0.0 の詳細について説明しています この連携 API はサイボウズ (R) Office(R)8 と外部システムを連携するために Office 側が提供する API 関数です 本書の内容をよくお読みいただいた上で

More information

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y  小幡智裕 Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :

More information

Oracle Database 11g Release 2 Application Development (.NET)

Oracle Database 11g Release 2 Application Development (.NET) 1 2 本資料では 以下の省略表記を使用している箇所があります 名称 Oracle Developer Tools for Visual Studio Oracle Data Provider for.net Oracle Database Extensions for.net 省略表記 ODT ODP.NET ODE.NET 3 4 5 まず Oracle が提供している.NET コンポーネントの概要をご紹介します

More information

スケジューリングおよび通知フォーム のカスタマイズ

スケジューリングおよび通知フォーム のカスタマイズ CHAPTER 6 この章では Outlook 予定表から会議をスケジュールまたは会議に参加するために [MeetingPlace] タブをクリックしたときに表示される項目の最も簡単なカスタマイズ方法について説明します 次の項を参照してください スケジューリングフォームと会議通知 (P.6-1) スケジューリングフォームおよび会議通知のカスタマイズ (P.6-2) MeetingPlace タブのフォームのデフォルト情報とオプション

More information

vi 目次 画像のサイズ設定 画像の効果 画面の取り込みとトリミング Office の共通基本操作 図形 図形の挿入と削除 図形の編集 図形の背景色の透過 Office

vi 目次 画像のサイズ設定 画像の効果 画面の取り込みとトリミング Office の共通基本操作 図形 図形の挿入と削除 図形の編集 図形の背景色の透過 Office 目 次 1.Windows と Office の基礎 1 1.1 コンピューターの基礎 1 1.1.1 コンピューターの構成 1 1.1.2 コンピューターの種類 2 1.1.3 ソフトウェア 2 1.2 Windows の基本操作 3 1.2.1 Windows の初期画面 3 1.2.2 Windows の起動と終了 4 1.2.3 アプリケーションの起動 5 1.2.4 アプリケーションの切り替え

More information

XMLとXSLT

XMLとXSLT XML と XSLT 棚橋沙弥香 目次 現場のシステム構成とXML/XSLの位置づけ XMLとは XSL/XSLTとは Xalanのインストール いろいろなXSL XMLマスター試験の紹介 現場のシステム構成 HTML 画面上のデータ 電文 電文 外部 WEB サーバー (Java) CORBA 通信 認証サーバー (C 言語 ) DB XML 電文 HTML XSL XSLT 変換今回の説明範囲

More information