2011-12-22 7 views
3

典型的なワードプレスサイトでは、最後に「メタ」という名前のテーブルがいくつかあります。これらの表には、2つの列があります.1つは「meta_key」、もう1つは「meta_value」です。任意の種類の変数が格納されています。データベース - ストアカスタム変数 - 典型的なワードプレスデータベースデザイン

悪いデザインではないですか?このデザインのメリットは何ですか?その欠陥は何ですか?

+1

この項目:http://stackoverflow.com/questions/を考えて、この種の(奇妙な生き物との深いウサギの穴ので、その上にあまりに心配していない)のための相続人は良いスタート4049159 /エンティティ属性値-eavへの代替 –

+1

とこれ:http://stackoverflow.com/questions/7020377/database-design-eav-options –

+1

とこれ:http://en.wikipedia.org/ wiki/Entity-attribute-value_model –

答えて

4

これはすべて外部設計に依存します。キー値表は、データを格納するもう1つの方法であり、思考のもう1つの方法です。 NoSQLとまったく同じです。

WordPressがどのようにこれらのテーブルを使用しているかを調べる必要があります。私はデータベーススキーマについて掘り下げたことがないので、私はwordpressについて多くのことを話すことはできません。私が楽しくチェックしたコードですが、何も壮大ではありません。

一方、Magentoは、キー値テーブルを一部のパーツで使用しており、その特定のデザインには優れています。私は今まで獣を使ったことはありません。

私の経験では、デザイン内の実際のエンティティにはすべて自分自身のテーブルがあり、コンフィギュレーションデータなどは1つの背の高い薄いテーブルに入れられるという結論に至りました。

怠惰ではありませんが、怠惰ではありません。

もう1つのことは、キー値テーブルに追加の情報列(使用している場合はIDとは別に)があることです。それを「関係」と呼んでください。

http://en.wikipedia.org/wiki/Resource_Description_Framework

関連する問題