応用情報技術者試験

【応用情報技術者試験対策】データベースモデルと正規化

データベースモデル

データベース化の構造を抽象化したもの。

データベースモデルには、概念データモデル、論理データモデル、物理データモデルがある。

「概念データモデル」→「論理データモデル」→「物理データモデル」の順により詳細な、具体的な設計になっていく。

↓↓こんなイメージ。

 

概念データモデル

DBMSに依存しないデータモデル。E-Rモデルが代表的。

ERモデル

Entity-Relationship Model(実体関連モデル)のこと。

データベース化する対象の世界を抽象化して、エンティティ(Entity: 実体)とリレーションシップ(Relationship: 関連)を分析する方法。

ERモデルを図にしたものが、ER図(ERダイアグラム)。

ER図の書き方にはいくつか種類があるが、細かく覚えてなくても理解できると思う。

↓のサイトが良くまとまっていた。

ER図(実体関連図) とは?

論理データモデル

DBMSに依存するデータモデル。

論理データモデルには、次の3つがある。

  • 階層モデル
    • 1対多の親子関係のデータ構造(木構造)を表現する
  • ネットワークモデル(網モデル)
    • 多対多の親子関係を表現する
  • リレーショナルモデル(関係モデル)
    • 行と列の2次元の表で表現する

物理データモデル

論理データモデルをパファーマンスやセキュリティなどを考慮してより詳細に、具体的に設計したもの。

データの正規化

正規化とはデータの冗長性を排除し、関連性の強い項目(属性)をまとめること。

データの冗長性を排除することで、データの追加・更新・削除時のデータ不整合を防ぐことができる。

メモ

例えば、注文テーブルに「注文ID」、「顧客番号」、「顧客名」、「商品名」...などのカラムがあるとする。

顧客名は顧客番号を使って、顧客テーブルから取得できるから冗長だとねー、排除できるねってこと。

もし注文テーブルに顧客名があったら、顧客の名前が変わったとき(企業買収・合併とか)に、注文テーブルの顧客名を変えなかったら、データ不整合が起きてしまう。

候補キー、主キー、外部キー

候補キーとは、行を一意に識別するための必要最低限の組み合わせ。

主キーは、候補キーのうちテーブルのレコードを特定するためのキー。複数ある場合は主に使用するものを主キーにする。

外部キーは、他のテーブルの主キーを参照するキー。

関数従属

ある属性が決まれば、別の属性を特定できることを関数従属という。社員番号がわかれば社員名がわかるといったもの。

「Aが決まれば、Bが決まる」といった関係の場合、「BはAに関数従属する」と言える。

 

イチオシ記事

1

自己紹介 フリーランスエンジニアをしているヨノと申します。 独学でプログラミングを学び、ソシャゲ・SaaS開発などを経て、2018年からフリーランスエンジニアとして活動しています。 主にバックエンド中 ...

2

はじめまして、フリーランスエンジニアのヨノと申します。 自己紹介 独学でプログラミングを学び、ソシャゲ・SaaS開発などを経て、2018年からフリーランスエンジニアとして活動しています。 主にバックエ ...

3

ネット上で色々言われているフリーランスエンジニア....。「本当はどうなの?」と思っている人は多いでしょう。 そこで本記事ではフリーランスエンジニア5年生の私が、ネット上の意見も引用しながら実態を解説 ...

-応用情報技術者試験