近年、ネットワーク上に存在する情報が大規模かつ多様化しています。その情報を効率よく扱うための技術をデータベース技術と呼び、今回はその基礎的な概念について書いていきます。
データベースとは
一般的にデータベースとは、共有を前提に蓄積された情報の集まりのことです。この情報の整理や管理を行うソフトウェアのことをデータベース管理システム(DBMS)と呼んでいます。データベースの特徴として共有と統合化というものがあり、それについて次に説明します。
共有と統合化
例として大学の事務局と教授を考えます。事務局では、大学の生徒や教授などの事務的な処理を行っています。一方教授は、研究や生徒の成績などの処理を行っています。事務局と教授は下図のように、それぞれの業務をプログラムとファイルによって運用しているとします。
両方のファイルには、「生徒の成績」を蓄積する必要があり、この場合、共通して生徒ファイルの中に「生徒の成績」データを持つことになります。この共通のデータが運用上問題を起こします。例えば教授が以前、事務局に報告していたある学生の成績を変更したとします。その情報が事務局に伝わらず、学生に成績開示を行った場合、事務局と教授のデータには矛盾が生じてしまいます。これを避けるためにデータの共有が行われます。ここで次に問題になるのがデータの形式であり、異なる形式ではデータの共有を行った際に適切な処理が行えません。よって共有データの形式を統一する必要があります。つまり、上図でいう事務局と教授のファイルに存在する共有データの形式(入力は左詰めなど)は同一でなければならず、このデータの統一を統合化と言います。さらに、プログラムとデータ間のインターフェースとして定義され、データの「論理表現」と呼びます。よって事務局や教授は、統合インターフェースとして定義されたデータの論理表現が見えていることになります。以上のことを反映させた基本的なデータベースの概念が下図になります。
ビュー
上記のように、データの共有と統合化が行われたデータベースでは、大量のデータが蓄積されています。このデータすべてが事務局側や教授側から見えると、情報過多で使いにくい上に機密保持の点からもよくありません。そのため、事務局プログラムには共有データと事務データ、教授用プログラムには教授データと共有データだけが見える必要があります。この概念のことをビューと言います。
データベースシステム
データベースシステムは、データベースとデータベース管理システム(DBMS)、情報を格納するハードウェアからなっています。データベース管理システムは、統合インターフェースで定義されたデータの論理表現を、ユーザや応用プログラム(アプリケーション)に見せています。そして、ユーザや応用プログラムは、クエリと呼ばれる検索言語やデータ操作言語であるSQLを使ってデータの操作を行います。
クエリは検索クエリとも呼ばれ、例えるとユーザが何か検索するときに、入力する語句または文章のことです。データ検索言語とは、データベースの定義、登録、削除、変更、検索を行うためのデータベース言語のことを言い、現在はSQLが有名です。
このユーザや応用プログラムからの要求を、データベース管理システム(DBMS)はハードウェアの磁気ディスクなどに対して、読込みや書出しなどの手順を行います。以上のこと反映させたデータベースシステムの構成が下図になります。
まとめ
これだけの内容があって、まだデータベースの基本的な概念だと考えると、今までデータベースって言ってきた言葉の重みが変わりますね…。次はデータベースのモデルについてまとめようかなって思ってます。
コメント