私は Yii フレームワークを使用するアプリケーションに取り組んでいるので、その MVC スタイルです。メンバーシップに関する情報を含むレコード タイプ「person」があります。メンバーは大人と子供の2種類。子供たちと一緒に、彼らの何人かは私たちが彼らの年齢を知っており、彼らは年齢グループに分けられています. 年齢グループには名前があります (例: 「8 歳以下」)。例として、John Smith と Jane Smith には 2 人の子供 Jimmy Smith と Janey Smith がいます。Janey はサッカー プログラムをやりたいと思っているので、彼女の年齢を知り、年齢グループに入れる必要があります。ジミーはアート&クラフトをやっているので、彼のプログラムは年齢で分けられていないので、彼の年齢を知る必要はありません. また、大人の年齢は尋ねません。
質問: これをどのように保管するかについて、いくつかの選択肢があります。私はできた:
- person テーブルに int agegroup フィールドを配置し、人々のモデルを定義するときに、その値を CONST 値として定義します (そして、おそらく「未定義」の特別な値を持っています - 大人向けです。次に、翻訳するための小さなコードを書く必要があります。説明的なラベルへの const 値。
- 上記のように person テーブルに agegroup フィールドを配置しますが、参照データを含むデータベースに別のテーブルも追加します。この新しいテーブルへの参照整合性を強制します。これは別の質問を提起します - 年齢層を知らない/気にしない場合のために、参照テーブルにダミー レコードを作成する必要がありますか、それとも people テーブルの agegroup フィールドに null 値を許可する必要がありますか?
- 他?
これらのいずれかを機能させることができることを知っています。しかし、どのアプローチが好まれるのか、そしてその理由についてアドバイスをいただければ幸いです。