誰でもすぐわかるデータベース基礎の基礎【知識ゼロからのデータ分析入門シリーズ(2)】

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

 

オンラインでも書籍でもExcelに関するものが豊富で、一つを選らんで勉強すればだんだん身につけるようになるので、ここは詳しい説明しないことにしました。

 

データベースとSQLは、大量データの処理や自動化できないなど、Excelの解決できない問題を簡単に解けるだけではなく、ほかのデータ分析ツールとの架け橋にもなれます。だから、データベースとSQLについて、二回に分けて詳しく説明してたいと思います。今回はまずデータベースで、次回はSQLのこと。

 

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

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

 

f:id:Kanakoin:20190702213511p:plain

 

現在、コンピュータ上でデータベースを管理するシステム(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、PythonPHPRubyなど多数の言語にて開発可能(ODBCJDBC共に対応)

(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でデータの抽出や集計などの簡単な操作を実現できますが、多角的な分析や高度な分析には、やはりデータ分析ツールでデータベースと接続し、ドリルダウン/ドリルアップ/ドリルスルーなどを行います。ここでデータ分析ツールFineReportMySQLデータベースとの接続方法を説明します。    

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

 

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

データベース

 

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

 

データベース

 

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

 

データベース

 

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

 


2019010916.gif

 

 

以上はQiitaに公開した記事です。

qiita.com