私はデータベースを設計するのが初めてで、教授と学校を評価できるシステムのdbダイアグラムを表現しようとしています。また、学生と教授はログインするためのアカウントを持つことができます。 これは適切なプレゼンテーションですか、エンティティリレーションシップのように何かが欠けていますか? は、と私は..私は同様に任意の継承を使用する必要があるかどうかわからなかったエンティティの関係でデータベースを設計する
答えて
列挙された列は、誤ったデザインの良い指標です。
値の追加テーブルが必要です。
教授の評価から学校の評価を分離する必要はありません。
評価者のID(あなたの場合は常に学生です)とIDとタイプ(学校/教授)となる。私は学生と教授を異なるテーブルに入れる理由はありません。
role属性を持つpersonテーブルと考えることができます。
role属性の代わりに2つのフラグ列-is_studentとis_professorを指定することができます。
それは大丈夫に見えますが、あなたはSchoolRatingと学生の間relatioshipは多くに多くする必要があります確信していますか?格付けに1人の学生(格付けを行った学生)しかいないでしょうか?
また、SchoolRatingとProfessorRatingが非常に多くの価値属性を持っている理由はわかりません。
私はあなたがschoolRatingとStudentの関係について正しいと思う。評価には、学生が答えるカップルの余分な質問が含まれているからです。コースを追加する必要があるかどうか疑問に思っていましたテーブルは学生がコースに応じて教授を評価するので、テーブルです。 –
初回審査:他の表やSchoolRatingの拡張が必要な場合があります。
あなたが設計しているとき、あなたのオブジェクトが達成するものに焦点を当て、彼らが答えた事実の質問。
SchoolRatingには、レビューを表す値がありますか、または教師の設定量の集計ですか?これらのレビューはどのように教授の評価で修正されていますか...またはそれらは関係がありませんか? (彼らは明らかに学校で行っています...あなたのデザインはどのようにこれを達成していますか?)
なぜ学生はSchoolRatingと直接関係がありますか?このテーブルは、教授および/またはいくつかの評価システムから採点された値の真のFACTテーブルではないでしょうか?
なぜ、学生は複数の教師や複数のレビューを持たないのですか?生徒がクラスに失敗しても、レビューを残す場合...あなたの構造は、同じ学生の新しいレビューをどのように修正しますか?
最後に、リレーショナル設計で継承理論を使用しないでください。リレーショナルセット理論とはまったく両立しておらず、あなたのシステムからそれを削除することを早く学ぶほど良いでしょう。
寸法と事実を考えてみましょう。カーディナリティー、またはゆっくりと変化するdimmensionsに対処する方法について、データベース列が効率をもたらすかどうかを考えてください。
デザインに疑問があるときはいつでも、スタースキーマ、Snowflakeデザイン、耐久性キー、自然キーなどのコンセプトを参考にしてください。
最終的には、表がどのような質問に答えることができ、どのようにシステムがこれらの表にアクセスするかは、標準化に関連する設計方法論と同じくらい重要です。
- 1. データベース設計:データベース内のエンティティ間の関係を定義する
- 2. データベースの設計/関係
- 3. データベース設計の多対多の関係
- 4. MySQLデータベースのスキーマ設計との関係
- 5. 1対多関係データベース設計
- 6. エンティティ設計における外部キーの関係
- 7. データベース設計で使用する関係の種類を決定する方法
- 8. データベーススキーマの関係が設計
- 9. User、UserRoleのデータベース設計 - 多対多の関係
- 10. SQLデータベース設計|マネージャとグループの役割の関係
- 11. 関係データベース設計(MySQLを使用して)
- 12. サブ列または多対多関係のデータベース設計
- 13. SQL Serverデータベース設計ユーザーとイベントテーブルの関係
- 14. Microsoft Accessデータベースの設計:「行ソース」(コンボボックス内)と「関係」
- 15. データベース設計 - これらの関係を管理する最善の方法
- 16. エンティティ関係図
- 17. SQLデータベースの設計ERD - が異なるため、関数の空のエンティティ
- 18. Spring Data:2つのエンティティ間の関係を設定する
- 19. Grailsエンティティの関係
- 20. Doctrine2エンティティの関係
- 21. ドクトリンの関係 - エンティティ
- 22. データベース設計とアプリケーションロジックに関するヘルプ
- 23. ER:エンティティ関係図
- 24. データベース設計 - 異なる属性を持つ同じエンティティ
- 25. エンティティ間のコアデータの関係
- 26. エンティティの関係とエンティティを変換するための戦略
- 27. Doctrineエンティティの関係混乱
- 28. エンティティ設計提案
- 29. GameControllerのUIの関係を設計する
- 30. データベースの関係
Dudu私は私のデザインであなたのポイントを実装しようとしましたが、私は失敗し続けました。あなたは新しいエンティティの関係図を表すことができますか? –
データを扱うためのアドバイスをしてください。小さなデータサンプルを作成し、それを再生します。他のすべてについては忘れてください。作業が終わったら、コード/理論などに戻ってください。あなたがこれをした後に私に話してください。 –