プログラミング

【現役エンジニアが徹底解説】データベースとは何なの?【初心者でもOKです】 

スポンサーリンク

こんにちは、さすを(@sasuwo0409)です。

現役システムエンジニアをやっております。

過去にPythonを使った6,000万案件に携わったりしました。

この記事は、現役システムエンジニアの筆者が、「データベースとはなんぞや、、」と思っているあなたにむけて、データベースをわかりやすく説明していきます。

データベース?なにそれおいしいの??

と思っている方は、ぜひ参考にしてみてください。

それでは、本文をどうぞ。

この記事のおすすめ対象読者:

  • データベースについて知りたい方
  • プログラミング初心者の方
  • エンジニアを目指している方
  • 駆け出しエンジニアの方

この記事を読むとわかること:

  • データベースとは何なのか
  • データベースの扱い方
  • おすすめのデータベース学習方法
  • データベースの有識者になるためにおすすめの資格

筆者の情報:

  • 現役システムエンジニア
  • Pythonの6,000万案件に携わった経験あり
  • 最近欲しいものはマットレス
スポンサーリンク

1.データベースって何なの?【初心者にもわかりやすく解説します】 

1.データベースって何なの?【初心者にもわかりやすく解説します】

データベースとは、ずばり、データを見やすく整理した情報の集まりです。

気になる男性
気になる男性

え、、それだけ?

さすを
さすを

それだけなんです!


身近な例でいうと、銀行の口座情報だったり住所録はデータベースで管理されています。

Wikipediaでは、以下のように書かれています。

データベース(英: database, DB)とは、検索や蓄積が容易にできるよう整理された情報の集まり。通常はコンピュータによって実現されたものを指す。コンピュータを使用したデータベース・システムでは、データベース管理用のソフトウェアであるデータベース管理システムを使用する場合も多い。プログラムで扱うデータ構造やデータそのものを独自実装の場合に比べて少ない工数で操作できるようにしている。膨大なデータを扱う現代の情報システムでは最重要と言える[要出典]技術である。

Wikipedia

正直、そこまで明確に意味を理解していなくても大丈夫です。

データを入れる箱みたいなものなんだなあ、、と思っていればOKです。

スポンサーリンク

2.データベースの必要性

2.データベースの必要性

データベースが必要とされる理由は以下の3つです。

  • 大量のデータから欲しいデータを見つけやすくなる
  • データ制御を行える
  • データのバックアップができる

2-1.大量のデータから欲しいデータを見つけやすくなる

データベースが必要と言われる理由の1つ目は、大量のデータから欲しいデータを見つけやすくなるからです。

例えば、

「東京、ニューヨーク、ロンドン」の3つの文字の中からロンドンを探してください。

と言われたら、すぐに見つけることができると思います。

しかし、都市の数が10,000個だったらどうですか?

探すのに時間がかかりそうだし、大変だと思いませんか?

データベースには検索機能があるので、たとえデータの数が多くなってもすぐに欲しいデータを見つけることができます。

2-2.データ制御を行える

データベースが必要と言われる理由の2つ目は、データ制御を行えるからです。

データ制御とは、同じデータを更新しようとしたときに、一人しか更新できないようにするというものです。

データ制御の例:

たとえば、AさんとBさんが同じエクセルファイルを開いた時に、「Aさんしか上書き保存ができないようにする」というものです。

Bさんは、Aさんがエクセルファイルを閉じない限り、上書き保存をすることができません。

データ制御ができないと、以下のような不都合が起こってしまいます。

データ制御がないときに起こりうる不都合の例:

Aさんの銀行口座の残高は100万円です。

会社から給料で30万円の入金がありました。

入金があったタイミングと同時にAさんは10万円引き出しました。

Aさんの残高は90万円になりました。(会社からの入金が上書きされ、なかったことになっている。。)

身近な例で考えると、データ制御の大切さがわかると思います。

データベースがあるとデータ制御ができるので、データの整合性を保つことができます。

2-3.データのバックアップができる

データベースが必要と言われる理由の3つ目は、データのバックアップができるからです。

この世の中、なにが起こるかわかりません。

災害、PCが急にぶっ壊れる、停電、ハッキングなど不意にデータが壊れてしまったり消えてしまったりする可能性があります。

データベースにはバックアップ機能や複製機能があるので、万が一の時でも安全にデータを保護することができます。

