第1章 基礎/原理を理解して開発効率の向上をめざす
データベースとは何か 近年,いわゆるデータベース(database)が注目をあびています.実際,われわれの生活にもデータベースは浸透していますし,ソフトウェア開発の多くはデータベースに関連しています.データベースとは,「多量のデータを格納し,管理するソフトウェアシステム」というように簡単に定義できます.しかし,データベースについて深い理解をもたなくては,効率的にデータベースを利用し,データベースアプリケーションを開発することはできません.本特集では,さまざまな切り口からデータベース技術に関する解説がなされますが,冒頭の本章では,データベースに関する基礎原理および歴史を概観することにします.なお,データベースの総合的な解説については,参考文献3)などを参照してください. さて,データベースを学ぶ際,あるデータベースシステム(Accessなど)の利用法をマスタすることにより,データベースの本質をある程度理解することができます.しかし,現在流通しているデータベースシステムの背景には深い理論的背景があります.これを理解することは,われわれがデータベースについての研究や開発を行うために非常に重要になってきます.なぜなら,現在のデータベース技術はある面では飽和しており,次のステップへの展開が望まれているからです.そのためには,既存の理論・技術を的確に理解しておかなければなりません.本章がそのような目的の一助になれば幸いです. まず,データベースについての基礎概念をまとめてみましょう.現在,われわれが「データベース」と呼んでいるものは,正式にはデータベース管理システム(database management system:DBMS)といわれます.すなわち,データベースとはデータを蓄積保存するものであり,それを管理するシステムがデータベース管理システムなのです.しかし近年では,データベース管理システムも含めて,たんに「データベース」ということが多くあります. 後述のように,データベースにはさまざまな種類がありますが,表1のような基本的な必須機能をもたねばなりません.
まず,データベースはデータモデル(data model)を実現したものです.データベースのデータはデータモデルにより記述され,データモデルの種類によって異なるデータベースが存在します.なお,目的によりいくつかのデータモデルがあります. データベースの各データは,独立していなければなりません.すなわち,あるデータが変化してもほかのデータに影響を与えてはなりません.とくに,ほかのアプリケーションからデータベースを使用する場合,このデータ独立性は重要です. データ共有とは,ユーザーが「一つの」データベースを使用することを意味します.したがって,データは一元的にデータベースに保存されることになります. ユーザーがデータベースを利用するということは,データアクセスを行うことにほかなりません.そして,データアクセスは効率的に行われる必要があります. 最後に,データベースのデータは安全でなければなりません.データが壊れたり,外部から不正にアクセスされることを防がなくてはなりません.また,データが破壊された場合には,データを回復する機能も必要です. |