2021.03.16  2021.04.09

駆け出しエンジニア:データベース(database)とは?作成と操作方法について詳しく紹介

皆さんこんにちは!マコブログです!
今回はデータベース(database)の作成と、操作方法について詳しく紹介します。

データベースとは

たくさんのデータを一定の規則に従って蓄積した物をデータベースといいます。
ただデータを並べたものをデータベースというわけではなく、必要なデータを素早く検索できたり、効率よくデータを管理できるのがデータベースです。


関係データベース

データベースの種類はいくつかありますが、一番多く使われているのは関係(リレーショナル)データベースです。
関係データベースとは、表形式でデータを管理するデータベースです。
表全体(データベース)のことをテーブルといい、横一列分のデータをレコード、縦一列分のデータをフィールド、またはカラムといいます。

主キー

テーブルに重複が無いことを一意(いちい)といい、レコードを一意に識別するためのフィールドを主キーといいます。

データベース作成の流れ

データベースの作成で一番重要なステップは設計です。無駄なく、効率的にデータを管理・活用するためには、どのようなテーブルにすればよいかを考え設計し、作成します。

具体的な手順としては、次のことが挙げられます。

1.目的を明らかにする
データベースの目的を明らかにします。例えば、「学生の情報と、学生が所属するクラブの情報を管理する」という目的でデータベースを作成したりします。

2.項目を洗い出す
目的を明らかにしたら、必要な情報を洗い出し、フィールドの内容を決めます。

3.テーブルを分割する
テーブルを情報ごとに分割して個別に管理します。この作業を正規化といいます。

DBMS

「データベース」の本来の意味は、データを蓄積したものを指します。
データを入力したり、必要なデータを抽出したりするためには、データベースを管理するためのソフトウェアであるデータベース管理システム(DBMS)が必要です。

RDBMS
データベース管理システムの中でも、関係データベースの管理システムのことをRDBMSといいます。

データの操作

DBMSでは、データベースのデータを追加、削除、更新したり、必要なデータだけを抽出したりすることができます。
テーブルから必要なレコードだけを抽出する操作を選択、フィールドだけを抽出する操作を射影といいます。

結合と関係演算
結合という操作を行うと、共通するフィールドを基準に複数のテーブルを1つにまとめることができます。
なお、関係データベースで行う選択、射影、結合の操作のことを関係演算といいます。

排他制御

DBMSは、データベースを複数のユーザーで共有することを前提に作られています。そのため、複数のユーザが同時にデータを更新することで起こるデータの矛盾を妨げるよう、ユーザの操作を制限する排他制御の機能を持っています。
排他制御がかかっていると、誰かがデータを更新している間は、他のユーザがデータにアクセスできないようにすることを、データをロックするといいます。

デットロック
Aさんがレコード1(情報1)をロックし、Bさんがレコード2(情報2)をそれぞれロックしたとします。
次に、AさんがBさんの情報にアクセスし、BさんがAさんの情報にアクセスすると、AさんとBさんのお互いがロック解除を待つ状態になってしまいます。
これをデットロックといいます。


リカバリ

データベースでは、トランザクションという単位で処理が行われます。
例えば、銀行の口座を管理するデータベースでは、「引き落とし」という処理と「口座残高を減らす」という処理はまとめて1つのトランザクションとして処理されます。
どちらかが成功し、どちらかが失敗した場合、口座に矛盾が生じてしまうためです。

DBMSは、トランザクションの履歴をログファイルとして常に管理し、トランザクションが正常に行われなかった場合は、ログファイルを使ってデータを正常な状態に戻します。
これをリカバリといいます。

ロールバック
トランザクションの処理の途中で障害が発生した場合、ログファイルを使用してトランザクションの開始前の状態に戻す方法をロールバックといいます。

ロールフォワード
ログファイルを使用してバックアップ後に行われた処理をやり直すことで、障害発生直前の状態に戻す方法をロールフォワードといいます。

まとめ

いかがでしたか?
今回はデータベース(database)とは何か。データベースの作成と操作方法について詳しく紹介しました。

是非こちらの記事も是非チェックしてみてください↓
パソコン初心者の知識:各ハードウェアの種類と特徴をまとめて紹介!
パソコン初心者の知識:CPUの特徴と処理能力の向上について詳しく説明

あなたにオススメの記事
マコブログ
Makoto
高校卒業と同時にプログラミングを学習しはじめ、今年で4年目になります。
普段はフロント周りで作業をしていて、WordPressの開発とSEO対策には自信があります。
マコブログでは、プログラミングやSEO対策についての情報を発信しています。

よく読まれる記事

S&P500研究所

【マコブログ 2nd】S&P500研究所がOPENしました!!

Read More →