LoginSignup
127
182

More than 3 years have passed since last update.

誰でもすぐわかるデータベース基礎の基礎~

Last updated at Posted at 2019-01-28

 【学習計画】十週間で知識ゼロからのデータ分析入門で第三週がデータベースとSQLを学ぶことです。今回はデータベースの構造から始まり、人気のオープンソースのDBMS製品MySQLの使い方についてまでご紹介していきたいと思います。

 なせ第一週のデータ分析の考え方と第二週のExcelについて説明しないかというと、理由は以下の通り。

 まず、オンラインでも書籍でもExcelに関するものが豊富で、一つを選らんで勉強すればだんだん身につけるようになります。また、データ分析の考え方を養うには、基本なコンセプトを知ったうえで、実際にデータを分析しながらその考え方を応用しなければいけません。ところが、データベースとSQLは、大量データの処理や自動化できないなど、Excelの解決できない問題を簡単に解けるだけではなく、ほかのデータ分析ツールとの架け橋にもなれます。だから、データベースとSQLについて、二回に分けて詳しく説明してたいと思います。今回はまずデータベースで、次回はSQLのこと。

1.そもそもデータベースとは?

 データベース(DB、Database)は複数のデータを保存するところで、つまりデータ集合です。このデータ集合内のデータを抽出したり、編集したりすることができます。Excelと違うのは、膨大なデータを一瞬にして自動的に整理してくれて、手動で管理する必要がなくて、しかもすべでのデータがみんなに共用使用できて、別々に編集することによる更新漏れを避けることです。

データベース

 現在、コンピュータ上でデータベースを管理するシステム(DBMS:Database Management System)のことや、そのシステム上で扱うデータ集合のことを、「データベース」と呼ぶことが多いです。

 以下は現在主流となっている「関係データベース」について解説します。

 関係データベースは、一つあるいは複数のテーブルを含めて、各テーブルに行と列があって、毎行に唯一のIDがあります。それはExcelと似ていますが、データベースのテーブル間に関係が存在しています。従って、データベース=複数のテーブル+テーブル間の関係という等式になります。

 上記の関係から、関係データベースの構築には二つの方面から考える必要となります。

1.1 テーブルの構造

  各テーブルに名前があり、列にそれぞれの項目名を設定し、行にデータを記録します。例えば、下図の「学生番号」というテーブルです。

データベース

 フィールド「学籍番号」は上記のテーブルの識別子と設定されます。同姓同名の学生がいるかもしれませんが、学籍番号が異なるので、ひとりの学生を特定することができるからです。このようなフィールドがテーブルの主キーと言います。

1.2 テーブル間の関係

 関係データベースがテーブルの集合で、同じデータベース内の複数なテーブルがお互いに結びついています。下図に示すような「学籍番号」と「学科」テーブルです。
「学籍番号」と「学科」は「学籍番号」によって関連付けられます。対応するデータベースでの操作がjoinです。このように2つのテーブルを組み合わせることによって、例えば、学生「伊藤尚」がどの学科に所属しているか調べることができます。

データベース

2.関係データベース管理システムMySQL

2.1 MySQLの特徴:

(1)MySQLはオープンソース(OSS)のRDBMSで、商用利用の場合はライセンスの購入が必要です。

(2)C言語、Java、R、Python、 PHP、Rubyなど多数の言語にて開発可能(ODBC、JDBC共に対応)

(3)標準的なSQL言語を使用しています。

2.2 MySQLのインストール

 ダウンロード:https://dev.mysql.com/downloads/windows/installer/8.0.html

 二番目をダウンロードします。

データベース

 ダブルクリックしてインストールを開始します。

データベース

 承認して「次へ」をクリックします。

データベース

 一番目を選択します。「Next」をクリックします。

データベース

 以下の画面が出るまで「Next」をクリックします。「Execute」をクリックします。

データベース

 データベースのrootパスワードを入力します。これをしっかり覚えてください。

データベース

 「Add User」をクリックして、ユーザ名とパスワードを入力します。

データベース

 「Next」か「Execute」をクリックします。以下の画面でさっき設定したrootのパスワードを入力します。

データベース

 「Finish」が出るまで「Next」か「Execute」をクリックします。「Finish」が出ると、MySQLのインストールが完了です。
 「Wordbench」を起動します。local を選択し、rootのパスワードを入力します。

データベース

 MySQLにビルトインのデータベースがあります。以下の画面でSQL文でデータを抽出できます。

データベース

3.データ分析ツールとMySQLデータベースの接続

 データベースがデータを保存する集合で、SQLでデータの抽出や集計などの簡単な操作を実現できますが、多角的な分析や高度な分析には、やはりデータ分析ツールでデータベースと接続し、ドリルダウン/ドリルアップ/ドリルスルーなどを行います。ここでFineReportでMySQLデータベースとの接続方法を説明します。    

 FineReportはほとんどすべてのデータベースに接続でき、複数のデータソースを一枚のテンプレートに関連づけます。一回接続すると、いつでも気軽にデータを取り出せます。手順は以下の通り:

 JDBCデータ接続を新規作成します。

データベース

 データベースタイプでMySQLを選択します。下図に示すよに、FineReportがSQL Server,Oracle、AccessやPostgreなどの主流データベースに接続できます。

データベース

 ドライバがデータベースのタイプによって自動的に表示されます。URL、ユーザーIDとパスワードを入力して、「接続テスト」をクリックします。「接続成功」が表示されると、データベースとの接続が完了します。

データベース

 それで、データクエリウィンドウでMySQLデータベースからデータを抽出できます。ほんとうに簡単でしょう?データを準備したら、帳票あるいはダッシュボードの作成を始めましょう~
2019010916.gif

FineReportダウンロードはこちら


ツイッターでデータ分析・可視化、仕事のスキルについての面白い情報をシェアしています。よかたっら覗いてください!:sparkles:

そのほか

【学習計画】十週間で知識ゼロからのデータ分析入門について、ほかの記事

127
182
11

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
127
182