学習記録【データベース】

guritogura
·
  • データベースのモデル

    1. 関係データモデル

      • データを表で管理。

      • 主キーは重複とNULLがダメ。

      • 外気キーを定義し、参照一貫性を保つ。

      • 正規化

        • データが重複したり、データ更新の際に矛盾が生じたりしないようにすること

        • 関係従属とは、ある属性の値が決まると、他の属性の値も一意にきまること。

        • 正規化のゴールは全ての矢印(関係従属)が主キーから出るまで、表を分割すること。

    2. 階層データモデル

    3. ネットワークデータモデル

  • インデックス

    データベースに格納されているデータの検索を高速に行うための仕組み。

    データベース内のテーブルや列に関する特定のキー値を格納し、その値を元にデータの高速な検索や並替えを可能にします。

  • B+木インデックス

    木構造を使ってデータを管理する方式。

    RDBMSで最も一般的に使用されている。 節ごとにキー値の範囲とその子要素へのポインタを保持しているので、範囲検索をスムーズに行えるほか次のような性質がある。

    • 木構造の深さが一定になっているので、どのようなキー値であっても探索コストが大きく変わらない

    • 大量のデータに対する操作であっても、ある程度の速度が期待できる

    • インデックスノードはソートされた状態になっているので整列処理が高速に行える

  • ハッシュインデックス

    • ハッシュ関数を使用してキー値とレコードの格納位置を直接関連つける方式。

    • キー値をもとにレコードの格納位置を一意に特定できるので、B+木インデックスより高速なアクセスが可能。その反面、範囲検索やキー値を順番に読み込んで処理を行う用途には使用できない。

@guritogura
育休中にプログラミングを勉強しています。 日々の日記などをかきます。