2つのテーブル間の結合の基数とは、一方のテーブルの行と他方のテーブルの行の間の数値的な関係である。 一般的な基数には1対1、1対多、多対多があります。
例えば、電子カルテのデータベースを考えてみましょう。 このようなデータベースには、次のようなテーブルが含まれます。
- 医師に関する情報を含む
doctor
テーブル、 - 治療中の医療対象に関する
patient
テーブル、 - 各病院訪問に関するエントリを含む
encounter
テーブル、
これらのエンティティ間に、多くの医師を含む出会いなど自然関係が存在する場合。 医師には多くの患者がおり、患者は多くの医師に会うことができるため、doctor
のレコードとpatient
のレコードの間には多対多の関係があります。 patient
のレコードと encounter
のレコードの間には、1 対多の関係があります。なぜなら、患者は多くの出会いを持つことができ、それぞれの出会いは 1 人の患者だけを含むからです。
データモデリングでは、データ要素のコレクションは、「データベース属性」と呼ばれるデータフィールド名のグループを含む「データテーブル」にグループ化されます。 テーブルは「キーフィールド」によってリンクされている。 主キー」は、その「特命表」にフィールドを割り当てる。 例えば、”Doctor Last Name” フィールドは Doctor テーブルの主キーとして割り当てられ、同じ姓の人はすべて名前の最初の3文字にしたがってアルファベット順に整理されます。 テーブルには、そのフィールドが他のテーブルの主キーにリンクされていることを示す外部キーもあります。
複雑なデータモデルでは、何百もの関連テーブルが含まれることがあります。 コンピュータ科学者のエドガー F. コッドは、リレーショナル データベースを分解して整理するための体系的な方法を作成した。 データベースのテーブルとそのキーを整理するコッドの手順は、データベースの正規化と呼ばれ、特定の隠れたデータベース設計エラー (削除異常や更新異常) を回避することができます。 現実世界では、データ モデリングは重要です。なぜなら、データが大量になると、キーでリンクされたテーブルを使用して、プログラムによるデータの検索を高速化しなければならないからです。 もしデータモデルがうまく作られないと、たった100万レコードのコンピュータアプリケーションシステムでさえ、エンドユーザーに受け入れがたい応答時間の遅れを与えることになる。 このため、データモデリングは、現代のソフトウェア開発者に必要なスキルの要となるものです。