
データベースという言葉を皆さんも耳にしたことはあるのではないでしょうか。
ITが普及するにつれて、世間的にも認知が広まったこのデータベースですが、その種類や詳細を知っている方は少ないと思います。
今回はそんなデータベースについて解説していきたいと思います。
- データベースとは?
- データベースの種類
- リレーショナル型データベース(RDB)が主流な理由
- データベース管理システム(DBMS)とは
データベースとは?
データベースとは、簡単にいうと特定の情報を集めたデータの集まりです。
特徴としては集めたデータを整理して保存・取り出すことができます。
データベースにデータをまとめることにより、複数のデータをまとめて管理することができ、目的のデータを簡単に探すことができるようになります。
また、データベース内でデータの編集を行うことができ、必要に応じたデータを取り出しやすいようにデータ整理しておくことも可能です。
このように、データベースを活用することにより、煩雑なデータに対する処理を簡単に行うことができます。
データベースの種類
データベースの種類について、昨今はリレーショナル型データベースと呼ばれる、よく見るExcelやスプレッドシートのような「表」で構成されたデータベースが主流になっています。
ここでは、リレーショナル型データベースを含む、データベースの種類についてご説明します。
リレーショナル型データベース(関係データベース)
リレーショナル型データベースは、行と列で構成される表でできたデータベースです。
縦を「列」、横を「行」として列をカラム、行をレコードと呼びます。
カラムには属性が割り当てられ、一般的な例でいうと年齢や氏名、社員IDなどが属性として割り当てられます。
レコードにはデータ自体が記録されていきます。ここでも例を出すと、一人の人をデータとして記録する場合は、その人がもつ年齢や氏名などを、レコードに一行ずつ登録していくイメージです。
階層型データベース
階層型データベースは、ツリー状にデータを保持するデータベースのことで、親データに対して子データが複数できる形状のデータベースです。
階層型データベースは、特定のデータへのアクセスが限定的なルートでのみ行われることから、データへのアクセス速度が早いという特徴があります。
しかし、子データは親データと複数関係をもつことができないため、他に同様の親子構造でデータをもつ場合に、データを重複してもつ必要があります。
また、データの追加や削除をする場合においても、検索対象へのアクセスルートを再登録する必要あるため、柔軟性にかけるのが階層型データベースの欠点です。
ネットワーク型データベース
ネットワーク型データベースは、階層型データベースの子データが親データと複数関連を持つことができない部分を払拭したデータベースです。
必要に応じて網目状に繋がりを持つことで、データの重複を防ぐことができます。
しかし、階層型データベースと同様に、データ構造を柔軟に変更することが難しいため、データの構造変更に対する自由度は低いといえます。
リレーショナル型データベース(RDB)が主流な理由
現在、世の中主流となっているデータベースがリレーショナル型データベースです。
リレーショナル型データベースは、SQLというデータの定義と操作を行う言語を使うことにより、自由度が高い状態でデータを扱うことができます。
データの出し入れや新しい表の作成、データ構造の変更にもこのSQLを使うことで柔軟に対応できます。
また、昨今では通信の速度が高速化し、多くのデータが蓄積できるようになった背景から、世界的にデータ容量が増えています。
こういったデータの増加にも柔軟に対応できるのが、リレーショナル型のデータベースで、多くの企業や団体に導入されています。
データベース管理システムと(DBMS)とは
データベース管理システムは、データを効率よく利用するためにデータベースを統合的に管理するシステムです。
データベース管理システムができる前は、直接ファイルに対してデータの保存や読み出しを行っていました。
しかし、管理方法が一貫していなかったため、データの保全や操作への配慮からデータベース管理システムが開発されました。
この、データベース管理システムは国際的に標準化されていて、SQLを用いて製品の違ったデータベースでも操作することができるようになっています。
データベース管理システムは、データの整合性を保ち、データの改竄などからデータを守ります。
また、バックアップを行い、復旧するといった機能を持った製品も世の中で多く使われています。
データベース管理システムの中では、Oracle社のOracle DatabaseやMicrosoft社のSQL Server、オープンソースソフトウェアのMySQLなどが広く使われています。
以上、データベースについて、少しは理解を深めていただけたでしょうか。
私たちEderorでは、こういった知識の発信やプロのエンジニア主導のコミュニティ運用も行っておりますので、ご興味のある方は是非、お問い合わせください。