データベースについて図解で説明
〜種類とソフトウェア〜

システム開発をする上で、データベースは必要不可欠な物になっています。

用意されたものを使用することが多いため、種類やソフトについてあまり意識しないことも多いと思います。

プログラマーの時は知っておかなくても問題ないですが、SEとして設計を行う時に知っていないと仕事にならないことがあります。

そんなデータベースについて、図を使って説明していきます。

データベースとは

データベースとは、データを蓄積することができるデータのマネージメントシステムのことです。

データの登録・更新・削除だけでなく、検索・集計をすることができます。

これをWebアプリと連携して、データの登録処理や、帳票を作成処理を行います。

そしてデータベースには種類があり、データの構成が異なっています。

データベースの種類

階層型

階層型は、データを1:nで保持します。

データを見ることで、その紐付きが全てわかります。

紐付けを考えなくでも良いため、データの抽出が速いのが特徴です。

イメージ的には会社の組織図になります。

それぞれの部と課に人が割り当てられています。
それぞれの紐付きを追っていくことで必要な情報を取得できます。
「相生」さんのように兼任する人がでると、同じ人が二つになってしまうところがデメリットです。

ネットワーク型

ネットワーク型は、n:mでデータを保持します。

階層型とほぼ同じでですが、重複したデータを紐付けて登録できます。

リレーショナル型とかぶる部分があり、使われているシステムを見たことがありません。

ほぼほぼ階層型と同じです。
異なる点は「相生」さんの重複が無くなったことです。

リレーショナル型

最もよく使用されている型です。

表形式でデータを保持しており、表と表を紐付けて検索を行うことができます。

イメージ的には、エクセルの表にどんどんデータを入力しているイメージです。

表形式にするとこのようになります。
リレーショナル型のデータベースでは、名称が重複しないように表(テーブル)を作成していきます。
この場合だと「相生」さんや「経理部」などが重複して出ているため、重複しないようにすると下記のようになります。

名称の重複をなくしたことにより、「予算課」の名称が変わったとしても1つの表を直すだけで全て紐づいて直ります。
このようにメンテナンス性が高いため、リレーショナルデータベースはよく使用されます。

主要なソフトウェア一覧

データベースを導入するにあたり、よく使用されるリレーショナル型データベースのソフトウェアを紹介します。

無料で使用できるものもあるので、気軽に勉強で使うことができます。

一度触ればデータベースのテーブルの作り方などが分かってきます。

①Oracleデータベース

Linux系のサーバでよく使用されているデータベースです。

Windowsでも導入することができ、プラットフォームを選ばないところが特徴です。

使用したデータをメモリに展開し、データベースからのデータ抽出も速く、いろいろチューニングできます。

■Oracleホームページ
https://www.oracle.com/jp/corporate/

②SQL Server

Windowsサーバの場合によく使用されます。

Microsoft製品のため、Windowsの操作に慣れていれば簡単に構築することができます。

また、クライアントがWindowsの場合にも簡単に接続することができます。

■Microsoft – SQL Server
https://www.microsoft.com/ja-jp/sql-server/sql-server-2019

Access

Microsoft Officeに含まれている製品で、OfficeのグレードがProffesionalの場合に入っています。

Accessのファイル単体でデータベースとして使用できます。

気軽にデータベースを触ってみたい場合に使用すると便利です。

■Microsoft – Access
https://www.microsoft.com/ja-jp/microsoft-365/access

MySQL

フリーで導入することのできるデータベースです。

環境はLinux系でもWindowsでもどちらでも使用されています。

導入されている例も多く、調べれば多くの情報が出てくるため簡単に導入することができます。

■MySQL
https://www.mysql.com/jp/

まとめ

DBを使用していないシステムはほぼありません。

そして、そのほとんどがリレーショナルデータベースが導入されています。

そのため、SQLを覚えておけば大体のシステムに対応することができます。

SQLは製品によって独自の関数を持っていることがありますが、基本的な使い方は同じです。

使いこなせるように慣れば、SQLだけでも武器として仕事できるようになるので必ず覚えましょう。