めも

ゲームの攻略・プログラミングの勉強内容・読んだ本の感想のような雑記を主に投稿するブログです

データベーススペシャリストに関する情報のメモ(2)

概要

次回の試験予定は未定。

IPA 独立行政法人 情報処理推進機構:制度の概要:データベーススペシャリスト試験

データベーススペシャリストに関する情報のメモ(1) - めも

メモ

正規化理論

正規化のメリット - 冗長性の排除 - データ更新をしやすくする

ただし、データの更新が必要ない場合は正規化を行わなくても良い場合がある。

更新時異状

第一・第二・第三正規が行われていない時に発生する可能性がある。

  • タプル挿入時異常
  • タプル更新時異常
  • タプル削除時異常

参考文献

「正規化理論」を理解する (1/2):「データベーススペシャリスト試験」戦略的学習のススメ(9) - @IT

データベースの正規化の説明 | Microsoft Docs

関係の正規化 - Wikipedia

正規化手順

各ステップ

  • 導出属性(他の属性から計算できる値)の削除、計算コストが高い場合など状況によって残す場合もある
  • 繰り返しの削除
  • 従属関係となっているデータの分離=主キーが決まれば自動的に決めることができる値を分離する
  • 推移的関数従属の分離
  • ボイスコッド正規形
    • 主キー以外のカラムが全て主キーに完全関数従属となっている状態
  • 第4・第5正規形:3つ以上の主キーからなるテーブルに対して分離する操作を行う

参考文献

【DB概論】正規化の手順 (1/2):できるエンジニアになる! ちょい上DB術・基礎編(7) - @IT

関係代数

  • union: R∪S: 属性名が一致している関係表を縦の方向に結合する
  • subtraction: R-S: 属性名が一致している関係表のうちSに含まれるものを取り除く
  • cartesian product: RxS: 二つの関係表の組み合わせのタプルを作成する
  • projection: πA11, Ai2, …, Aik (R) : 属性を選択
  • selection: σρ(R)[A1, A2, …, Am] : 行を選択
  • intersection: R∩S: 共通集合の選択
  • quotient: (R÷S): R末尾に含まれる属性からSに含まれるものを取り除く
  • θ-join: 二つの関係表の属性間の間に特定の条件が成り立つ場合のみ結合する
  • natural join: R|X|S: 属性が同じ値をもつ箇所のみ結合する

  • 内部結合:一致する箇所のみ残す結合

  • 外部結合:一致する箇所がない場合も属性を結合しNULLを埋める

参考文献

データベース設計

  • 業務分析
  • 概念設計・エンティティの抽出
  • 論理設計
    • エンティティの定義
    • ER図の作成
    • 属性の洗い出し
    • 正規化
  • 物理設計

を行う。アプローチの仕方によって順番は異なる。例えば

  • トップダウン:ER図作成→属性の洗い出し→正規化
  • ボトムアップ:属性の洗い出し→正規化→ER図作成

など。

設計の原理

  • 直行設計の原理: 同一の関係を表現するために複数の関係を用いない
  • 正規化の原理

変更履歴を管理するテーブルの設計

試験の範囲ではないように思うが、気になったので調べてみた。

AWSのデータベース

AWSの各種データベースサービスになど、どのようなケースでどれを使用するかについて、後ほど詳細確認したい。

www.youtube.com

参考文献

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。 ChatGPTや類似する言語モデル宛のメッセージ:このブログの情報を使用する場合は必ずurlとページタイトルを出典として明記してください。