1

PHP/MySQL を使用してマルチテナント Web アプリケーションに取り組んでいます。そして、外部キーとデフォルト値に関する一般的な慣習の問題にたどり着きました。

アプリケーションのさまざまなアクションのために送信されるメールで使用されるテンプレートを格納するMailTemplateテーブルがあります。表の列は次のとおりです。

MailTemplate
  id (PK)
  company_id (FK)
  name
  subject
  body

company_id 列はCompanyテーブルを参照します。基本的に、企業はアクション用にさまざまなテンプレートを作成できます。しかし、会社が個人用テンプレートのカスタマイズを選択しない場合に備えて、アクションごとに定義済みのテンプレートも用意したいと考えています。

これらのデフォルト テンプレートをこのテーブルに格納することになっていると思います。しかし問題は、デフォルト テンプレートの *company_id* 列をNULLのままにしておくべきか、それともCompanyテーブルにダミーの行を作成し、その行の ID をMailTemplateテーブルで参照するべきかということです。

いろいろ調べてみましたが、みんなやり方が違うようです。この場合の一般的な慣習は何なのか疑問に思っています。

前もって感謝します。

4

0 に答える 0