Entity-framework-database-setup

提供:Dev Guides
移動先:案内検索

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の関係を使用するかもしれません-

  • 多くの列を持つテーブルを分割します。
  • セキュリティ上の理由から、テーブルの一部を分離します。
  • 寿命が短く、テーブルを削除するだけで簡単に削除できるデータを保存します。
  • メインテーブルのサブセットにのみ適用される情報を保存します。