データベースとは

Image from Gyazo

データベースとは

データベース(DB: Database) とは何でしょうか. 広義の意味では単に「データの集まり」がデータベースであると言えます. 意識したことはあまりないかもしれませんが,身の回りにデータベースは多く存在しています. 例えば,スマートフォンで管理しているアドレス帳も,氏名電話番号, メールアドレス を管理するためのデータベースと言えます. その他にも,Amazonや楽天などのショッピングサイトは顧客情報,商品情報,また,皆さんが所属する大学は学生情報,科目情報などをデータベースとして管理しています. このように考えると,皆さんは日常的にデータベースに囲まれながら生活していると考えることができますね.

課題1

身の回りにあるデータベースを3つ挙げなさい.

データベースで管理されるデータとは

次にデータベースで管理されるデータについて考えてみましょう. 一般に,データベースは,何かしらの目的を持って構築されます. 例えば,スマートフォンのアドレス帳は,氏名電話番号, メールアドレス を収集することで, 特定の相手への電話やメールでのコンタクトを可能にしています(下記のデータはダミーです). このように,データは目的に合わせ,一定の規則に従って収集されることになります. また,これらをまとめたデータの基地(ベース)が データベース と言えます.

氏名 電話番号 メールアドレス
高谷舞衣 0786857519 mai@mctp.tubcn.pml
福岡豊樹 0265723899 toyoki@fhixe.lg
西村朱音 0178189244 akane@dpqknirhzo.sn

データベースの管理方法

さて,このようなデータベースを管理するにはどのような方法があるでしょうか. 古くは手帳などの紙媒体で記録していましたが,現代はコンピュータを用いて管理するのが一般的です(もちろんスマートフォンも含む). 皆さんがコンピュータでデータを管理する時はどんなソフトウェアを用いるでしょうか. 最も身近なソフトウェアは Excel ではないでしょうか. それでは,Excelで上記のアドレス帳のデータを作成してみましょう.

Image from Gyazo

このようにExcelで作成したファイルもデータベースと言えます. この例では,たった3件のデータしか含まれておらず,データ入力や検索は容易に行うことができます. しかし,現代のデータベースでは,より多くのデータ(いわゆるビッグデータ)を対象とする必要があり, Excel で管理するには無理がありそうです.

データベースの種類

Excelなどでは扱いが難しい大量のデータを管理するために, データベースのための専用のソフトウェアが存在します. これらを データベース管理システム(DataBase Management System: DBMS) と呼びます. まずは,記録するデータの構造に合わせて,データベース管理システムを分類してみましょう.

階層型データベース

階層構造(木構造)でデータを管理するデータベースです. データは親と子の関係で結び付けられており,階層のトップ(根)から下に向かってデータを検索します. 階層構造で管理されるコンピュータのフォルダやファイルを想像すると良いでしょう, 初期のデータベースであり,現代ではあまり用いられることはなくなりました, 代表的なDBMSにはIMSがあります.

Image from Gyazo

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

二次元の表形式でデータを管理するデータベースです. 上述のアドレス帳も,リレーショナルデータベースと言えます. ポピュラーで信頼性の高いデータベースであり, この授業で取り上げる内容の多くは,このリレーショナルデータベースです. 単に「データベース」と表現する場合も多く,デファクトスタンダードなデータベースと言えるでしょう. 代表的なDBMSには,Oracle DatabaseMicrosoft SQL ServerMySQLPostgreSQLなどがあります.

NoSQLデータベース

リレーショナルデータベース以外のデータベースの総称です. リレーショナルデータベースへの問い合わせには SQL という言語を用いるため, このSQLを用いないという意味で NoSQL と呼ばれます. リレーショナルデータベースでも対応が難しい ビッグデータ の管理を目的としていることが殆どであり, シンプルな構造で,高速にデータを処理することが可能です. 代表的なDBMSには,Key-Valueストア型データベースのMemCachedRedis,また, カラム指向データベースのHBaseCassandraなどがあります.

ドキュメント型データベース

データ構造が特に定められておらず,自由な形式のデータベースです. 例えば,JSON形式XML形式 で記述されたデータベースが該当します. この授業では取り上げません.

課題2

リレーショナルデータベースを最初に提唱した人は誰か. また,リレーショナルデータベースを最初に実装したデータベース管理システム(ソフトウェア)は何か.

参考書籍