3.データベースの種類

3.データベースの種類

データベースの種類は、大きく分けて以下の3つがあります。

  • リレーショナルデータベース
  • 階層型データベース
  • ネットワーク型データベース

3-1.リレーショナルデータベース

リレーショナルデータベースとは、データを表で管理するデータベースです。

長いので「RDB」と略されることもあります。

2つ以上の表(テーブル)から関連性のあるものを結合して新しい表を作ったり、表の中の値を更新すると、関連性のある表の値も自動的に更新したりできます。

引用:Wikipedia
引用:Wikipedia

リレーショナルデータベースのメリット・デメリットはこちらです。

メリット:

  • 柔軟にデータを扱うことができる
  • 複雑なデータの関連性を扱える
  • データ処理の一貫性を保てる

デメリット:

プログラムが煩雑になりやすく、処理速度が遅くなることがある

3-2.階層型データベース

階層型データベースとは、データを木のような構造で表したデータベースです。

会社の組織図などでよく使われています。

引用:そもそもデータベースとは?基礎から分かるデータベース入門
引用:そもそもデータベースとは?基礎から分かるデータベース入門

階層型データベースのメリット・デメリットはこちらです。

メリット:

アクセスする速度が速い

デメリット:

  • 重複したデータが登録されることがある
  • データを管理しづらい

3-3.ネットワーク型データベース

ネットワーク型データベースとは、階層型データベースではできなかった「多数対多数」を実現したデータベースです。

階層型データモデルよりも、各実体の関係をより自然に表現できるという特徴があります。

しかし、リレーショナル型データベースがさらに利便性の高いものだったため、徐々に使われなくなってしまいました。

ネットワーク型データベースのメリット・デメリットはこちらです。

メリット:

階層型データベースではできなかったデータの重複が避けられる

デメリット:

データを管理しづらい

4.データベースを管理するDBMS

4.データベースを管理するDBMS

ここまでデータベースについて紹介してきましたが、データベースの中のデータを取ってきたりするにはDBMS(データベースマネジメントシステム)というものが必要になります。

DBMSを使うことで、

  • 必要なデータの作成、読み込み、上書き、削除
  • 不正なデータの登録や更新の防止
  • セキュリティ向上

などができるようになります。

さすを
さすを

DBMSを扱う時は、「SQL」などのDBMSに指示を与えるための言語をつかいます!


また、実務でよく使われる代表的なDBMSはこちらです。

DBMS名データベースの種類有償/無償
Accessリレーショナルデータベース有償
MySQLリレーショナルデータベース有償
Oracleリレーショナルデータベース有償
PostgreSQLリレーショナルデータベース有償
SQL Serverリレーショナルデータベース無償
MongoDBNoSQL有償

NoSQL:リレーショナルデータベース以外のデータベース

リレーショナルデータベースの違いについて知りたい方は、以下の記事が参考になります。

主なRDB(Oracle, MySQL, PostgreSQL)の機能比較 - Qiita
全国で利用されているDBの分布は以下のようになっているらしいです。この中でも特に、Oracle, MySQL, PostgreSQLに焦点をあててそれぞれの機能を簡単に比較したので、それをまとめま…

また、エンジニアが投票したDBMSの人気ランキングをしりたい方はこちらから確認することができます。

DB-Engines Ranking
Popularity ranking of database management systems.

5.データベースを触ってみよう【初心者におすすめなサイトを紹介します】

5.データベースを触ってみよう【初心者におすすめなサイトを紹介します】

『4.データベースを管理するDBMS』で紹介したDBMSを使って、データベースを触ろうとしている方におすすめなサイトを紹介します。

さすを
さすを

ぜひ役立ててください!


Access:

Access入門
Access (アクセス)は Microsoft 社が提供しているリレーショナルデータベースのアプリケーションです。保管した数多くのデータから必要なデータを検索したりレポートを作成したりすることができます。豊富に用意されているテンプレートと便利な開発ツールを利用することで専門知識がない方でも手軽に利用できます。ここでは...

MySQL:

MySQLの使い方
MySQLは世界中で広く利用されているデータベースの一つで現在Oracle社が開発をおこなっています。ここではMySQLをこれから使われる方を対象としたMySQL入門を掲載します。MySQLをローカル環境にインストールする方法や、MySQLを使ってデータベース、テーブル、ユーザー、トリガなどの作成する方法に関して簡単な...

