- 公開日: 2020年11月05日
【初心者向け】10分でわかる!データベースの基本をおさえよう!
「アプリケーションはよく使うけれど、データベースは今ひとつよくわからない」
試験や仕事でデータベースと聞いて、このように感じたことはありませんか?
この記事ではそんなデータベースについて、基本からしっかり解説します。
どのようなデータベースでも基本的なしくみはほぼ同じです。ポイントを押さえればすっきり理解できます!
Oracleなどデータベース製品の種類や資格試験についても紹介しますので、ぜひご覧になってください。
データベースとは?
大量のデータを共有しやすい形にして格納する場所をデータベースと呼びます。
データベースはコンピューター上のソフトウェアに限りません。
たとえば『データベース4500』のような英単語の本は、英語の単語と意味をセットにして1か所にまとめ、共有しやすい形に整理したデータベースです。
以下にデータベースについて解説します。
- データベースのメリットと必要性
- データベース管理システム(DBMS)とは?
- リレーショナルデータベース(RDB)とは?
- SQLでデータベースを操作する
データベースのメリットと必要性
1つのデータベースにデータをまとめると、次のようなメリットが生まれます。
- 1か所にデータをまとめているため、複数のユーザー間でデータの矛盾がなくなる
- データベースにアプリケーション(プログラム)を組み合わせれば、必要なデータを見やすく加工して表示できる
- データベース1つをバックアップするだけで大量のデータを保存できるため、様々なリスクに備える労力が減る
今日よく使われているWebサービスに、データベースは必須です。
Webサービスの基本的なサーバー構成(Web3層構造)には、必ずデータベースが含まれています。
ちなみに上図では、データベースが円柱の形になっています。データベースを図に描くときは円柱状のアイコンとして表現されることを覚えておいてください。
今やデータベースは、様々な人がデータを利用する上でなくてはならないものです。
データベース管理システム(DBMS)とは?
データベース管理システム(Database Management System:DBMS)は、データベースを安全に共有・利用しやすくするためのしくみです。
ユーザーがデータベースへアクセスするときは、DBMSを間においてアクセスします。
[DBMSの主な機能]
- データベースを操作・管理する
- データベースへのアクセスを制御、処理する
- 障害が発生したとき正常状態に復旧する
代表的なしくみは排他制御です。あるユーザーがデータを使っているとき、別のユーザーはいま使用中のデータに同時にアクセスできないように制御されます。
また障害復旧も重要な機能です。通常時にログやバックアップを取り、障害発生時にはログの記録をもとにデータを復元します。
この他にも、DBMSは様々なしくみでユーザーの利便性とデータの安全性を確保しています。
リレーショナルデータベース(RDB)とは?
リレーショナルデータベース(RDB)とは、複数の表(テーブル)にデータを納め、テーブルどうしをつないで利用するモデル(関係モデル)を使ったデータベースです。
関係モデルを使うと、データを意味に基づいてシンプルに整理できます。そのためデータの更新・閲覧をしやすくなります。
現在使われているデータベースの主流はRDBです。
またRDBを管理するシステムを、リレーショナルデータベース管理システム(RDBMS)と呼びます。
身近な例として、WordPressのデータベースについて見てみましょう。
WordPressのデータベースでは、"記事の本文"や"コメント"、"カテゴリーとタグ"など、12個のテーブル(表)に分けてデータが整理されています。
"記事の本文"テーブルの要素は、"記事のID"・"記事のタイトル"・"本文"・"投稿日時"の4つです。この4つがテーブルの列(カラム)となります。
そして1つ記事を投稿するごとに、このテーブルに1行ずつデータ(レコード)が追加されていくのです。
各テーブルにはそれぞれ、主キーと呼ばれる特別なカラムがあります。記事本文テーブルの主キーは"記事のID"で、レコードの内容は重複のない通し番号です。
RDBMSではこの主キーをもとに、複数テーブルの関連した内容をまとめて取り出せるようになっています。
WordPressではこのようなしくみで、ブログ記事に本文やコメント、カテゴリーが統合されたひとつの記事として表示されるのです。
SQLでデータベースを操作する
SQLとはデータベースを操作するための言語で、機能のちがう3種類の言語から成り立っています。
・データ操作言語(DML)・・・データを操作する言語
- INSERT・・・データを挿入する
- SELECT・・・データを取得する
- UPDATE・・・データを更新する
- DELETE・・・データを削除する
・データ定義言語(DDL)・・・データベースやテーブルを操作する言語
- CREATE・・・データベース/テーブルを作成する
- DROP・・・データベース/テーブルを削除する
- ALTER・・・データベース/テーブルを変更する
・データ制御言語(DCL)・・・主にデータベースの権限を管理するための言語
データベースの構築や運用といった場面では、SQL文(SQLの構文)を単体で実行して利用します。
例えば、以下のような構文(CREATE文)をデータベースサーバーで実行すれば、データベース作成が可能です。
[データベースの作り方]
CREATE DATABASE db_name;
またユーザーがデータを操作するときは、SQL文をほかのアプリケーションに埋め込み、そのアプリケーションを通じて操作します。
データベース製品の種類
代表的なデータベース製品3つの概要を簡単にご紹介します。
Oracle(Oracle Database)
Oracle社から販売され、世界で一番使われているデータベースです。特に法人など大規模なシステムに多く利用されています。
今回ご紹介する3製品のなかではライセンス料が一番高額ですが、そのぶんサポート体制がしっかりしており、安全性も高いのが特長です。
オンプレミス(自社サーバーでの運用)対応製品だけでなく、クラウドサービスも提供されています。
MySQL
広く普及しているオープンソースのデータベースですが、現在はOracle社が開発しています。誰でも使える無料版と、商用利用のための有料版があります。
小規模な個人開発から大規模な法人向けシステムまで利用されており、他製品と比較すると幅広い分野で利用されているデータベースです。
WordPressで使用されているデータベースはMySQLであることを考えると、一番身近なデータベースともいえます。
SQL Server
MicrosoftがOracleの競合製品として開発しているデータベースです。基本的に有償ですが、Oracleよりもライセンス料は安く抑えられています。
他にもGUIツールがありOracleに比べて操作しやすい、Windowsサーバーとの相性がよいなどがSQL Serverの特長です。
データベースの資格
データベースの知識を学ぶのに役立つ、代表的なデータベース関連の資格を2つご紹介します。
ORACLE MASTER
Oracle製品のスキルに関する資格試験です。要求されるスキルによりBronze・Silver・Gold・Platinumの4段階に分かれています。
2020年1月に資格体系の大幅な見直しがおこなわれ、上位資格にチャレンジしやすくなりました。詳しくは公式サイトを参考になさってください。
また2020年5月からオンライン試験が導入されたため、テストセンターに行かなくても自宅や職場から随時受験できるようになりました。
データベーススペシャリスト試験
国家資格『情報処理技術者試験』のなかでは高度情報処理技術者試験のカテゴリーに入る、難易度の高い試験です。
ほかのデータベース試験と違い、特定のデータベース製品に依存する問題は出題されません。そのぶん汎用的で深い知識が問われます。
資格には有効期限がなく、一度取得すれば一生使えます。年に1度、春期(4月第3日曜日)に試験が実施され、受験料は5,700円です。
参考:公式サイト
\Webサイト担当者としてのスキルが身に付く/
まとめ
基本的なデータベースの知識について解説しました。
データを整理・利用するためのポイントを理解すれば、それをサポートするシステムのしくみもわかりやすくなります。
興味があればまずはMySQLや、より簡単なSQLiteといったデータベースから触れてみるのがおすすめです。
MySQLの使いかたを以下の記事で解説していますので、参考になさってください。
参考記事1:初心者のためのMySQL講座~インストール編~
参考記事2:【初心者必見】MySQLのコマンドをわかりやすく解説
そしてMySQLに触れて「面白い!もっと深く学びたい!」と思ったら、CodeCampでの学習がおすすめです!
データベースの設計・構築からアプリケーションの開発まで、マンツーマンでしっかり習得できます。
CodeCampではオンラインの無料体験レッスンをおこなっております。お気軽にご相談ください。
- この記事を書いた人
- 鳥飼千愛