「DB2 XML DB (pureXML)」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==DB2 XML DB (pureXML)== [DB2][XML][XQuery] *DB2 XQuery ===ステートメント終了文字の変更=== *DB2 コマンド・ウィンドウで、db2 -td~ コマン…」) |
|||
(同じ利用者による、間の3版が非表示) | |||
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 パターン (限定された 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]] 文書は、INSERT SQL ステートメントを使用して、[[XML]] タイプ列に挿入 |
− | *ほとんどの場合、ストリング・データを XML データ・タイプのターゲットに直接割り当てることはできません。まず | + | *ほとんどの場合、ストリング・データを [[XML]] データ・タイプのターゲットに直接割り当てることはできません。まず [[XML]]PARSE 関数を使用してそのデータを明示的に構文解析する必要があります |
− | *INSERT、UPDATE、または DELETE | + | *INSERT、UPDATE、または DELETE 操作では、[[XML]]PARSE 関数を明示的に呼び出さなくても、ストリング・データを [[XML]] 列に接割り当てることができます |
*ストリング・データは暗黙的に構文解析されます | *ストリング・データは暗黙的に構文解析されます | ||
insert into android_manifest(apk, manifest) values ('info.typea.eitangoroid.free', | 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" | android:installLocation="auto" | ||
− | package="info.typea.eitangoroid.free" android:versionCode="12" android:versionName="0.65" | + | package="info.typea.eitangoroid.free" android:versionCode="12" android:versionName="0.65"> |
− | + | <application android:icon="@drawable/icon" | |
android:label="@string/app_name" | android:label="@string/app_name" | ||
− | 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" | |
− | android:value="info.typea.eitangoroid. | + | android:value="info.typea.eitangoroid.[[Word]]SearchableActivity"/> |
− | + | <acti[[vi]]ty android:label="@string/app_name" android:name="FlippadroidMainActi[[vi]]ty"> | |
− | + | <intent-filter> | |
− | + | <action android:name="android.intent.action.MAIN" /> | |
− | + | <category android:name="android.intent.category.LAUNCHE[[R]]" /> | |
− | + | </intent-filter> | |
− | + | </acti[[vi]]ty> | |
− | + | <activity android:name="info.typea.eitangoroid.[[Word]]SearchableActivity"> | |
− | + | <intent-filter> | |
− | + | <action android:name="android.intent.action.SEA[[R]]CH" /> | |
− | + | </intent-filter> | |
− | + | <meta-data android:name="android.app.searchable" | |
− | android:resource="@xml/searchable"/ | + | android:resource="@xml/searchable"/> |
− | + | </acti[[vi]]ty> | |
− | + | <acti[[vi]]ty android:name="info.typea.eitangoroid.FlippadActi[[vi]]ty"></acti[[vi]]ty> | |
− | + | <activity android:name="info.typea.eitangoroid.[[Word]]BookListActivity"></activity> | |
− | + | <acti[[vi]]ty android:name="info.typea.eitangoroid.FlippadPreferenceActi[[vi]]ty"></acti[[vi]]ty> | |
− | + | <activity android:name="info.typea.eitangoroid.[[Word]]EditorActivity"></activity> | |
− | + | <acti[[vi]]ty android:name="info.typea.eitangoroid.WorkingSetEditorActi[[vi]]ty"></acti[[vi]]ty> | |
− | + | <receiver android:name="info.typea.eitangoroid.HeadsetState[[R]]eceiver"> | |
− | + | <intent-filter> | |
− | + | <action android:name="android.intent.action.HEADSET_PLUG"/> | |
− | + | </intent-filter> | |
− | + | </receiver> | |
− | + | </application> | |
− | + | <uses-permission android:name="android.permission.W[[R]]ITE_EXTE[[R]]NAL_STO[[R]]AGE"></uses-permission> | |
− | + | <uses-permission android:name="android.permission.INTE[[R]]NET"></uses-permission> | |
− | + | <uses-permission android:name="android.permission.ACCESS_NETWO[[R]]K_STATE" /> | |
− | + | <uses-permission android:name="android.permission.VIB[[R]]ATE"></uses-permission> | |
− | + | <uses-sdk android:minSdkVersion="8" /> | |
− | + | </manifest>')~ | |
===レコードが正常に挿入されたことを確認=== | ===レコードが正常に挿入されたことを確認=== | ||
select * from android_manifest~ | select * from android_manifest~ | ||
=====IBM DataStudio で確認===== | =====IBM DataStudio で確認===== | ||
[[File:0333_xmldb02.jpg]] | [[File:0333_xmldb02.jpg]] |
2020年2月16日 (日) 04:24時点における最新版
目次
DB2 XML DB (pureXML)
ステートメント終了文字の変更
- DB2 コマンド・ウィンドウで、db2 -td~ コマンド (-td~ オプションを指定したdb2 コマンド) を発行して DB2 コマンド行プロセッサーを開始
- -td オプションは、ティルド (~) をステートメント終了文字として設定
- 。ネーム・スペース宣言の終了文字もセミコロンであるため、デフォルトのセミコロン(-t オプション) 以外の終了文字を指定することによって、ネーム・スペース宣言を使用するステートメントまたは照会が誤って解釈されないようにします
IBM DataStudio での設定
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 で確認
© 2006 矢木浩人