2

私は確かにDrupalの専門家ではありませんが、以前にいくつかのデータベースを計画して構築したことがあるので、サードパーティのチームが作業しているデータベースの構造に戸惑い、SequelProにダミーコンテンツを追加してもらいました。DrupalのバックエンドGUIを使用した場合、構造は明らかではないと思いますが、資格はなく、ftpとsshアクセスだけです。

ID、名前、住所、電子メール、郵便番号などの列を持つ組織など、期待していた単一のテーブルがないことに少し恐怖を感じました。

代わりに、データの各ビットのテーブルがあります。つまり、名前、住所、電子メール、郵便番号などの個別のテーブルです。

それは、論理的な観点からは、驚くほど非効率的であるように思われます。たとえば、組織ページが読み込まれると、その組織に読み込まれるデータの各ビットは、単一のテーブルへの呼び出しではなく、別のテーブルから呼び出されて集計され、すべてのデータが1つの行から取得されます。

私は無知ですか(はい、しかし...)、またはこれはDrupalに固有のdb構造の特異性ですか?

4

1 に答える 1

2

はい。Drupalは、フィールドコンテンツを個々のテーブルに格納して、最大限の柔軟性を実現します(たとえば、後で「組織」以外の他のコンテンツタイプでこれらのフィールドを再利用する場合)、既にマルチ結合テーブルにあります。トレードオフはパフォーマンスです。これはDrupalがキャッシュなどで補います(たとえば、Organizationノードがロードされると、そのページリクエストで再度ロードされた場合に、それらのテーブルから再度読み取る必要がないようにキャッシュします。例)。コンテンツとフィールドの保存方法を構築、再構築、再編成できる強力なCMSであるため、データをより柔軟に保存できます。

于 2013-03-20T17:43:58.203 に答える