データ モデリングにおいて、カーディナリティとは、あるテーブルの行と別のテーブルの行の間の数値的な関係のことです。一般的なカーディナリティには、1 対 1、1 対多、および多対多があります。カーディナリティは、データ モデルの定義や、データセット内のエンティティの分析に使用できます。
人間関係
たとえば、電子健康記録のデータベースを考えてみましょう。このようなデータベースには、次のようなテーブルが含まれている可能性があります。
doctor医師に関する情報が記載された表。- 治療を受ける医療対象者のためのテーブル
patient。 appointment各病院訪問のエントリを含む表。
これらのエンティティ間には自然な関係が存在します。
- 医師には多くの患者がおり、患者は多くの医師に診てもらうことができるため、のレコードと のレコードの間には多対多の関係があります。
doctorpatient - 患者は複数の予約を持つことができ、各予約には1人の患者しか関与しないため、のレコードと のレコードの間には1対多の関係があります。 [1]
patientappointment - 1 対 1 の関係は、情報を簡潔に提供し、理解しやすくするために、テーブルを 2 つに分割する場合によく使用されます。病院の例では、このような関係を使用して、医師独自の専門情報と管理の詳細を区別することができます。[引用が必要]
モデリング
データモデリングでは、データ要素のコレクションは「データテーブル」にグループ化され、その中には「データベース属性」と呼ばれるデータフィールド名のグループが含まれます。テーブルは「キーフィールド」によってリンクされます。「主キー」は、フィールドをその「特別な順序テーブル」に割り当てます。たとえば、「医師の姓」フィールドは、同じ姓を持つすべての人がファーストネームの最初の3文字に従ってアルファベット順に整理されている医師テーブルの主キーとして割り当てられます。テーブルには、フィールドが別のテーブルの主キーにリンクされていることを示す外部キーも設定できます。 [2]
モデルの種類
複雑なデータモデルには、何百もの関連テーブルが含まれることがあります。コンピュータ科学者のエドガー・F・コッドは、リレーショナルデータベースを分解して整理するための体系的な方法を生み出しました。[3]コッドがデータベーステーブルとそのキーを整理する手順は、データベース正規化と呼ばれ、隠れたデータベース設計エラー(削除の異常や更新の異常)を回避します。実際には、データベース正規化のプロセスにより、テーブルが多数の小さなテーブルに分割されることになります。[3]

現実の世界では、データ モデリングは非常に重要です。データの量が増えると、プログラムによるデータ取得を高速化するために、キーでリンクされたテーブルを使用する必要があります。データ モデルが適切に作成されていない場合、レコードが 100 万件しかないコンピューター アプリケーション システムでも、エンド ユーザーに許容できない応答時間の遅延が発生します。このため、データ モデリングは、現代のソフトウェア開発者に必要なスキルの要です。[引用が必要]
データベースモデリング技術
実体関係モデルは、実体関係図 (ERD) を作成する手法を提案しており、データモデルの実体の種類、関係、カーディナリティに関する情報を取得するために使用できます。カラスの足は1 対多の関係を示します。または、1 本の線は 1 対 1 の関係を表します。[4]
アプリケーションプログラムモデリングアプローチ
データベース構造設計に関連するオブジェクト指向アプリケーションプログラミングパラダイムでは、UMLクラス図がオブジェクトモデリングに使用されることがあります。その場合、オブジェクトの関係はUMLの関連付けを使用してモデル化され、それらの関連付けの多重度を使用してカーディナリティを示します。次に例を示します。[5]
参照
参考文献
- ^ Clarke, Alex; Hasnani, Aleen; Al-Ahasan, Abdullah; Islam, Nazmul (2022年9月7日). 「データモデリングとエンティティ関係図(ERD)」.レジャイナ大学 - コンピューターサイエンス学部。
- ^ 「エンティティ・リレーションシップ・マッピング」。Oracle Corporation。2002年8 月 1 日閲覧。
- ^ ab Codd, EF (1990). データベース管理のためのリレーショナルモデル: バージョン2. マサチューセッツ州レディング: Addison-Wesley. ISBN 0-201-14192-2. OCLC 19590880.
- ^ 「Crow's Foot Notation」. レジャイナ大学.
- ^ 「Cardinality」. datacadamia. 2022年9月7日.
外部リンク
- UML の多重度をデータ モデルのカーディナリティとして - http://www.agiledata.org
- データ モデリングにおけるカーディナリティ - Adam Alalouf、テンプル大学
- Techopedia の Cardinality
- Geeksforgeeksのカーディナリティ
- SQL World のデータベース カーディナリティ
