| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「DB2 XML DB (pureXML)」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
 
==DB2 XML DB (pureXML)==
 
==DB2 XML DB (pureXML)==
 
[[DB2]] | [[XML]] | [[XQuery]] |  
 
[[DB2]] | [[XML]] | [[XQuery]] |  
*DB2 XQuery
+
*[[DB2 XQuery]]
 
===ステートメント終了文字の変更===
 
===ステートメント終了文字の変更===
*DB2  コマンド・ウィンドウで、db2 -td~ コマンド (-td~  オプションを指定したdb2  コマンド)  を発行して DB2  コマンド行プロセッサーを開始
+
*[[DB2]] コマンド・ウィンドウで、db2 -td~ コマンド (-td~  オプションを指定したdb2  コマンド)  を発行して [[DB2]] コマンド行プロセッサーを開始
 
*-td  オプションは、ティルド (~)  をステートメント終了文字として設定
 
*-td  オプションは、ティルド (~)  をステートメント終了文字として設定
 
*。ネーム・スペース宣言の終了文字もセミコロンであるため、デフォルトのセミコロン(-t  オプション)  以外の終了文字を指定することによって、ネーム・スペース宣言を使用するステートメントまたは照会が誤って解釈されないようにします
 
*。ネーム・スペース宣言の終了文字もセミコロンであるため、デフォルトのセミコロン(-t  オプション)  以外の終了文字を指定することによって、ネーム・スペース宣言を使用するステートメントまたは照会が誤って解釈されないようにします
 
=====IBM DataStudio での設定=====
 
=====IBM DataStudio での設定=====
 
[[File:0332_xmldb01.jpg]]
 
[[File:0332_xmldb01.jpg]]
===XML  データを格納する DB2  データベースおよび表を作成===
+
===[[XML]] データを格納する DB2  データベースおよび表を作成===
*XML  データを保管または索引付けする場合、主キーは不要
+
*[[XML]] データを保管または索引付けする場合、主キーは不要
 
  create table android_manifest(apk varchar(255) not null primary key , manifest xml)~
 
  create table android_manifest(apk varchar(255) not null primary key , manifest xml)~
===XML  データに索引を作成===
+
===[[XML]] データに索引を作成===
*述部および文書をまたいだ結合で頻繁に使用される XML  エレメントまたは属性に索引
+
*述部および文書をまたいだ結合で頻繁に使用される [[XML]] エレメントまたは属性に索引
*リレーショナル索引および XML  データに対する索引は両方とも、列を索引付け
+
*リレーショナル索引および [[XML]] データに対する索引は両方とも、列を索引付け
*リレーショナル索引が列全体に索引を付けるのに対して、XML データに対する索引は列の一部に索引を付ける
+
*リレーショナル索引が列全体に索引を付けるのに対して、[[XML]] データに対する索引は列の一部に索引を付ける
*XML  列のどの部分に索引を付けるかを、XML  パターン (限定された XPath  式)  を指定
+
*XML  列のどの部分に索引を付けるかを、XML  パターン (限定された [[XPath]] 式)  を指定
 
*索引付きの値が格納されるデータ・タイプを指定する必要もある
 
*索引付きの値が格納されるデータ・タイプを指定する必要もある
*単一の XML  列のみ索引を付けられます。複合索引はサポートされていません
+
*単一の [[XML]] 列のみ索引を付けられます。複合索引はサポートされていません
 
  create index package_xmlidx on android_manifest(manifest)  
 
  create index package_xmlidx on android_manifest(manifest)  
 
  generate key using xmlpattern
 
  generate key using xmlpattern
 
   'declare default element namespace "http://schemas.android.com/apk/res/android"; /manifest/@package'  
 
   'declare default element namespace "http://schemas.android.com/apk/res/android"; /manifest/@package'  
 
  as sql varchar hashed
 
  as sql varchar hashed
