はじめに
こんにちは。今回からは、DBMSについてまとめます。
本文
DBMSの三大機能
DBMS(Data Base Management System: データベース管理システム)の三大機能は次のとおりです。
1. メタデータ管理
メタデータ管理とは、データベースに関するデータを管理することです。
メタデータとは、データベースにどのようなテーブル(関係)が存在するか、そのテーブルにはどのような列(属性)があるか、インデックスはどの列に設定されているかなどの情報です。
これらは、三層スキーマでの外部スキーマ、概念スキーマ、内部スキーマに関する定義情報となります。
メタデータは、DBMSの中にあるデータディクショナリに格納されます。データディクショナリには、スキーマ定義情報の他にユーザやアクセス権限、障害回復やシステム監査に関する情報なども格納されます。
データディクショナリは、データベース中に特別な領域として格納されます。例えば、OracleではSYSTEM表領域に、Oracleの動作に必要な管理情報として格納されます。
2. 質問処理
質問処理とは、ユーザやプログラムがデータベースに行う質問(問合せ)に対応する処理です。
質問の内容を構文的、意識的に解釈してそのデータにアクセスし、求められたデータを返します。
質問を解釈する速度は処理方法によって大きく変わってくるので、データの処理コストを考え、質問処理(クエリ)の最適化を行う必要があります。この最適化を行う機能のことをクエリオプティマイザとも呼びます。
3. トランザクション管理
トランザクションとは、データベースがデータを読み書きする一連の処理の単位です。
トランザクションを管理することで、複数のトランザクションの同時実行を制御することができます。また、トランザクション単位で障害時の回復処理を行うことも可能です。
DBMSの必要性
データベースはデータをプログラムから切り離し、DBMSによって統合し、管理・運用を行います。そのため、大勢のユーザから共通してアクセスされる唯一の共有データとなります。
データを1箇所に集めることによって、データの一貫性が保たれます。また、ユーザごとにアクセス権限を与えることでセキュリティも確保できます。さらに、複数のトランザクションを同時に実行させることにより、高速化も実現できます。
DBMSには様々な種類があり、それぞれ機能や性能は異なります。DBMSの三大機能は基本的に全てのDBMSが持っていますが、その実現方法や最適化の手法は、DBMSによって異なります。開発するシステムに最適なDBMSを選択することが重要です。
まとめ
いかがでしたでしょうか?