Oracle:

Oracle初心者でもスッキリわかる
Oracle全般 「Oracleは難しい」という誤解 Oracleを勉強するためのおススメ本はこちら! Oracleを学ぶオススメのスクール・学校 Oracleの導入事例はこちら(動画) OracleのCloud(クラウド)とは?

PostgreSQL:

PostgreSQLの使い方
PostgreSQL は世界中で広く利用されているデータベースの一つです。ここでは PostgreSQL をこれから使われる方を対象とした PostgreSQL 入門を掲載します。 PostgreSQL のインストール方法や、 PostgreSQL を使ってデータベースを構築する手順について簡単なサンプルを使って実際に...

SQL Server:

SQL Server Manegement Studioの使い方・SQLの基礎を徹底解説! | 侍エンジニアブログ
この記事では「 SQL Server Manegement Studioの使い方・SQLの基礎を徹底解説! 」といった内容について、誰でも理解できるように解説します。この記事を読めば、あなたの悩みが解決するだけじゃなく、新たな気付きも発見できることでしょう。お悩みの方はぜひご一読ください。

MongoDB:

MongoDB超入門 - Qiita
概要MongoDBの薄い本を読みながらMongoDBを勉強し始めたので、自分の理解を試すために書きます。簡単なCRUDの説明になります。また、以下の内容で簡単なMongoDBの使い方がわかった…

6.データベース初心者のおすすめ学習方法

6.データベース初心者のおすすめ学習方法

データベース初心者のおすすめ学習方法の理想は、実案件でさわってみることです。

実案件ならば、仕様書を読み込みながらデータの作成・検索・更新・削除を行えるので知識と経験を一度に得ることができます。

しかし、エンジニアを目指している方や、駆け出しエンジニアの方が、いきなり実案件に手を付けるにはハードルが高いのも事実です。

ですので、

いきなり実案件はちょっとこわいわ、、

という方は、これから紹介するセミナーと本を参考にしてみてください。

さすを
さすを

最短で成長できるのは実案件、自分のペースで少しずつ成長したい人はセミナーや本ということですね!

6.1データベース初心者のおすすめ学習方法その1:セミナー

データベース初心者のおすすめ学習方法の1つ目は、セミナーです。

セミナーでの学習は、

  • データベースの知識・経験が豊富なプロ講師から直接教えてもらえる
  • 自分と同じような仲間に出会える(こともある)
  • 無料の場合がある

というメリットがあります。

逆に、

  • いつでも学習できるわけではない
  • 高額なものもある
  • というデメリットもあります。

僕自身、データベースに関するセミナーを受けたことはありませんが、調べてみたところ、以下のサイトがよさそうでした。

プロ講師に教えてもらいたいと思っている方はおすすめです。

データベースセミナー・勉強会・イベント - こくちーずプロ
データベースセミナー・勉強会・イベント: こくちーずプロを使えば、驚くほど簡単で安全なイベントの告知・集客ができます。登録料・手数料は無料!SEOに強くSNSでつながりのない人々にもアプローチ!イベント・セミナー・勉強会の管理や告知にかかっていた時間などの手間をお大幅に削減できます
全般 データベース研修ラインナップ

6.2データベース初心者のおすすめ学習方法その2:本

データベース初心者のおすすめ学習方法の2つ目は、本での学習です。

本での学習は、

  • 時間があればいつでもどこでも学習できる
  • お金があまりかからない

ということがメリットです。

逆に、

  • 辞めようと思えばいつでも辞められる
  • わからなくなったときすぐに質問できない

というデメリットもあります。

ですので、ここでは、学習を続けやすくわかりやすい本を2冊紹介します。

SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)

データベースについて学習するのにおすすめな本の1冊目は、SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)です。

この本は、「データベースやSQLがはじめて」という初心者を対象に、SQLの基礎とコツをやさしく丁寧に教える入門書です。

豊富な図とサンプルプログラムでかみくだいて解説されているので、データベース初心者でもつまずくことなく学ぶことができるでしょう。

SQLの書き方だけはなく、アプリケーションでの利用方法まで説明している点もポイントです。

データベースを扱うアプリを作りたい方、現場で通用する基礎を身につけたい方におすすめの1冊です。

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ) 

