データベースとデータモデル


データモデルの概念(1)

  • Name
    データモデル
    Type
    Description
    • 現実世界の情報をコンピュータで表現するために簡略化し、抽象化して体系的に表現した概念的なモデル
    • データベース設計のプロセスでデータの構造(スキーマ)を論理的に表現するための知的ツールとして使用される
  • Name
    データモデルの構成要素
    Type
    Description
    • エンティティ
    • 属性
    • 関係
  • Name
    データモデルの種類
    Type
    Description
    • 概念的データモデル:現実世界の理解を助けるために抽象的な概念で表現するプロセス(代表的なものにE-Rモデルがある)
    • 論理的データモデル:概念的な構造をコンピュータが理解し処理できるコンピュータ世界の環境に合わせて変換するプロセス
    • 物理的データモデル
  • Name
    データモデルの表現要素
    Type
    Description
    • 構造:論理的に表現されたエンティティタイプ間の関係として、データの構造と静的な特性を表現
    • 操作:実際のデータを処理する作業の仕様としてデータベースの操作を支援する基本ツール
    • 制約条件:実際のデータの論理的な制約条件を保持するデータベースの論理的制約条件
데이터 모델의 개념

データモデルの構成要素(2)

  • Name
    エンティティ
    Type
    Description
    • データベースに表現されるもので、概念や情報の単位
    • 識別子によって識別される
    • 他のエンティティと1つ以上の関係を持つ

    エンティティの追加説明

    1. エンティティタイプ:属性だけで記述されたエンティティの定義
    2. エンティティインスタンス:エンティティを構成し、各属性が値を持つもので、1つのエンティティを表す
    3. エンティティセット:エンティティインスタンスの集合
  • Name
    属性
    Type
    Description
    • データベースを構成する最小の論理単位
    • データアイテムまたはデータフィールドに対応
    • 属性の数を「次元」または「度」と呼ぶ

    例えば、ゲームを構成する属性がある場合、ゲームの種類、作成日、無料かどうかなどの属性を構成できる。

    属性のエンティティ構成方法

    1. プライマリキー属性(Primary Key Attribute):エンティティを一意に識別する属性
    2. 外部キー属性(Foreign Key Attribute):他のエンティティとの関係で含まれる属性
  • Name
    関係
    Type
    Description
    • エンティティとエンティティの間の論理的な接続
    • エンティティ間の関係と属性間の関係がある

    関係の形態

    1. 1:1(一対一):エンティティ集合Aと各要素がエンティティ集合Bの要素1つと対応する関係
    2. 1:N(一対多):エンティティ集合Aと各要素はエンティティ集合Bの要素複数と対応しているが、エンティティ集合Bの各要素はエンティティ集合Aの要素1つと対応する関係
    3. N:N(多対多):エンティティ集合Aの各要素はエンティティ集合Bの要素複数と対応し、エンティティ集合Bの各要素はエンティティ集合Aの要素複数と対応する関係

    関係の種類

    1. 依存関係:2つのエンティティ間の従属関係を表す
    2. 重複関係:2つのエンティティ間で2回以上の従属関係が生じる関係
    3. 再帰関係:エンティティが自分自身と関係を持つもので、循環関係とも呼ばれる
    4. 排他関係:AND関係とOR関係に分けられる
데이터 검증

識別子(3)

  • Name
    識別子
    Type
    Description
    • 1つのエンティティ内で各インスタンスをユニークに識別できる識別子
    • すべてのエンティティは少なくとも1つ以上の識別子を持たなければならない。
  • Name
    候補識別子
    Type
    Description
    • エンティティ内で各インスタンスをユニークに識別できる属性または属性の集合
    • 1つのエンティティには複数の候補識別子が存在することがあり、代表性を示すものを主キー、その他を副次識別子と呼ぶ。

    主キーの特徴

    1. ユニーク性:ユニークに識別される必要がある。
    2. 最小性:ユニーク性を満たし、最小限の属性で構成される必要がある。
    3. 不変性:主キーが一度指定されると、その識別子は変更されない。
    4. 存在性:主キーが一度指定されると、属性には必ずデータが存在する必要がある。

E-R モデル(4)

  • Name
    E-R(エンティティ-関係)モデル
    Type
    Description
    • ピーター・チェン(Peter Chen)によって提案され、基本的な構成要素が確立されました。
    • 概念的データモデルの代表的なものです。
    • データをエンティティ、関係、属性の形で記述します。
    • E-R ダイアグラムで表現され、1:1、1:N、N:N の関係タイプを制限なく示すことができます。
  • Name
    E-R ダイアグラム
    Type
    Description
    • 四角形: エンティティ(Entity)タイプ
    • ひし形: 関係(Relationship)タイプ
    • 楕円形: 属性(Attribute)
    • 関係: 1:1、1:N、N:N の関係に対応する数を線の上に記述
ER 다이어그램

関係型データベースの構造 / 関係型データモデル(5)

  • Name
    関係型データベース
    Type
    Description
    • データ間の関係を定義するために2次元のテーブルを使用するデータベース
    • エンティティ(Entity)と関係(Relationship)の両方をリレーション(Relation)と呼ばれるテーブルで表現するため、エンティティにはエンティティリレーションと関係リレーションの両方が存在します。
  • Name
    関係型データベースのリレーション構造
    Type
    Description
    • リレーション(Relation)はデータをテーブル(Table)の形式で表現したもので、リレーションスキーマと実際の値であるリレーションインスタンスから成り立っています。
  • Name
    タプル
    Type
    Description
    • リレーションを構成する各行です。
    • タプルの数を「基数(Cardinality)」または「次数(Degree)」と呼びます。
  • Name
    属性
    Type
    Description
    • データベースを構成する最小の論理単位です。
    • 属性はエンティティの特性を記述します。
    • 属性の数を「次数(Degree)」または「基数(Cardinality)」と呼びます。
  • Name
    ドメイン
    Type
    Description
    • 1つの属性(Attribute)がとることができる原子値の集合です。

    たとえば、性別という属性に男性と女性がある場合、ドメインには男性と女性という集合が含まれます。

  • Name
    リレーションの特徴
    Type
    Description
    • リレーションを構成するタプルを一意に識別するために、属性の部分集合キー(Key)を設定します。
    • 属性の値は、論理的にそれ以上分割できない原子値のみを保存します。
  • Name
    関係型データモデル
    Type
    Description
    • 最も広く使用されているデータモデルです。
    • プライマリキー(Primary Key)およびそれを参照する外部キー(Foreign Key)を使用して、データ間の関係を表現します。
    • 関係モデルの代表的な言語はSQLです。
    • 関係を1:1、1:N、N:Mの関係を自由に表現できます。
관계형 데이터베이스의 구조 그리고 관계형 데이터 모델