【学習計画】十週間で知識ゼロからのデータ分析入門で第三週がデータベースと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データベースからデータを抽出できます。ほんとうに簡単でしょう?データを準備したら、帳票あるいはダッシュボードの作成を始めましょう~
FineReportダウンロードはこちら。
ツイッターでデータ分析・可視化、仕事のスキルについての面白い情報をシェアしています。よかたっら覗いてください!
###そのほか前はデータ分析職につきたい方のために、十週間の学習計画を紹介しました。ここはインフォグラフィックにまとめてみます!記事と合わせてお読みください!
— HaileeKana (@HaileeKana) July 12, 2020
記事のURL:https://t.co/1wBiLQiRzi @HaileeKana #note https://t.co/wWH0jMBwHb
【学習計画】十週間で知識ゼロからのデータ分析入門について、ほかの記事