===XML  タイプ列に XML  文書を挿入===
+
===[[XML]] タイプ列に [[XML]] 文書を挿入===
*整形式 XML  文書は、INSERT  SQL  ステートメントを使用して、XML タイプ列に挿入
+
*整形式 [[XML]] 文書は、INSERT  SQL  ステートメントを使用して、[[XML]] タイプ列に挿入
*ほとんどの場合、ストリング・データを XML  データ・タイプのターゲットに直接割り当てることはできません。まず XMLPARSE 関数を使用してそのデータを明示的に構文解析する必要があります
+
*ほとんどの場合、ストリング・データを [[XML]] データ・タイプのターゲットに直接割り当てることはできません。まず [[XML]]PARSE 関数を使用してそのデータを明示的に構文解析する必要があります
*INSERT、UPDATE、または DELETE  操作では、XMLPARSE 関数を明示的に呼び出さなくても、ストリング・データを XML  列に接割り当てることができます
+
*INSERT、UPDATE、または DELETE  操作では、[[XML]]PARSE 関数を明示的に呼び出さなくても、ストリング・データを [[XML]] 列に接割り当てることができます
 
*ストリング・データは暗黙的に構文解析されます
 
*ストリング・データは暗黙的に構文解析されます
  
37行目: 37行目:
 
         android:name="info.typea.eitangoroid.FlippadApplication" android:debuggable="false">
 
         android:name="info.typea.eitangoroid.FlippadApplication" android:debuggable="false">
 
         <meta-data android:name="android.app.default_searchable"
 
         <meta-data android:name="android.app.default_searchable"
                     android:value="info.typea.eitangoroid.WordSearchableActivity"/>
+
                     android:value="info.typea.eitangoroid.[[Word]]SearchableActivity"/>
         <activity android:label="@string/app_name" android:name="FlippadroidMainActivity">
+
         <acti[[vi]]ty android:label="@string/app_name" android:name="FlippadroidMainActi[[vi]]ty">
 
             <intent-filter>
 
             <intent-filter>
 
                 <action android:name="android.intent.action.MAIN" />
 
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
+
                 <category android:name="android.intent.category.LAUNCHE[[R]]" />
 
             </intent-filter>
 
             </intent-filter>
         </activity>
+
         </acti[[vi]]ty>
         <activity android:name="info.typea.eitangoroid.WordSearchableActivity">
+
         <activity android:name="info.typea.eitangoroid.[[Word]]SearchableActivity">
 
             <intent-filter>
 
             <intent-filter>
                 <action android:name="android.intent.action.SEARCH" />
+
                 <action android:name="android.intent.action.SEA[[R]]CH" />
 
             </intent-filter>   
 
             </intent-filter>   
 
             <meta-data android:name="android.app.searchable"
 
             <meta-data android:name="android.app.searchable"
 
                     android:resource="@xml/searchable"/>     
 
                     android:resource="@xml/searchable"/>     
         </activity>
+
         </acti[[vi]]ty>
         <activity android:name="info.typea.eitangoroid.FlippadActivity"></activity>
+
         <acti[[vi]]ty android:name="info.typea.eitangoroid.FlippadActi[[vi]]ty"></acti[[vi]]ty>
         <activity android:name="info.typea.eitangoroid.WordBookListActivity"></activity>
+
         <activity android:name="info.typea.eitangoroid.[[Word]]BookListActivity"></activity>
         <activity android:name="info.typea.eitangoroid.FlippadPreferenceActivity"></activity>
+
         <acti[[vi]]ty android:name="info.typea.eitangoroid.FlippadPreferenceActi[[vi]]ty"></acti[[vi]]ty>
         <activity android:name="info.typea.eitangoroid.WordEditorActivity"></activity>
+
         <activity android:name="info.typea.eitangoroid.[[Word]]EditorActivity"></activity>
         <activity android:name="info.typea.eitangoroid.WorkingSetEditorActivity"></activity>     
+
         <acti[[vi]]ty android:name="info.typea.eitangoroid.WorkingSetEditorActi[[vi]]ty"></acti[[vi]]ty>     
         <receiver android:name="info.typea.eitangoroid.HeadsetStateReceiver">
+
         <receiver android:name="info.typea.eitangoroid.HeadsetState[[R]]eceiver">
 
             <intent-filter>
 
             <intent-filter>
 
                 <action android:name="android.intent.action.HEADSET_PLUG"/>
 
                 <action android:name="android.intent.action.HEADSET_PLUG"/>
62行目: 62行目:
 
         </receiver>         
 
         </receiver>         
 
     </application>
 
     </application>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
+
     <uses-permission android:name="android.permission.W[[R]]ITE_EXTE[[R]]NAL_STO[[R]]AGE"></uses-permission>
     <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+
     <uses-permission android:name="android.permission.INTE[[R]]NET"></uses-permission>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
     <uses-permission android:name="android.permission.ACCESS_NETWO[[R]]K_STATE" />
     <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
