カーディナリティとは何かを理解しているので、説明しないでください;-)
カーディナリティを実行する目的がデータモデリングで何であるか、そしてなぜ私が気にする必要があるのかを知りたいです。
例:ERモデルでは、関係を作成し、関係にカーディナリティを追加します。開発プロセスでカーディナリティをさらに使用するのはいつですか?カーディナリティを気にする必要があるのはなぜですか?
たとえば、ERモデルを完成させた後、カーディナリティをどのように、いつ、どこで使用しますか。
ありがとう :-)
カーディナリティとは何かを理解しているので、説明しないでください;-)
カーディナリティを実行する目的がデータモデリングで何であるか、そしてなぜ私が気にする必要があるのかを知りたいです。
例:ERモデルでは、関係を作成し、関係にカーディナリティを追加します。開発プロセスでカーディナリティをさらに使用するのはいつですか?カーディナリティを気にする必要があるのはなぜですか?
たとえば、ERモデルを完成させた後、カーディナリティをどのように、いつ、どこで使用しますか。
ありがとう :-)
カーディナリティは、テーブルのデザインについて重要なことを教えてくれます。1:mの関係では、親主キー列を指す子テーブルに外部キー列が必要です。多対多の関係とは、2人の参加者を指す外部キーを持つJOINテーブルを意味します。
たとえば、ERモデルを完成させた後、カーディナリティをどのように、いつ、どこで使用しますか。
データベースを物理的に作成する場合、FKの方向、NULL能力、および数は、ER図の関係の両方のエンドポイントのカーディナリティによって異なります。一部のテーブルとキーを「追加」または「削除」することもできます。
例えば:
すべてのカーディナリティを物理データベースで(簡単に)宣言的に表すことができるわけではありませんが、幸いなことに、最も役立つ傾向があるカーディナリティは...
1これは、新しいデータを挿入するときに鶏が先か卵が先かという問題を引き起こします。これは通常、制約チェックをトランザクションの最後まで延期することで解決されます。
カーディナリティは、2つのエンティティ間の関係に関する重要な情報です。実際のテーブルアーキテクチャをモデル化するときに、後のモデルでそれらが必要になります。関係のカーディナリティを知らなければ、テーブルとテーブル間のキー制限をモデル化することはできません。
たとえば、車には正確に4つの車輪が必要であり、それらの車輪は正確に1つの車に取り付けられている必要があります。カーディナリティがなければ、3、1、0、12などのホイールを備えた車を所有することができ、さらに他の車と共有することができます。もちろん、コンテキストによっては、これは理にかなっていますが、通常はそうではありません。
データモデルは一連の制約です。制約がなければ、何でも可能です。カーディナリティは(特別な種類の)制約です。ほとんどの文化では、結婚はちょうど2人の間の関係です。(一部の文化では、これらの人は異なる性別を持っている必要があります。)
データモデリングの問題は、データに課す制約を指定する必要があることです。一部の制約(一意の外部キー)はより重要であり、他の制約(「給与<100000」)ほど問題ドメインに依存しません。ほとんどの場合、カーディナリティはクリティカルと偽物の間のどこかになります。
アプリケーションのデータレイヤーを作成していて、ORMを使用することにした場合は、おそらくそれがエンティティフレームワークです。
モデルとモデルマップを作成する必要がある場合があります。その時点で、ERDを引き出し、ダイアグラムに配置したカーディナリティを確認し、データレイヤーの形状がデータベースの形状と一致するように正しい関係を作成することができます。