私は2つのタイプのエンティティを持つ学校管理システムに取り組んでいます。目的は異なるが属性/フィールドが同じ2つのテーブル
User
-----
UserId
UserType
Name
ContactNumber
Address
出席者がマークされているすべての生徒/教師を保持します。
他のテーブルが
ContactDetails
----
ContactId
Name
ContactNumber
Address
するcontactDetailsでは、(多くのマッピングに多くを持つマッピングテーブルを経由して)ユーザーの両親や親戚の情報をstrores、その出席がマークされていません。
私は既に、すべての資格情報が格納されているaspnetUsersテーブルを持っています。
連絡先の親(親族ではない)がシステムにログインしてデータを更新する必要があります。
2つのアプローチがあります。
Usertype = Parentを作成すると、ドロップテーブルが連絡先を変更してすべてのリレーションを再マップします。 システムにログインすると、認証後に詳細を取得するためのユーザーテーブルだけが検索されます。
aspNetRolesに親の役割を作成し、role = parentの場合は、情報の役割によってユーザーまたは連絡先を調べます。
異なる目的で同じフィールドを持つ2つの異なるエンティティが異なるテーブルに存在する必要がありますか?