私が構築している学生情報システムに固有のエンティティ作成に関する質問があります。私はPersonテーブル(ID ..)を作成しました。私は自分の生徒、親参照をどのように処理できるかを調べようとしています。 PersonテーブルをFK関係で参照する2つの別々のテーブル(Student、Parent)を作成することをお勧めしますか? Person(姓、名、SSN ...)の詳細はすべてPersonテーブルに設定されていますが、親と学生の間には違いがあります。データベース構造:他のテーブルによって参照されるPersonテーブルの作成
0
A
答えて
0
親と学生の間には根本的な違いがあるため、2つのテーブルが望ましい解決策です。こうすることで、学生と親をつなぐ関係を簡単に作成できます。
もう1つの方法は、特定のレコードに適用されない列にNULL値を使用することです。しかし、関係が常に学生と親を結びつけることを確実にすることはより難しいでしょう。
0
私はそれが清潔な解決策であることにケーシー・ロビンソンと同意します。
しかし、あなたはすでに他のコードで使用されている人口Personテーブルを持っている場合...要するに、あなたはここで、その後Personテーブルを変更することはできません、私が示唆しているものです:
テーブルを作成します(studentParent )には、両方の外部キー(student_idとparent_id)があります。 studentParent.student_id =学生のPerson.idとstudentParent.parent_id =親のPerson.id。
この方法で、Personテーブルを変更する必要はありません。そして、親、学生の関係を作成することができます。
0
詳細を知らないうちにPersonとStudentの2つのテーブルで十分であるようです。 student_idとParent_idのようなStudentテーブルの2つのカラムを持ち、それぞれPersonテーブルのPerson_idへのFKです。これは、すべての人ではなく、親である学生だけを知る必要があると仮定しています。また、学生と親がともに人であると仮定します。
関連する問題
- 1. Excel構造化参照テーブルの構文
- 2. 構造化参照テーブル - 基準
- 3. 他のデータベースのテーブルを参照してストアドプロシージャを作成できません。
- 4. 他のテーブルの参照値
- 5. JPA:外部キーによって参照されるテーブルの別のフィールドによるインデックス作成
- 6. レプリケートされているテーブルのデータベース構造を変更する
- 7. 他のテーブルで参照されていないレコード、ActiveRecordクエリ
- 8. 他のテーブルを参照する方法
- 9. 多重テーブルの階層構造を参照してください
- 10. データベース設計:テーブル構造
- 11. MS Excel:構造化/テーブル参照の動的使用
- 12. テーブルと参照テーブルの参照
- 13. JNAの参照構造による継承構造
- 14. 他の構造体の内部にある構造体の配列のメンバー変数は、参照によって渡されません。
- 15. web2pyリストを作成する方法:db.pyの他のテーブルの参照
- 16. oracleデータベースのテーブル構造の設計
- 17. まだ作成されていないテーブルを参照するには?
- 18. (構造のみ)既存のテーブルからテーブルを作成しようと
- 19. セルパラメータによって参照されるテーブル列を選択します。
- 20. 構造のテーブル
- 21. 異なるテーブル名で同じテーブル構造を持つデータベース構造
- 22. jquery mobileによって作成されたテーブルのラジオボタン
- 23. T-SQL構造が別のテーブルにあるテーブルを作成する方法は?
- 24. 私はそうのように構成されているMySQLのテーブルを持っているテーブル
- 25. 他のテーブルからのプリミティブキーで構成される複合プライマリキー
- 26. SQLクエリの作成でいくつかのテーブルが参照される
- 27. SQLサーバーにテーブルを作成するためのDBFファイルテーブル構造
- 28. テーブルを参照するSQL参照テーブルの値
- 29. yii2の他のテーブルを参照するテーブルを取得するにはどうすればよいですか?
- 30. MySQLテーブルの構造
2つの別々のテーブル(Parent、Student)を作成すると、合計3つのテーブル(Personテーブルを含む)があります。どのようにしてこれらの各テーブルに重複したレコードが作成されるのを避けるのですか?私のアプリケーションは生徒を作成して親に接続する必要がありますが、私は自分の質問について明確にすべきでした。私は人テーブルを必要とすることさえ求めていましたか? – Warz
personテーブルは必要ありません。技術的に親と生徒は人のサブクラスになることができます。しかし、この例ではほとんど役に立たない余分な作業がたくさんあります。私は間違いなく人のテーブルから正しい(学生または親の)テーブルにエントリを移行し、人のテーブルをドロップします。 –
私のアプリケーションの役割が増えているため、私はPersonテーブルを使用しました。私はしかしあなたが言及したように簡単な関係と接続のための(学生&親)テーブルを作成することに終わった。ご協力いただきありがとうございます。 – Warz