私は学校管理システムの一部のためのデータベースを設計しています。私はあなたのアプリケーションをベースにして、それが安全でスマートになるように、ユーザー/アカウントのパーツを設計する方法には不明です。ユーザーアカウントのデータベース設計
アカウントロール:学生、インターンシップスーパーバイザー、学校管理者、システム管理者、スーパーユーザー。 学生は義務的なインターンシップを取らなければなりません(テーブル "インターン")。 インターンシップの監督者がそれらを監督し、統計を表示します。 学校管理者も統計情報を表示します。
私が学生のために保持したいデータは、その学生番号、姓と名です。
他の役割については明らかに学生番号がなく、名前も必須ではありませんが、おそらくそれは良いアイデアです - わかりません。どう思いますか?
ここで私のジレンマ:データベースのアカウント/メンバーシップ/ユーザーの一部を設計して、アプリケーションに役立ち、スマートで安全にする方法を教えてください。私は "学生"テーブルを取り除き、すべてのユーザーを "アカウント"テーブルに入れておくべきですか?あるいは、「学生」テーブルを保持して「アカウント」テーブルに参加させる方が良いでしょうか?あるいは、他のアプローチを示唆するいくつかの基準と良い実践があるでしょうか?以下 私は追加しているUMLS:
デザイン1:
デザイン2: