Entity-framework-database-setup
Entity Framework-データベースのセットアップ
このチュートリアルでは、単純な大学データベースを使用します。 大学のデータベースは全体としてはるかに複雑になる可能性がありますが、デモと学習の目的で、このデータベースの最も単純な形式を使用しています。 次の図には、3つのテーブルが含まれています。
- 学生
- コース
- 入会
用語データベースが使用されるときはいつでも、1つのことが頭に浮かびます。それは、ある種の関係を持つ異なる種類のテーブルです。 テーブル間の関係には3つのタイプがあり、異なるテーブル間の関係は、関連する列の定義方法によって異なります。
- 1対多の関係
- 多対多の関係
- 一対一の関係
1対多の関係
1対多の関係は、最も一般的なタイプの関係です。 このタイプの関係では、テーブルAの行はテーブルBの多くの一致する行を持つことができますが、テーブルBの行はテーブルAの一致する行を1つだけ持つことができます。 たとえば、上の図では、StudentとEnrollmentテーブルには1対多の関係があり、各学生には多くの登録がありますが、各登録は1人の学生のみに属します。
多対多の関係
多対多の関係では、テーブルAの行はテーブルBの多くの一致する行を持つことができ、逆もまた同様です。 そのような関係を作成するには、ジャンクションテーブルと呼ばれる3番目のテーブルを定義します。このテーブルの主キーは、テーブルAとテーブルBの両方からの外部キーで構成されます。 たとえば、StudentテーブルとCourseテーブルには、これらの各テーブルからEnrollmentテーブルへの1対多の関係によって定義される多対多の関係があります。
一対一の関係
1対1の関係では、テーブルAの行はテーブルBの一致する行を1つしか持つことができません。逆も同様です。 関連する列の両方が主キーであるか、一意の制約がある場合、1対1の関係が作成されます。
この方法で関連するほとんどの情報はオールインワンテーブルになるため、このタイプの関係は一般的ではありません。 あなたは1対1の関係を使用するかもしれません-
- 多くの列を持つテーブルを分割します。
- セキュリティ上の理由から、テーブルの一部を分離します。
- 寿命が短く、テーブルを削除するだけで簡単に削除できるデータを保存します。
- メインテーブルのサブセットにのみ適用される情報を保存します。