見出し画像

データベース基礎の基礎【十週間で知識ゼロからのデータ分析入門_連載2】

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

オンラインでも書籍でも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はほとんどすべてのデータベースに接続でき、複数のデータソースを一枚のテンプレートに関連づけます。一回接続すると、いつでも気軽にデータを取り出せます。手順は以下の通り:

FineReportをインストールします。(ダウンロードはこちら)JDBCデータ接続を新規作成します。

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

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

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

 そのほか


以上はHatenaブログ id:Kanakoinに書いた記事です。

noteのマガジンにもこのシリーズを更新しています。

データ分析の初心者は、ぜひフォローしてください!


この記事が気に入ったらサポートをしてみませんか?