ゲームウィキ.jp ヘルプ

ゲームウィキ.jp ご利用ガイド

データベースの結合

複数のデータベースを結合してデータを表示する方法について解説します。

データーベースの結合について

キャラクター情報などを1つのデータベースで管理する場合、項目数が大量に必要になり、管理しづらくなる場合があります。
そのような場合、複数のデータベースに情報を分割することで1データベース当たりの項目数を少なくすることができ、管理画面での管理がしやすくなります。

複数のデータベースに分けた情報はそれぞれのデータベースで同じ値を持つデータを用意しておくことで、検索用ショートコード(gwdb)でデータを表示する際にそれぞれのデータを結合して表示することができるようになります。

データベースの結合について

データベースの結合はデータベース管理機能および検索用ショートコード(gwdb)を応用する上級者向けの仕組みです。

データベースの結合方法

実際にキャラクター情報を2つのデータベースに分割し、データベースを結合して画面に一覧を表示させる例について解説します。
また、例ではそれぞれのデータベースの「ID」項目をデータ結合の条件に使用します。
ここでは以下2つのデータベースを例として使用します。

データベース名 説明
キャラクター基本 名称や説明文などの基本的な情報を管理
キャラクター詳細 ステータスなどの詳細な情報を管理
結合条件に使用する項目について

結合条件に使用する項目には、基本的に「数値」を登録してください。
文字列の場合、うまく結合できない可能性があります。

データーベースにデータを登録する

結合する「キャラクター基本」「キャラクター詳細」の2つのテーブルにデータを登録します。

キャラクター基本

名称やアイコンなどの基本的な情報のみを登録しています。

キャラクター詳細

ステータスなどの詳細情報を登録しています。
名称やアイコンなどは「キャラクター基本」データベースに登録しているため
ここでは登録していません。
例では「ID」項目をデータ結合用の項目として使用するため、以下画像のようにデータ登録した場合、「キャラクター基本」側の同じIDのデータを1つのデータとして扱うようになっています。

データの表示

データベースへのデータ登録が完了したら、ショートコードを使用してそれぞれのデータベースを結合して一覧を表示させることができます。
データベースを結合して表示する場合のショートコードは通常の検索用の記述とは若干異なる為、解説します。

ショートコード例

[gwdb キャラクター基本|キャラクター詳細:(ID,ID){キャラクター基本@@名称|キャラクター基本@@アイコン|キャラクター詳細@@攻撃力|キャラクター詳細@@防御力}]

上記ショートコードを記述すると2つのデータベースのデータが「ID」項目を結合条件に結合されて以下のような一覧表が表示されます。

ショートコード解説

検索用ショートコードについて

検索用ショートコード(gwdb)の基本的な使い方は以下のページをご参照ください。
表示項目のオプション指定方法についてはデータベース結合がある場合でも特に記述方法に変更はありません。

ショートコードの使い方

データベース指定部分

データベースを指定する部分では結合元となるデータベースと結合先のデータベースをパイプ(|)で区切って記述します。
また、結合先のデータベース名の後にコロン(:)で区切り、結合元データベースと結合先データベースからそれぞれ結合条件に使用する項目をカンマ(,)区切りで指定します。

データベース名1|データベース2:(①,②)

①:データベース名1側の結合条件に使用する項目名
②:データベース名2側の結合条件に使用する項目名

結合先のデータベースについて

同じデータべースを複数回結合することはできませんのでご注意ください。

表示項目指定部分

データベースの結合を行う場合、どちらのデータベースの項目を表示するのかを判別するために項目名の前に「データベース名@@」を記述します。
※項目名の前にデータベース名の指定が無い場合、項目は表示されません。

データベース名1@@項目名|データベース名2@@項目名

検索条件指定部分

例では使用していませんが、データベースの結合を行う場合は表示項目の指定と同様に項目名の前に「データベース名@@」を記述します。
※項目名の前にデータベース名の指定が無い場合、検索条件は無効となります。

データベース1@@項目名:>=100|データベース名2@@項目名:<=200

データベースを結合がある場合のフィルター

データベースを結合して一覧を表示している場合も以下のフィルター用ショートコードを利用することが可能です。
以下のショートコードを使用する場合でもデータベースの指定や項目名の指定方法は検索用ショートコード(gwdb)と同様の指定を行います。

  • gwdb_filter
  • gwdb_filter_text

例) gwdb_filterショートコード

[gwdb_filter キャラクター基本|キャラクター詳細:(ID,ID){キャラクター詳細@@属性}]

例) gwdb_filter_textショートコード

[gwdb_filter_text キャラクター基本|キャラクター詳細:(ID,ID){キャラクター基本@@名称|キャラクター詳細@@説明文}]

表示結果

×