私は、生徒とその保護者を保持するデータベースを設計しています。私がこれまでに持っているものはここにあります:
条件
私の参加テーブル[家族]は、私にとって少し冗長なようです。これはそれを行うための最良の方法ですか?現在は疎らですが、将来、家族レベルの情報を追加する必要があることがわかります。たとえば、請求書は学生や保護者ごとではなく、家族レベルで送信されます。
メール/電話番号を別のテーブルに保存する必要がありますか?
Personと呼ばれる別のテーブルを作成してみませんか? GuardianまたはStudent関連の情報を格納するための個別のテーブルが必要であり、どちらも個人IDを参照できます。
ファミリーの代わりに、RelationshipTypeのExtra列を持つ2つの異なるPersonを結合するリレーションテーブル(およびもちろん、別のルックアップテーブル)を使用できます。
住所テーブルは個人テーブルにも接続できます。住所と同じように、連絡先の詳細用の別のテーブルと、電話番号、電子メール、モバイル、仕事用メール、仕事用電話などの値を格納する連絡先タイプ参照テーブルを使用できます。
これは、元学生が保護者になるシナリオでも役立ちます。
お役に立てば幸いです。
モーリン・ターカー