• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「データベース構造」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(2.8: 2フィールド削除、型変更など(具体的には 変更履歴: を参照))
(翻訳の残りを完了。)
1行目: 1行目:
 
{{Rename|D|2008-11-14}}
 
{{Rename|D|2008-11-14}}
{{NeedTrans|Database Diagram セクションが}}
+
{{CheckTrans}}
  
 
__TOC__
 
__TOC__
 
以下は、[[:Category:wp2.8|WordPress バージョン '''2.8''']] の標準的なインストールで作成されるデータベース・テーブルの概要と説明です。現在、WordPress バージョン 2.8 が対応しているデータベースは、[[用語集#MySQL|MySQL]] バージョン '''4.0 以上'''のみです。
 
以下は、[[:Category:wp2.8|WordPress バージョン '''2.8''']] の標準的なインストールで作成されるデータベース・テーブルの概要と説明です。現在、WordPress バージョン 2.8 が対応しているデータベースは、[[用語集#MySQL|MySQL]] バージョン '''4.0 以上'''のみです。
  
WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかしながら、[[プラグインの作成|プラグインを作る]]ならば、データベースと直接連結する方法に興味を持つことでしょう。WordPress は [[関数リファレンス/wpdb Class|wpdb クラス]]/[[:en:Function Reference/wpdb_Class|en]] 関数を提供して、この作業が簡単になるようにしています。
+
WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかし[[プラグインの作成|プラグインを作成]]していると、データベースと直接連結する方法に興味がわいてくるかもしれません。WordPress ではこのタスクが簡単になるように [[関数リファレンス/wpdb Class|wpdb クラス]]/[[:en:Function Reference/wpdb_Class|en]] 関数を用意しています。
  
 
注:
 
注:
 
* テーブル名の接頭辞(<code>wp_</code>)は、WordPress インストール時の設定によります。
 
* テーブル名の接頭辞(<code>wp_</code>)は、WordPress インストール時の設定によります。
* プラグインやテーマによって、設定データの追加、既存テーブルへのフィールド追加、新規テーブル作成がなされることがあります。
+
* プラグインやテーマによって、設定データの追加、既存テーブルへのフィールド追加、新規テーブル作成がされることもあります。
 
* [[#旧バージョンのデータベース概要|旧バージョンのデータベース概要]]
 
* [[#旧バージョンのデータベース概要|旧バージョンのデータベース概要]]
  
 
<div id="Database_Diagram">
 
<div id="Database_Diagram">
== Database Diagram ==
+
== データベースモデル図 ==
 
</div>
 
</div>
The diagram below provides a visual overview of the Wordpress database and the relations between the tables (WP Version 2.5+) created during the WordPress standard installation. The Table Overview below includes additional details on the tables and columns.
+
以下は WordPress データベースの概要および標準インストール時に作成されるテーブル間の関係(WordPress 2.5 以降)を視覚的に表した図です。また、さらに下にあるテーブル一覧にはテーブルおよびカラムの詳細が書かれています。
  
[[Image:WP_27_dbsERD.png|500px|(WP 2.7 Database diagram)]] /[[:en:Image:WP_27_dbsERD.png|英語版で画像を見る]]
+
[[Image:P_27_dbsERD.png|(WP 2.7 Database diagram)]] /[[:en:Image:WP_27_dbsERD.png|英語版で画像を見る]]
  
Please note that within the standard installation of Wordpress no integrity between the tables is enforced e.g. between posts and comments. If you are creating a plugin or extension that manipulates the Wordpress database, your code should do the housekeeping so that no orphan records remain in the tables e.g. by removing records in other tables with a set of SQL commands when foreign keys are deleted (Don't forget to remind users to backup before such operations).
+
標準インストールでテーブル間の整合性は強制されない事に注意してください(例: 投稿とコメント)。もし WordPress データベースを操作するプラグインやその他の拡張機能を作成する場合は、ハウスキーピング処理をコードに含め、孤立したレコードがテーブルに残らないようにしましょう。この一例として、外部キーが削除された場合、一連の SQL コマンドを使って他のテーブルのレコードを削除するといったことが挙げられます。また、このような操作を行う前には、ユーザーにバックアップを取るよう促すことも忘れないでください。
  
 
<div id="Table_Overview">
 
<div id="Table_Overview">
506行目: 506行目:
  
 
<div id="Resources">
 
<div id="Resources">
== Resources ==
+
== リソース ==
 
</div>
 
</div>
  
* Source Codex: {{BrowseSource|wp-admin/includes/schema.php}}
+
* [http://wpbits.wordpress.com/2007/08/08/a-look-inside-the-wordpress-database/ A look inside the WordPress database] - Leonid Mamchenkov によるデータベーステーブルについての詳しい考察。
* [http://wpbits.wordpress.com/2007/08/08/a-look-inside-the-wordpress-database/ A look inside the WordPress database] - an in-depth discussion of the database tables by Leonid Mamchenkov.
+
  
 
== 旧バージョンのデータベース概要 ==
 
== 旧バージョンのデータベース概要 ==

2009年11月7日 (土) 21:18時点における版

ページ名検討中: このページ名「データベース構造」について改名が提案されています。ご意見をお寄せください。(2008-11-14)

この項目「データベース構造」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

以下は、WordPress バージョン 2.8 の標準的なインストールで作成されるデータベース・テーブルの概要と説明です。現在、WordPress バージョン 2.8 が対応しているデータベースは、MySQL バージョン 4.0 以上のみです。

WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかしプラグインを作成していると、データベースと直接連結する方法に興味がわいてくるかもしれません。WordPress ではこのタスクが簡単になるように wpdb クラス/en 関数を用意しています。

注:

  • テーブル名の接頭辞(wp_)は、WordPress インストール時の設定によります。
  • プラグインやテーマによって、設定データの追加、既存テーブルへのフィールド追加、新規テーブル作成がされることもあります。
  • 旧バージョンのデータベース概要

データベースモデル図

以下は WordPress データベースの概要および標準インストール時に作成されるテーブル間の関係(WordPress 2.5 以降)を視覚的に表した図です。また、さらに下にあるテーブル一覧にはテーブルおよびカラムの詳細が書かれています。

(WP 2.7 Database diagram) /英語版で画像を見る

標準インストールでテーブル間の整合性は強制されない事に注意してください(例: 投稿とコメント)。もし WordPress データベースを操作するプラグインやその他の拡張機能を作成する場合は、ハウスキーピング処理をコードに含め、孤立したレコードがテーブルに残らないようにしましょう。この一例として、外部キーが削除された場合、一連の SQL コマンドを使って他のテーブルのレコードを削除するといったことが挙げられます。また、このような操作を行う前には、ユーザーにバックアップを取るよう促すことも忘れないでください。

テーブル一覧

WordPress の標準インストールで作成される全テーブルの一覧です。各テーブルが持つ具体的な情報は次節をご覧ください。

WordPress 2.8 テーブル (10)
テーブル名 説明 関連インタフェース画面
wp_comments WordPress へのコメント・トラックバック・ピンバックデータを格納 コメントは投稿記事への反応として読者によって作成される。管理者によるコメント管理は 管理パネル > コメント > コメント/en にて
wp_links リンク作成/en 機能で入力されたリンク情報を格納
wp_options 管理 > 設定パネルで設定されたオプション設定情報を格納。プラグインの設定情報が格納されることも多い。
wp_postmeta メタデータという各投稿記事特有の情報を格納。投稿に情報を付加するようなプラグインが、その情報を当テーブルに追加することがある。

(カスタムフィールド)

wp_posts WordPress データの核である投稿記事およびページデータを格納
wp_terms 投稿およびリンクの分類(カテゴリ・タグ)に使われる語句の基本情報を格納
wp_term_relationships オブジェクト(wp_posts テーブルの各投稿記事wp_links テーブル内の各リンク)と wp_term_taxonomy の(少なくとも 1)カテゴリ・タグとの関連付け情報を格納
wp_term_taxonomy 投稿およびリンクの分類上の語句(カテゴリ・タグ)データを格納
wp_usermeta 各ユーザ特有のユーザ・メタデータを格納
wp_users 登録ユーザ情報を格納

テーブル詳細

WordPress の標準インストールで作成される各テーブルの項目一覧です。

テーブル: wp_comments

フィールド タイプ Null キー 初期値 備考 説明
comment_ID bigint(20) unsigned PRI NULL auto_increment コメントID(投稿順に自動採番)
comment_post_ID bigint(20) unsigned IND 0 FK->wp_posts.ID コメントが属する投稿ID
comment_author tinytext コメント投稿者
comment_author_email varchar(100) コメント投稿者の Eメールアドレス
comment_author_url varchar(200) コメント投稿者のウェブサイトURL
comment_author_IP varchar(100) コメント投稿者の IPアドレス
comment_date datetime 0000-00-00 00:00:00 コメント投稿日時
comment_date_gmt datetime IND & IND Pt2 0000-00-00 00:00:00 コメント投稿日時(GMT)
comment_content text コメント内容
comment_karma int(11) 0
comment_approved varchar(20) IND & Ind Pt1 1 コメントの承認状態
  • '0': 承認待ち
  • '1': 承認済み
  • 'spam': スパム
comment_agent varchar(255) コメント投稿者のユーザエージェント
comment_type varchar(20) コメントの種類
  • 'trackback': トラックバック
  • 'pingback': ピンバック
  • 通常コメントは値なし
comment_parent bigint(20) unsigned 0 FK->wp_comments.ID
user_id bigint(20) unsigned 0 FK->wp_users.ID コメント投稿者が登録ユーザであるとき、そのユーザID

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 1 comment_ID
comment_approved INDEX None comment_approved
comment_post_ID INDEX None comment_post_ID
comment_approved_date_gmt INDEX None comment_approved
comment_date_gmt
comment_date_gmt INDEX None comment_date_gmt
フィールド タイプ Null キー 初期値 備考 説明
link_id bigint(20) unsigned PRI NULL auto_increment リンクID(登録順に自動採番)
link_url varchar(255) リンク URL
link_name varchar(255) リンク名
link_image varchar(255) リンク画像の URI
link_target varchar(25) リンクターゲット
link_description varchar(255) 説明
link_visible varchar(20) IND Y
  • 'Y': 表示する
  • 'N': 表示しない
link_owner bigint(20) unsigned 1
link_rating int(11) 0 評価
link_updated datetime 0000-00-00 00:00:00
link_rel varchar(255)
link_notes mediumtext メモ
link_rss varchar(255) リンクのフィード URI

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 7 link_ID
link_category INDEX None link_category
link_visible INDEX None link_visible

テーブル: wp_options

フィールド タイプ Null キー 初期値 備考 説明
option_id bigint(20) unsigned PRI Pt1 NULL auto_increment
blog_id int(11) PRI Pt2 0
option_name varchar(64) PRI Pt3 & IND
option_value longtext
autoload varchar(20) yes
  • 'yes':
  • 'no':

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 184 option_id
blog_id
option_name
option_name INDEX 184 option_name

テーブル: wp_postmeta

フィールド タイプ Null キー 初期値 備考 説明
meta_id bigint(20) unsigned PRI NULL auto_increment メタデータのユニークID
post_id bigint(20) unsigned IND 0 FK->wp_posts.ID 投稿記事ID
meta_key varchar(255) YES IND NULL カスタムフィールドのキー名
meta_value longtext YES NULL カスタムフィールドの値

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 13 meta_ID
post_id INDEX 15 post_id
meta_key INDEX 7 meta_key

テーブル: wp_posts

フィールド タイプ Null キー 初期値 備考 説明
ID bigint(20) unsigned PRI & IND Pt4 auto_increment 投稿ID(保存順に自動採番)
post_author bigint(20) unsigned 0 FK->wp_users.ID 投稿者のユーザID
post_date datetime IND Pt3 0000-00-00 00:00:00 投稿日時
post_date_gmt datetime 0000-00-00 00:00:00 投稿日時(GMT)
post_content longtext 本文
post_title text タイトル
post_excerpt text 抜粋オプション
post_status varchar(20) IND PT2 publish 投稿ステータス
  • 'publish': 公開済み
  • 'pending': ペンディング
  • 'draft': 草稿
  • 'private': プライベート(非公開)
  • 'static':(2.0.x 以前はページ
  • 'object':
  • 'attachment':
  • 'inherit': 継承(添付ファイル、改訂履歴・自動保存のとき)
  • 'future': 予約投稿
comment_status varchar(20) open コメントステータス
  • 'open': 許可
  • 'closed': 不許可
  • 'registered_only': 登録ユーザのみ
ping_status varchar(20) open ピン・ステータス
  • 'open': トラックバック・ピンバックを受け付ける
  • 'closed': 受け付けない
post_password varchar(20) 閲覧パスワード
post_name varchar(200) IND
  • 投稿スラッグ
  • '{親ID}-revision(-#)' (改訂履歴のとき)
  • '{親ID}-autosave' (自動保存のとき)
to_ping text
pinged text ピン通知済み URL
post_modified datetime 0000-00-00 00:00:00 更新日時
post_modified_gmt datetime 0000-00-00 00:00:00 更新日時(GMT)
post_content_filtered text
post_parent bigint(20) unsigned 0 FK->wp_posts.ID 親ID
  • ページの投稿ID
  • 添付ファイルが属する投稿ID
  • 改訂履歴・自動保存のベース投稿ID
guid varchar(255)
menu_order int(11) 0 ページの表示順
post_type varchar(20) IND Pt1 post 投稿種別
  • 'post': 投稿
  • 'page': ページ
  • 'attachment': 添付ファイル
  • 'revision': 改訂履歴・自動保存
post_mime_type varchar(100) 添付ファイルのとき MIMEタイプ(image/png など)
comment_count bigint(20) 0 コメント数

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 2 ID
post_name INDEX None post_name
type_status_date INDEX None post_type
post_status
post_date
ID
post_parent INDEX None post_parent

テーブル: wp_terms

フィールド タイプ Null キー 初期値 備考 説明
term_id bigint(20) unsigned PRI auto_increment term のユニークID
name varchar(200) term 名
slug varchar(200) UNI term スラッグ。term 名を URL で扱いやすい形にしたもの
term_group bigint(10) 0 類義語のグルーピング

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 2 term_ID
slug UNIQUE 2 slug
name Index none name

テーブル: wp_term_relationships

フィールド タイプ Null キー 初期値 備考 説明
object_id bigint(20) unsigned PRI Pt1 0 記事ID or リンクID
term_taxonomy_id bigint(20) unsigned PRI Pt2 & IND 0 FK->wp_term_taxonomy.term_taxonomy_id term_taxonomy テーブルの term_taxonomy_id
term_order int(11) 0

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 8 object_id
term_taxonomy_id
term_taxonomy_id INDEX None term_taxonomy_id

テーブル: wp_term_taxonomy

フィールド タイプ Null キー 初期値 備考 説明
term_taxonomy_id bigint(20) unsigned PRI auto_increment term+taxonomy ペアのユニークID
term_id bigint(20) unsigned UNI Pt1 0 FK->wp_terms.term_id wp_terms テーブルの term_id
taxonomy varchar(32) UNI Pt2 term が属する taxonomy
  • 'category': 記事カテゴリ
  • 'link_category': リンクカテゴリ
  • 'post_tag': タグ
description longtext term の分類上の説明。「カテゴリ説明」など
parent bigint(20) unsigned 0 分類上の term 間の上下関係
count bigint(20) 0 term+taxonomy ペアに関連付けられたオブジェクト数。taxonomy='category' であればこのカテゴリに属する投稿記事数

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 2 term_taxonomy_id
term_id_taxonomy UNIQUE 2 term_id
taxonomy
taxonomy INDEX None taxonomy

テーブル: wp_usermeta

フィールド タイプ Null キー 初期値 備考 説明
umeta_id bigint(20) unsigned PRI NULL auto_increment ユーザ・メタデータの ID(登録順に自動採番)
user_id bigint(20) unsigned IND '0' FK->wp_users.ID wp_users テーブルのユーザID
meta_key varchar(255) YES IND NULL ユーザ・メタデータのキー名(wp_capabilities など)
meta_value longtext YES NULL

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 9 umeta_id
user_id INDEX None user_id
meta_key INDEX None meta_key

テーブル: wp_users

フィールド タイプ Null キー 初期値 備考 説明
ID bigint(20) unsigned PRI NULL auto_increment ユーザID
user_login varchar(60) IND ログイン名
user_pass varchar(64) パスワード(暗号化)
user_nicename varchar(50) IND
user_email varchar(100) Eメールアドレス
user_url varchar(100) webサイト URI
user_registered datetime 0000-00-00 00:00:00 登録日時
user_level int(2) unsigned 0
user_activation_key varchar(60)
user_status int(11) 0
display_name varchar(250) 表示名

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 1 ID
user_login_key INDEX None user_login
user_nicename INDEX None user_nicename

リソース

旧バージョンのデータベース概要

変更履歴

最新英語版: WordPress Codex » Database Description最新版との差分