タグ : IT資格

データベースのデータモデル-その3 『リレーショナルデータモデル』

前回の記事では『論理データモデル』階層型データモデルとネットワーク型データモデルを見てきました。

この記事では、現在の主流のデータモデル「リレーショナルデータモデル」です。
リレーショナルデータモデルは、データを2次元の表で表します。
2次元の表は、EXCELの表を思い浮かべるとわかりやすいですね。
この表を「テーブル」といいます。
テーブルの列を「フィールド」、行を「レコード」といいます。
フィールドでは、データ項目を、レコードにはデータそのものを表します。
リレーショナルデータモデル

現実社会では、2次元の表がそのまま使われていることも多く、人間にとって理解しやすい形です。

階層型データモデルとネットワーク型データモデルでは、アプリケーションがデータ構造に強く依存しているため、データ構造を変更するには、アプリケーション側もルートの再修正が必要になり、容易に変更することができませんでした。

リレーショナルデータモデルでは、データ構造がシンプルでわかりやすく、アプリケーションの変更も容易にできるメリットがあります。

リレーショナルデータベースには、さまざまな種類が存在します。
商用データベースでは

  • オラクル社のOracle Database
  • マイクロソフト社のSQL Server
  • IBM社のDB2

オープンソースでは

  • MySQL
  • FireBird
  • PostgreSQL

データベースのデータモデル-その2 『論理データモデル』

前回『概念データモデル』について学びました。
今回は、論理データモデルについてです。
論理データモデルは概念データモデルよりも、コンピューターに近い形で表現したものです。

論理データモデルは、データベースの種類によっていくつかに分けることができます。

階層型データモデル

階層型データモデルは、ツリー状に表現するデータモデルです。
会社の組織図のような形ですね。

階層型データモデル

階層型データモデル

このような形ですと必要なデータに対してルートが1つしかない状態になります。
1対多か1対1の関係になります。
Bにbが従属していますが、Dにもbが従属している。ということが起こってしまいます。
データの冗長化が起こりやすくなります。

ネットワーク型データモデル

ネットワーク型データモデルは、データのつながりを網状にし、多対多に対応させたデータモデルです。
ルートが1つしかなかった階層型データモデルでのデータの冗長化は発生しません。

ネットワーク型データモデル

ネットワーク型データモデル

ただ、これでは、データベースが巨大化すれば、複雑さがどんどん増してしまいます。

階層型データモデルにも言えることですが、アプリケーションはデータの構造に強く依存します。
データ構造に変更があれば、アプリケーションも修正を加えなくてはいけません。
容易にデータ構造を変更することができません。

データベースのデータモデル-その1 『概念データモデル』

データベースといっても様々な種類があります。
データベースを構築するには、まず現実社会のデータをコンピューター上で扱いやすくする必要があります。
この作業をデータモデリングといいます。
データモデリングによって、置き換えられたデータをデータモデルといいます。

データモデルは、データモデリングの段階によって分けることができます。

概念データモデル

概念データモデル、データベース設計において初期段階で作成されます。
概念データモデルはER図での記述が代表的。
エンティティ(Entity:実体)とリレーションシップ(Relationship:関連)の頭文字をとったもの。

ER図
E-R図の3つの記号
□ 実体=対象を構成する要素
◇ 関連=実体間の関係
○ 属性

実体には、人や商品などの「物」が該当します。
関連には、発注や受注、納品、所属などの「イベント」が該当します。
~すると言い換えられる単語が関連。
関連は、「1対1」「1対多」「多対多」のパターンで実体と実体を結びつけます。

属性(Attribute)は、実体と関連における固有の情報や特性を表現します。

次回は、論理データモデルをみてみましょう!

メモリの役割

メモリには、USBメモリなどの補助記憶装置としての役割をもつものも最近では多く、お持ちの方も多いでしょう。

今回ここで言う

「メモリとは」
CPU(中央処理装置)が直接読み書きできるRAMやROMなどの半導体記憶装置のことです。
メインメモリとも言います。

CPUが読み書きするための情報を一時保管しておく場所です。
メモリが記憶しておく情報は、CPUの計算結果やプログラム自体などです。
CPUは、メモリに記憶された命令を取り出して、命令を読んでそのとおりの動作を行います。

CPUの役割

CPUは、プログラムの命令を処理・実行します。
パソコンの頭脳にあたります。
CPUが処理する命令の一つ一つは、単純なものです。
例えば、2つの数を足したり、メモリから数を読み込んだり、メモリに数を書き込んだりなどです。
単純な命令も、膨大な量を高速に実行することで、私たちにとって実用的な仕事をすることができるのです。