データベースのお勉強

データベースについて学び直しをしようと思います。

さて、それでは超基本から学び直していきます。そもそも、データベースとは何でしょう。

データベースとは

データベースとは、大量のデータを容易に活用できるように整理したデータの集まりのことです。データをまとめて、整理することで効率的に検索、更新、削除が出来るようにしています。

データをまとめると、利用する際にいくつか注意しなければならないことがあります。例えば、「データの冗長性を排除しなければならない(正規化)」「同時アクセスを可能にするべき(排他制御)」後者は利用条件によりますが、大体のシステムが複数人で利用するよう設計されますのでほぼ必須項目ですね。

あとは、「データ構造の変更がプログラムに影響しないこと(プログラムとデータの独立)」これはやや開発者目線ですが、利用者にとっても関連する部分です。

これらの注意すべき点を踏まえてデータベースを管理することができるシステムがDBMS(DataBase Management System)です。主に定義機能、操作機能、制御機能があります。詳しく書いていきます。

DBMSの3つの機能

DBMSには主に定義機能、操作機能、制御機能があります。

定義機能

データ記述言語DDL(Data Definition Language)を用いてデータベースの構造や仕様を定義する機能です。この定義した構造を「スキーマ」と呼びます。定義の仕方は、一般的には「コンピュータ内部での物理的な格納構造」と「アプリケーションプログラムの論理的なデータ構造」とを独立させるように定義します。

この2つの構造と中間構造1つで「3層スキーマ」と呼ばれたりします。(外部スキーマ・概念スキーマ・内部スキーマ)

操作機能

データ操作言語DMLを用いてデータ操作する機能です。データの検索、更新、削除などを行います。これは非常に頻出ですので後日詳細な記事を書きます。(よく見るSQLがこれに当たります。)

制御機能

データベースの運用を支援する機能です。主に5つの機能があり、それぞれの概要は次のとおりです。

1.排他制御
同時更新によって更新及び削除結果に矛盾が発生する場合があります。これを防止するために排他制御によりタイミングの制御を行います。

2.再編成
データベースに対して追加・更新・削除を繰り返すと、再利用されない領域が発生します。このような再利用出来ない領域が増えてくると、格納効率が低下したり処理速度が低下します。それらを回避するために、不連続な空き領域を再編成します。

3.障害回復
障害で失われたデータを復元します。

4.機密保護
アクセス権の管理やセキュリティ管理をします。

5.保全
障害からのデータの破壊を防ぎます。

まとめ

今回は以上です。
データベースのお勉強記事はもう少し続けようかと思います。

続きはこちら