システム内の 2 つの異なるプロファイル (私の場合は教師と生徒) のプロファイル テーブルを一般化することは理にかなっていますか? 私はこれを行っており、設計アプローチに関する一般的な健全性チェックが必要です。返信ありがとうございます。以下の背景:
教師と生徒の両方を持つ Web システムを構築しています。どちらもシステムにアカウントを持っています。どちらもシステムにプロファイルがあります。
私の質問は、これらのプロファイル テーブルのテーブル デザインについてです。
教師のプロファイルは、関連付けられているメタデータに関してかなり静的です。各教師には、その個人に関する情報 (学校、学位など) を公開する一定数のフィールドがあります。しかし、学生は別のケースです。Windows サービスを使用して、学生に関するさまざまなデータを無限の Excel スプレッドシートから取得しています。
データがデータベースに移動され、フィールドが学生のプロファイルに関連付けて表示されます。したがって、学生一人一人のプロフィールに非常に異なる分野がある可能性があります。
私は当初、次の 3 つのテーブルの概念から始めました。
アカウント
AccountID
教師プロフィール
TeacherProfileID
AccountID
SecondarySchool
University
YearsTeaching
Etc...
学生プロフィール
StudentProfileID
AccountID
Header
Value
StudentProfiles
テーブルには、Excel スプレッドシートの列ヘッダーの名前と関連する値が保持されます。
それ以来、添付の ERD イメージごとにプロファイルをより一般的に扱うために、デザインを少し進化させました。教師と生徒の「ヘッダー」は という名前のテーブルに保存され、ProfileAttributeTypes
応答 (Excel ドキュメントから、または Web フォームの入力フィールドを介して) がProfileAttributes
テーブルに配置されます。このようにして、生徒と教師の両方のプロファイルをプロファイル フィールドの動的なフローに関連付けることができます。「パーミッション」テーブルは、学生または教師のどちらを扱っているかを示します。
成長が早いシステムなので、しっかりと基盤を固めたい。この設計についてフィードバックをお寄せいただけますでしょうか。それが正しいと思われるかどうか、または問題が発生する可能性があるかどうかをお知らせください。
前もって感謝します。