データベースとは
データベースは、決められた形式で整理されたデータの集まりのことを指し、集めたデータを効率的に検索・管理しやすくするためのものです。
表計算ソフト(Excelやスプレッドシート)もデータベースの要素を持っており、多くの人にとってデータベースは身近な存在となっています。
データベースと表計算ソフトは厳密には違うもので、その違いについては後ほど説明します。
データベースの種類
主にデータベースは3種類に分けられます。
階層型データベース
階層型データベースとは、データがツリー構造で蓄積されたデータベースのことを指します。
上層から下層に分岐し、「一対多」の親子関係になります。
通常、特定のデータへのアクセスには1つのルートしかありません。これにより、データの検索が迅速に行えますが、データが重複する可能性もあるため注意が必要になります。
例えば、会社の組織を階層型データベースで管理する場合、1人が複数の部署に所属していると、同じ人の情報が複数の場所に現れることがあります。
従業員数を調べたい場合などは、重複によってずれが生じる可能性があります。
ネットワーク型データベース
ネットワーク型データベースとは、階層型と構造は似ていますが、関連性のあるデータを相互に結びつけて保存します。階層型の場合は、上層から下層に向けて一方向に分岐させていましたが、ネットワーク型の場合は、下層から上層に向けても分岐させます。
階層型が「一対多」なのに対し、ネットワーク型は「多対多」の関係になり、重複登録を避けることができます。
例えば、1人が複数の部署に所属している場合、ネットワーク型データベースでは、同じ人物が複数の部署と関連付けられ、1人のデータから複数の部署にアクセスできます。
このため、階層型データベースとは異なり、1人のデータを複数回登録する必要がなくなります。
リレーショナル型データベース
リレーショナル型データベースは、表計算ソフトのような表(行と列)でデータを管理して保存します。複数のシートを組み合わせて、複雑に関連しているデータを整理しやすいデータベースとなっています。
例えば、オンラインショップなどでは、顧客情報(顧客ID・氏名・住所)、商品情報(商品ID・商品名・価格)、注文情報(注文ID・顧客ID・商品ID・個数)などを関連づけることで、特定の顧客が購入した商品履歴などを調べることができます。
データベース管理システム
データベースは、ただのデータの集まりで、自動でデータを整理することなどはできません。
そんなデータベースの整理や検索、更新、抽出を行ってくれるのがデータベース管理システム(DBMS)です。
※DBMS・・・data base management system
データベース管理システムと表計算ソフトの違い
表計算ソフトは、もともと1名または少人数向けに設計されており、膨大なデータの管理や複雑なデータ処理が苦手です。また、複数人で同時に操作をした場合、データの破損や誤削除などのミスが発生するリスクがあります。データベースに比べ検索のスピードも遅く、検索の幅も劣ります。
一方データベースは、大量のデータを整理・蓄積し、閲覧、更新、削除などの処理をした場合にも、これらの集合体を保てるよう設計されているため、膨大な量のデータ管理にも対応することができます。それと同時に、大人数のユーザーがデータを利用する際にも、迅速かつ安全にデータを利用でき、複雑な処理も可能です。
データベースの構成
データベースは、「テーブル」「カラム」「レコード」「フィールド」の4つの要素から構成されています。
- テーブル
データを保存するための表です。エクセルだとシートに該当します。 - カラム
表の「列」に該当する垂直方向のデータです。 - レコード
表の「行」に該当し、水平方向のデータです。 - フィールド
エクセルだとセルに該当し、データの最小単位になります。
データベース言語
DBMSに命令を出し、アクセス権を制御したり、データを抽出・更新したりするために使う言語のことをデータベース言語と言います。
データベースを扱うための言語でそれ以外の用途で使用することはありません。
データベース言語の中で最も利用されているのが、SQLでリレーショナルデータベースを操作する言語です。国際標準化機能(ISO)によって規格化されており、SQLを学んでおけば、ほとんどのRDBを操作できます。
SQLに関しては、また別の記事でまとめたいと思います。