様々なWebサービスの情報はすべてデータベースで管理されていると言っても過言ではありません。
昨今、私たちの回りは情報で溢れかえっており、情報を目的別に関連性を持たせてデータベースとして管理することが求められています。
データベースとして情報を管理しなければ、情報が必要な時に必要な形で取り出すことができません。
そのような時に必要とされているのが「データベース管理システム」と呼ばれるものです。
最後まで読んで頂けたら、「データベース管理システム」に関する基礎的な知識を習得することができます。
目次
1.データベース管理システムとは?
データベースとは?
データベース管理システムについて解説する前にデータベースとは何か見ていきましょう。
データベースとはデータを格納する箱のことです。
例えば、検索エンジンでキーワードを検索すると毎回異なるWebサイトが表示されるかと思います。
なぜ毎回異なるWebサイトが表示されるのでしょうか?
なぜなら、データベースに世界中のWebサイトが登録されていて、データベースからユーザーに適したWebサイトをピックアップし、順位付けて表示しているからです。
このようにデータベースがあることで自分が探したい情報に辿り着けているのです。
データベースの役割
次にデータベースがどのような役割を果たしているのかみていきましょう。
データを集積できる
データベースはデータを集積できるという役割を担っています。
現在、データベースはビジネスの最適解を見つけるための手段として利用されることが多くなっています。
データをまとめて管理できる
データがバラバラに管理されていたら、データを探す時に一苦労するかと思います。
そこでデータをデータベースという箱に格納しておくことでデータを取り出す時に楽になります。
データを簡単に探すことができる
データをデータベースに格納しておくことで、データを簡単に探すことができるというメリットもあります。
データに情報を紐づけて管理しておくと、その情報に基づいて抽出することもできます。
データベース管理システムの役割
上記のようにデータベースはデータを格納するという役割を担っていますが、データの登録・削除・更新・検索などの管理・運用機能という役割は担っていません。
そのため、上記の例で挙げられているユーザーに適したWebサイトのピックアップ、順位付けはデータベース管理システムが行っています。
データベース管理システムはデータを正確に管理・運用するために重複したデータ登録やデータ矛盾がないかを確認しています。
2.データベース管理システムの保全機能
データベース管理システムはデータを正確に管理・運用するために重複したデータ登録やデータ矛盾がないかを確認する保全機能がついています。
トランザクション処理
トランザクション処理とは関連する複数の処理を1つの処理として管理することです。
例えば、銀行口座振込がトランザクション処理にあたります。
Aさんの口座(残高:¥20,000)からBさんの口座(残高:¥40,000)に¥5,000を振込するケースを考えていきましょう。
Aさんの口座から¥5,000引く、Bさんの口座に¥5,000足すという2つの処理を1つの処理として管理することがトランザクション処理です。
トランザクション処理は複数の処理の途中でトラブルが起きた時にデータ破損を最小限にすることを目的とした処理です。
同時実行制御管理
同時実行制御管理とは複数のトランザクション処理が行われた時、データが矛盾しないように管理することです。
同時処理を制御するための機能として、ロックという機能があり、ロック方法に共有ロックと占有ロックの2種類があります。
共有ロックと占有ロックの例をコンサート券の予約で考えていきましょう。
共有ロックの場合、Aさんがコンサート券を予約していると、Bさんはコンサート券の状況を確認できますが、データ更新ができません。
占有ロックの場合、Aさんがコンサート券を予約していると、Bさんはコンサート券の状況を確認することができません。
3.データベース管理システムの機能
データベース管理システムの機能としてデータベース定義機能、データベース操作機能、データベース制御機能があります。
データベース定義機能
データベース定義機能はデータを登録するための必要な枠組みを定義する機能です。
主なテータ定義言語は以下の通りです。
データ定義言語 | 意味 |
---|---|
CREATE | データベース、テーブル、インデックスを作成する |
DROP | データベース、テーブル、インデックスを削除する |
ALTER | データベース、テーブルの定義を変更する |
データベース操作機能
データベース操作機能はデータを操作・更新・削除するなどのデータ操作を行う機能です。
主なデータベース操作言語は以下の通りです。
データ操作言語 | 意味 |
---|---|
SELECT | テーブルから目的のデータを取得する |
INSERT | デーブルに新しいデータを挿入する |
DELETE | テーブルからデータを削除する |
UPDATE | テーブルのデータを更新する |
データベース制御機能
データベース制御機能はデータベースの権限を与える、トランザクション処理を行うなどのデータベースやデータ制御を行う機能です。
主なデータベース制御言語は以下の通りです。
データベース制御言語 | 意味 |
---|---|
GRANT | ユーザーの権限を与える |
REVOKE | ユーザーの権限を削除する |
COMMIT | トランザクション処理を確定する |
ROLLBACK | トランザクション処理を元に戻す |
4.データベース操作を学びたい方へ
最後まで読んで頂きまして、ありがとうございました。
これからデータベースを用いたWebサービスを作ってみたい、データベースを用いたWebサイトを作ってみたいという初心者の方にオススメの1冊があります。
いきなりデータベースに関する専門書にとりかかると専門用語ばかりで挫折する原因になることがあります。
そこでこの本で基礎知識を習得して専門書にいくと取り組みやすいかと思います。
データベース操作を学びたい方は是非読んで頂けたらと思います。
5.ポイント
- データベースシステムはデータベースとデータベース管理システムの2つで成り立っています
- データベース管理システムはデータを正確に管理・運用するためにトランザクション処理、同時実行制御管理を行っている
- データベース管理システムにはデータベース定義機能、データベース操作機能、データベース制御機能があります