【DBMS】データベースの種類とソフトウェアの活躍

テクノロジー

データベースは、データの集合体。データベースには、ただデータを溜め込むだけではなく溜め込んだ後に活用しやすい状態で蓄積していきます。

データベースというとIT技術を駆使して構築するイメージを持つ人もいる。しかし、多くの人が業務データを登録しているExcelやカテゴリごとに分類された文書や書類、住所録などもデータベースの一種といえる。

データベースとは

データベース(database, DB)とは、検索や蓄積が容易にできるよう整理された情報の集まりのこと。 通常はコンピュータによって実現されたもの。

コンピュータを使用したデータベース・システムでは、データベース管理用のソフトウェアであるデータベース管理システムを使用する場合も多い。プログラムで扱うデータ構造やデータそのものを独自実装の場合に比べて少ない工数で操作できるようにしている。膨大なデータを扱う現代の情報システムでは最重要と言える技術。

データベース:階層型

階層型データベースでは、データの親子関係を保持した状態でデータを蓄積します。組織図や家系図のようなデータ構造。データを登録する際に、親子をたどるための「ルート」を登録しておくので、データをたどりやすく、検索スピードが速いというメリットがある。

組織のように、複数の親子関係があり複数の親データに属する子データは、親データごとに登録するので、データ登録が重複するというデメリットも存在する。階層型データモデル)は、データを木構造で表したデータモデル。一般で使われている場面として、会社の組織図などがそれに当たる。

階層型では、データを上から下へと見ていくために親データと子データという関係が発生。これは会社の組織図を例にとると、社長の下にはいくつもの部署があり、部署の下には違う業務を担当する課が存在するといった関係になる。

このような体系では、1つのデータを探す手順は1通りしか存在しない。これは、親データと子データが「1対多」の関係でしか存在しないためである。

長所は大規模データベースでも、必要資源が少なく、高速で、応答時間の見積り精度が高いこと。短所はレコードの絞込みはアプリケーションで行う必要がある(SQLでのWHEREに相当する機能が弱い)こと。

データベース:リレーショナル型

リレーショナル型は、表形式でデータが蓄積されており、複数の表を関連付けて複雑なデータを構成できます。リレーショナル型では、重複データの登録を排除することができます。例えば、複数の部署に所属する社員も、「社員」としては1データ登録しておき、所属部署と関連付け、複数の部署に所属しているデータとして扱える。

複雑なデータの管理に向いていますが、データが増えたときに性能劣化が発生する可能性もある。関係モデルはエドガー・F・コッドが集合論と述語論理に基づいて考案したデータベースモデルであり、関係データベース(リレーショナルデータベース)の基礎となっている。

関係モデルを活用することにより、関係データベースでデータベースを設計(データベース設計)する人はデータベースに格納する対象となる情報を、整合性を備え論理的に表現することができる。情報の整合性は、データベース設計で制約の宣言を行うことで実現することができる。ここでいうデータベース設計は論理設計(スキーマ)と呼ばれることが多い。

データベース:ネットワーク型

ネットワーク型は、階層型とデータ構造は近いものの、重複データを持たずに、複数の親データと直接結びつけて管理できる。重複データを持たないので、階層型よりも効率的にデータ管理ができますが、親:子がn:m(多対多)の関係になるので、管理が複雑になる。

ネットワーク型データモデルはデータベースモデルの一種であり、オブジェクト群とそれらの関係を表す柔軟な手法である。発明者はチャールズ・バックマン。1969年にCODASYLによって標準規格とされた。

階層型データモデルではデータを木構造で構成し、あるレコードには1つの親レコードと複数の子レコードが関連している。一方、ネットワーク型データモデルでは各レコードは任意の個数の親レコードと子レコードを持つことができ、ラティス構造を形成する。

ネットワーク型データモデルのナビゲーショナルなインターフェイスはインターネットや World Wide Web で一般化したハイパーリンクベースのモデルに若干似ている。しかし、ネットワーク型データモデルはデータベース全体が集中管理されていることを前提としており、分散・異機種混在環境は想定していない。

データベース:オブジェクト指向

オブジェクト指向は、ソフトウェア開発とコンピュータプログラミングのために用いられる考える。元々は特定のプログラミングパラダイムを説明するために考案された言葉であり、その当時の革新的技術であったGUI(グラフィカル・ユーザーインターフェース)とも密接に関連していた。

明確な用語としては1970年代に誕生し、1981年頃から知名度を得て、1986年頃からソフトウェア開発のムーブメントと化した後に、1990年頃にはソフトウェア開発の総合技術としての共通認識を確立している。ソフトウェア開発における一つの標語のような扱い方もされている。

オブジェクトとは、プログラミング視点ではデータ構造とその専属手続きを一つにまとめたものを指しており、分析/設計視点では情報資源とその処理手順を一つにまとめたものを指している。データとプロセスを個別に扱わずに、双方を一体化したオブジェクトを基礎要素にし、メッセージと形容されるオブジェクト間の相互作用を重視して、ソフトウェア全体を構築しようとする考え方がオブジェクト指向である。

データベース:カード型

カード型データベースは、データベースの構造の一つ。ある構造を持ったレコードを、単純に必要なだけ積み重ねた構造を持つ。このモデルのデータベース管理システム(DBMS)を、カード型DBMS、カード型データモデル、あるいは単に簡易データベースなどと呼ぶことも多い。設計も操作も簡単で、動作も軽量だが、複雑・大量のデータを扱う場合は、重複したデータが多く発生し、記録に必要な容量や検索性などの面で効率はよくない。

まとめ

基本的にはカード型データベースはファイルの概念に近いと思う。なので、ここにイーサリアムの機能を付け加えればカード型データベースも膨大なデータも扱ると感じた。基本的にはWebでカード型データベースは機能するのは2022年の現段階では難しくまずはソフトウェアにてデータベースは活躍するだろうと感じた。

タイトルとURLをコピーしました