データベースとは
データベースとは
データベース(DB: Database) とは何でしょうか. 広義の意味では単に「データの集まり」がデータベースであると言えます. 意識したことはあまりないかもしれませんが,身の回りにデータベースは多く存在しています. 例えば,スマートフォンで管理しているアドレス帳も,氏名,電話番号, メールアドレス を管理するためのデータベースと言えます. その他にも,Amazonや楽天などのショッピングサイトは顧客情報,商品情報,また,皆さんが所属する大学は学生情報,科目情報などをデータベースとして管理しています. このように考えると,皆さんは日常的にデータベースに囲まれながら生活していると考えることができますね.
データベースで管理されるデータとは
次にデータベースで管理されるデータについて考えてみましょう. 一般に,データベースは,何かしらの目的を持って構築されます. 例えば,スマートフォンのアドレス帳は,氏名,電話番号, メールアドレス を収集することで, 特定の相手への電話やメールでのコンタクトを可能にしています. このように,データは目的に合わせ,一定の規則に従って収集されることになります. また,これらをまとめたデータの基地(ベース)が データベース と言えます.
氏名 | 電話番号 | メールアドレス |
---|---|---|
高谷舞衣 | 0786857519 | mai@mctp.tubcn.pml |
福岡豊樹 | 0265723899 | toyoki@fhixe.lg |
西村朱音 | 0178189244 | akane@dpqknirhzo.sn |
データベースの管理方法
さて,このようなデータベースを管理するにはどのような方法があるでしょうか. 古くは手帳などの紙媒体で記録していましたが,現代はコンピュータを用いて管理するのが一般的です(もちろんスマートフォンも含む). 皆さんがコンピュータでデータを管理する時はどんなソフトウェアを用いるでしょうか. 最も身近なソフトウェアは Excel ではないでしょうか. それでは,Excelで上記のアドレス帳のデータを作成してみましょう.
このようにExcelで作成したファイルもデータベースと言えます. この例では,たった3件のデータしか含まれておらず,データ入力や検索は容易に行うことができます. しかし,現代のデータベースでは,より多くのデータ(いわゆるビッグデータ)を対象とする必要があり, Excel で管理するには無理がありそうです.
データベースの種類
Excelなどでは扱いが難しい大量のデータを管理するために, データベースのための専用のソフトウェアが存在します. これらを データベース管理システム(DataBase Management System: DBMS) と呼びます. まずは,記録するデータの構造に合わせて,データベース管理システムを分類してみましょう.
階層型データベース
階層構造(木構造)でデータを管理するデータベースです. データは親と子の関係で結び付けられており,階層のトップ(根)から下に向かってデータを検索します. 階層構造で管理されるコンピュータのフォルダやファイルを想像すると良いでしょう, 初期のデータベースであり,現代ではあまり用いられることはなくなりました, 代表的なDBMSにはIMS(Information Management System)があります.
ネットワーク型データベース
階層型データベースとは異なり,データに親子関係は存在せず, 任意の個数のデータと関係を持つことができます. これによりデータは網目状に繋がりを持つことになります. リンクで相互に関連付けられたウェブページを想像すると良いでしょう. 後述のリレーションデータベースの台頭により,現代ではあまり用いられていません. 代表的なDBMSにはIDMS(Integrated Database Management System)があります.
リレーショナルデータベース
二次元の表形式でデータを管理するデータベースです. 上述のアドレス帳も,リレーショナルデータベースと言えます. Edgar Frank Codd氏が, 1970年に論文「A Relational Model of Data for Large Shared Data Banks」を発表したことが始まりとされています. ポピュラーで信頼性の高いデータベースであり, この授業で取り上げる内容の多くは,このリレーショナルデータベースです. 単に「データベース」と表現する場合も多く,デファクトスタンダードなデータベースと言えるでしょう. 最初のリレーションデータベースの実装はIBMが開発したSystem Rであり, 現在は,Oracle Database,Microsoft SQL Server, MySQL,PostgreSQLなど様々なDBMSがあります.
NoSQLデータベース
リレーショナルデータベース以外のデータベースの総称です. リレーショナルデータベースへの問い合わせには SQL という言語を用いるため, このSQLを用いないという意味で NoSQL と呼ばれます. リレーショナルデータベースでも対応が難しい ビッグデータ の管理を目的としていることが殆どであり, シンプルな構造で,高速にデータを処理することが可能です. 代表的なDBMSには,Key-Valueストア型データベースのMemCachedやRedis,また, カラム指向データベースのHBaseやCassandraなどがあります.
例題1
リレーショナルデータベースを最初に提唱した人は誰か. また,リレーショナルデータベースを最初に実装したデータベース管理システム(ソフトウェア)は何か.