Contents
データベースマネジメントシステム(DBMS)とは
データベースマネジメントシステム(Database Management System)とは、データベースをアプリケーションとは独立して維持・管理するための機能が備えられているシステムのことを表します。
基本的にデータベースはリレーショナルデータべースが用いられているためDBMSはRDMBS(Relational Database Management System)とも言われます。
DBMSはデータベースを安全に管理するために以下の5つの機能を有しています。
- データベース言語機能
- 整合性制約機能
- トランザクション管理機能
- 障害回復機能
- 機密保護機能
データベースマネジメントシステム(DBMS)の機能
データベース言語機能
DBMSでは、データベースのビューの作成や更新などの操作を行うための機能を提供しており、既存のプログラミング言語とは独立してデータ操作を行うことのできる言語(SQLなど)を持つ。
整合性制約
アプリケーション側で実装をしなくとも、DBMS側でデータの整合性が保たれるようになります。データベースを操作するときの制約をDBMSに設けることで整合性をとっている。
制約の例
- 一意制約・・データの値が一意であること
- 参照制約(外部キー制約)・・あるデータの値がほかのデータの値として存在すること
- NULL制約・・データにNULL値を含まない
- 形式制約・・データ型(桁数や型)に関する制約
- 検査制約・・データ登録時のチェックに関する制約
トランザクション管理機能
同時に複数の更新処理(トランザクション処理)が同時に発生しても、データの矛盾がないようにする機能。
トランザクション処理とは、データベースへの更新や参照を伴い処理のことでデータベースは複数のユーザから利用されることを前提としているためACID特性を保証する必要がある。
実装としてはトランザクションの処理をコミットとロールバックで管理する。
障害回復機能
障害の発生時にもデータが失われたり、矛盾が発生しないようにする機能。データベースのバックアップファイルをメインとして活用し、バックアップファイル以後に起きたトランザクション処理にはログファイルやチェックポイントを利用してデータを回復させる。
機密保持機能
データベース内のデータの機密性を保持する機能を提供する。データベースへのアクセス権限などをデータベース所有者からの付与で管理する。
ユーザごとにデータベースに対して行える処理を制限することで必要以上の権限を持たせないようにすることで機密性を保つことができる。
コメント