ーーーー講義録始めーーーー
データベース管理システム(DBMS)の主な機能
DBMSは、以下のようなさまざまな機能をユーザに提供します。
-
データモデルの提供
DBMSは、対象となるデータの集合を目的に沿って適切に取り扱うため、データの構造や操作を定義するデータモデルを提供します。リレーショナルデータベースの場合、データの記述や操作はリレーショナル代数に基づいています。データモデルを使用することで、データの構造や関連性を明示的に定義し、管理できます。 -
データの整合性維持
DBMSは、データが満たすべき整合性制約を管理・維持します。例えば、学生データにおいて「学生は必ず一意の学生番号を持たなければならない」や、「履修する学生の学生番号は、必ず存在する学生番号でなければならない」といった制約が該当します。このような整合性維持は、DBMSの重要な機能の1つです。 -
データベース言語の提供
DBMSは、データの記述・操作・制御を行うためのデータベース言語を提供します。主に以下の3種類があります:- データ定義言語(DDL: Data Definition Language)
データの構造や制約(スキーマ)を記述します。 - データ操作言語(DML: Data Manipulation Language)
データ(インスタンス)の検索・挿入・更新・削除を行います。 - データ制御言語(DCL: Data Control Language)
アクセス権限の設定やトランザクション制御を行います。
リレーショナルデータモデルでは、一般的に**SQL(Structured Query Language)**がデータベース言語として用いられます。
- データ定義言語(DDL: Data Definition Language)
-
効率的なデータアクセスの実現
DBMSは、大量のデータの中から必要なデータを高速かつ効率的に取り出すため、適切なデータ格納方式や検索方法を提供します。
例として:- 木構造やハッシュ法などのデータ格納方式
- インデックスの作成と管理
DBMSは、データ格納時に格納順序や位置を制御し、アクセス時間を短縮する工夫を行います。また、ユーザやアプリケーションからの検索要求に対して、格納方式やインデックス情報を考慮し、最も処理コストが低い方法を選択して処理を行う問い合わせ最適化も提供します。
-
機密保護
DBMSは、機密性の高いデータに対してアクセス権限を設定し、特定のユーザや操作を制限することで機密保護を実現します。
例:- 学校機関において、学生課のシステム担当者にのみ学生データの検索・挿入・削除・修正を許可する。
- 教員にのみ成績データの入力・修正・閲覧・検索を許可する。