1

初めて外部キーを試してみたところ、少し夢中になっているのではないかと心配しています。

いくつかのクラス変数とそれに対応するデータベース レコードについて、選択できる値を制限する一連の定数があります。これらは現在、PHP を使用して設定および検証されています。

私が疑問に思っているのは、MySQL でこれらの定数のテーブルを作成し、それらを外部キーにロックする必要があるかということです。これは苦労する価値がありますか、それとも PHP の定義で十分ですか?


たとえば、 とtransactionsに対して PHP 定数が定義されている table がある'credit'とし'debit'ます。

transactionstypeトランザクションがクレジットかデビットかを示すフィールドがあります。

で使用される定数を定義する別のテーブル (transactions_constantsまたは何か)を作成し、transactions(type)それらを一緒に外部キーにする必要がありますか?

4

3 に答える 3

2

あなたの場合、トランザクション タイプ用に別のテーブルを作成するのは、おそらくやり過ぎです。データベース側で許可される値を制限するのに役立つように、type列を列挙型にすることができます。

トランザクションの種類に、データベースに保存したいデータが関連付けられている場合は、別のテーブルと外部キーの関係が適しています。

于 2013-05-23T05:31:48.610 に答える