データベースについて学習するのにおすすめな本の2冊目は、スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)です。

この本は、Amazonのデータベース処理部門・データベースの一般・入門書で1位となっている人気の1冊です。

こちらも、豊富な図解とていねいな解説により、やさしく・楽しくデータベースとSQLを学習できる入門書になっています。

また、Webブラウザ上でSQLの作成と実行ができる、クラウドデータベース実行環境「dokoQL」(どこきゅーえる)という環境があるのもポイントです。

dokoQLは、PC、スマートフォンから利用できるので、自宅だけでなく通勤・通学中のすきま時間にも効率的にSQLとデータベースを学ぶことができます。

さらに、巻末には、アウトプット学習用に、基礎問題、発展問題、あわせて222問のドリルやよく陥りがちなエラーや落とし穴の対策をまとめた「エラー解決 虎の巻」が掲載されています。

アウトプットを通してデータベースとSQLを学びたい方、すきま時間も学習したい方におすすめです。

さすを
さすを

どちらか1冊持っていれば問題ありません!

教科書のように読み進めていきたい方は、SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)

漫画のように読み進めていきたい方は、スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)を選べばOKです!

7.データベース初心者は一度エクセルを触ってみるのもいいかも

7.データベース初心者は一度エクセルを触ってみるのもいいかも

データベースの経験が少ない方は、一度エクセルを触ってみるのもありです。

エクセルでは、プログラムを書くことがないのでデータベースを知る入り口としては適しているでしょう。

気になる男性
気になる男性

Excelなら触ったことがあるな、、


なお、エクセルを使ったデータベースの作り方はこちらの記事がわかりやすかったです。

データベース作成の基礎をエクセルで把握-フィルタリング方法とテンプレも紹介します
データベース作りをエクセルでご希望の皆様、本書籍で基礎知識をすべて理解できます。使用するテーブル機能の手順からデータベース設計まで、しっかり解説しています。検索やデータの抽出、並べ替えが効率的に実行可能なデータベース化のメリットも、本書からご理解いただけます。データベース作成のための弊社書籍は、皆様にとりまして、非常に...

注意:エンジニアとしてデータベースを扱いたいと思っている方は、DBMSを触ることをおすすめします。
実務でエクセルを使ってデータベースを作ることはほとんどありません。

8.データベースを学習するうえでおすすめの資格【脱初心者を目指す方へ】

8.データベースを学習するうえでおすすめの資格【脱初心者を目指す方へ】

エンジニア転職を視野に入れていて、データベースに関する資格を取りたい方は、データベーススペシャリスト試験を受けることがおすすめです。

この試験に合格すると、データベーススペシャリストという国家資格が与えられます。

国家資格という実績があるのとないのとでは、印象が違うことは簡単に想像できるでしょう。

データベーススペシャリストについて詳しく知りたい方は、公式ページをご覧ください。

>データベーススペシャリスト公式ページはこちら

そのほか、エンジニア転職するうえで有利に働く資格はこちらです。

  • 基本情報技術者試験
  • 応用情報技術者試験

難易度は、基本情報技術者試験 < 応用情報技術者試験 < データベーススペシャリストとなっています。

「どれでもいいけど、ひとまず資格の勉強を始めたい」という方は、基本情報技術者試験の勉強から始めることをおすすめします。

なお、これらの資格はすべて国家資格です。

基本情報技術者試験の合格するための勉強方法についてはこちらの記事で詳しく解説しているので、参考にしていただけたらと思います。

>>基本情報技術者試験を一発で合格するための方法を5分で解説【実体験】

同じく、応用情報技術者試験の合格するための勉強方法についてはこちらの記事で詳しく解説しているので、参考にしていただけたらと思います。

>>【たった2冊でOK!】応用情報技術者試験のおすすめ書籍・勉強法【これで1発合格しました】

どちらも実体験なので、参考になると思います。

9.おわりに

9.おわりに

実際にデータベースを使って業務を行っている僕が、データベースの意味や特徴を詳しく説明してきました。

エンジニアになりたい方、アプリを作ってみたい方はデータベースの知識が必須になります!

この記事が少しでもあなたの役に立っていたら嬉しいです!

がんばるあなたを心から応援しています!

それでは!

コメント

タイトルとURLをコピーしました