+
     <uses-permission android:name="android.permission.VIB[[R]]ATE"></uses-permission>
 
     <uses-sdk android:minSdkVersion="8" />
 
     <uses-sdk android:minSdkVersion="8" />
 
  </manifest>')~
 
  </manifest>')~

2020年2月16日 (日) 04:24時点における最新版

DB2 XML DB (pureXML)

DB2 | XML | XQuery |

ステートメント終了文字の変更

  • DB2 コマンド・ウィンドウで、db2 -td~ コマンド (-td~ オプションを指定したdb2 コマンド) を発行して DB2 コマンド行プロセッサーを開始
  • -td オプションは、ティルド (~) をステートメント終了文字として設定
  • 。ネーム・スペース宣言の終了文字もセミコロンであるため、デフォルトのセミコロン(-t オプション) 以外の終了文字を指定することによって、ネーム・スペース宣言を使用するステートメントまたは照会が誤って解釈されないようにします
IBM DataStudio での設定

0332 xmldb01.jpg

XML データを格納する DB2 データベースおよび表を作成

  • XML データを保管または索引付けする場合、主キーは不要
create table android_manifest(apk varchar(255) not null primary key , manifest xml)~

XML データに索引を作成

  • 述部および文書をまたいだ結合で頻繁に使用される XML エレメントまたは属性に索引
  • リレーショナル索引および XML データに対する索引は両方とも、列を索引付け
  • リレーショナル索引が列全体に索引を付けるのに対して、XML データに対する索引は列の一部に索引を付ける
  • XML 列のどの部分に索引を付けるかを、XML パターン (限定された XPath 式) を指定
  • 索引付きの値が格納されるデータ・タイプを指定する必要もある
  • 単一の XML 列のみ索引を付けられます。複合索引はサポートされていません
create index package_xmlidx on android_manifest(manifest) 
generate key using xmlpattern 	
  'declare default element namespace "http://schemas.android.com/apk/res/android"; /manifest/@package' 
as sql varchar hashed

XML タイプ列に XML 文書を挿入

  • 整形式 XML 文書は、INSERT SQL ステートメントを使用して、XML タイプ列に挿入
  • ほとんどの場合、ストリング・データを XML データ・タイプのターゲットに直接割り当てることはできません。まず XMLPARSE 関数を使用してそのデータを明示的に構文解析する必要があります
  • INSERT、UPDATE、または DELETE 操作では、XMLPARSE 関数を明示的に呼び出さなくても、ストリング・データを XML 列に接割り当てることができます
  • ストリング・データは暗黙的に構文解析されます
insert into android_manifest(apk, manifest) values ('info.typea.eitangoroid.free',
'<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      android:installLocation="auto" 
      package="info.typea.eitangoroid.free" android:versionCode="12" android:versionName="0.65">
    <application android:icon="@drawable/icon" 
        android:label="@string/app_name" 
        android:name="info.typea.eitangoroid.FlippadApplication" android:debuggable="false">
        <meta-data android:name="android.app.default_searchable"
                    android:value="info.typea.eitangoroid.WordSearchableActivity"/>
        <activity android:label="@string/app_name" android:name="FlippadroidMainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="info.typea.eitangoroid.WordSearchableActivity">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>   
            <meta-data android:name="android.app.searchable"
                   android:resource="@xml/searchable"/>     
        </activity>
        <activity android:name="info.typea.eitangoroid.FlippadActivity"></activity>
        <activity android:name="info.typea.eitangoroid.WordBookListActivity"></activity>
        <activity android:name="info.typea.eitangoroid.FlippadPreferenceActivity"></activity>
        <activity android:name="info.typea.eitangoroid.WordEditorActivity"></activity>
        <activity android:name="info.typea.eitangoroid.WorkingSetEditorActivity"></activity>    
        <receiver android:name="info.typea.eitangoroid.HeadsetStateReceiver">
            <intent-filter>
                <action android:name="android.intent.action.HEADSET_PLUG"/>
            </intent-filter>
        </receiver>        
    </application>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
    <uses-sdk android:minSdkVersion="8" />
</manifest>')~

レコードが正常に挿入されたことを確認

select * from android_manifest~
IBM DataStudio で確認

0333 xmldb02.jpg