見出し画像

データサイエンス初心者がSQLとエクセルとBIツールの違いを調べてみた。

色々なデータマーケティングやデータサイエンスの勉強しようとする上で、統計学とpythonをやろうと思っていたものの、どうも日常業務にはどうもSQLなるものを先に勉強したほうが挫折しなさそうだ、ということでGWの宿題としてとりあえずやってみることにした。

(業務と言っても未経験だし任務としては与えられていないので、ほぼ趣味の範囲)

現段階のレベル:要するにエクセルの切り出し自動化装置だよね‥?ピボッドテーブルとか、エクセルのフィルターの違いはなんぞやと思っている。学生時代、DNA解析のためにちょっとだけLinuxを使っていたレベル。C言語とかJavaとかなんですか?ってレベル。

使っているのは、エンジニアの方に紹介いただいたこの本。
「なんか提案の時とかにさっとデータを出して使いたいんですよね‥何か勉強するのにいい本ないですか‥?」とざっくりとした質問に答えてくれた。やさしい。

(教えてもらったのに、最初は全く違う本を買うという失態をはたらいたのはここだけの話)

ぱらり、と本をめくる。ふむふむ、なんかインストールして、データを取り出すんだな。これだけ丁寧に書いてあれば独学でもできそうだ。でも待てよ。「SQLについて全然知らないので入門書がほしい」という人は他の文献をあたってください」と書いてある。

ということで、頼るべきはネットの世界。

以下、引用文は「SQLとは?データベース言語の基礎知識をわかりやすく解説!」から引用

そもそも、SQLとは

・読み方:「シークェル」または「シーケル」、エスキューエルでもいいらしい。(5/4訂正)
・目的:SQLはデータベースを操作するための言語(最も普及しているものの一つ)。データベースを管理するソフトウェアを操作・制御することが目的
・SQLはデータベース言語としてISO(国際標準化機構)で規格化されている
・SQLの使えるデータベース:
 -Oracle社のOracle Database
 -Microsoft社のMicrosoft SQL ServerやAccess
 -オープンソースのMySQLやPostgreSQL

SQLって「エスキューエル」以外の呼び方もあるらしい。

※パソコンの「言語」にはどうも2種類ある
データベース言語:ユーザーが指定した条件に合致するものを見つけ出すためのもの。SQLはこっち。
プログラミング言語:プログラムを作るときの言語(COBOL、C言語、Javaなど)。プログラムの行う処理手順を記述する。

一読だけだとわからなかったので何回か読み直した。

SQLの言語は目的別に3種類に分けられるようだ。

・データ定義言語(Data Definition Language)
データ定義言語はDDLと略され、RDBMSで扱うオブジェクト(テーブルやインデックスなど)の構造や、オブジェクト同士の関係を定義する構文
・データ操作言語(Data Manipulation Language)
データ操作言語はDML
と略され、データベースを操作するための構文です。目的語やさまざまな条件を示すキーワードと組み合わせて使われ、多くのパターンがあります。目的語には「~以上」「~以下」などの条件をつけることもでき、SQL関数と呼ばれる関数を使用することもできます。
・データ制御言語(Data Control Language)
データ制御言語はDCLと略され、データへのアクセスを制御する構文です。トランザクションやシステムを管理したり、ユーザーのアクセス権を制御したりするために使われます。

ん、でも、ここまで読んでも、エクセルとの違いってなんだ‥?という疑問がぬぐえず。

こういうときはこれだ。

というわけで出てきたのはこちらの記事

要するに、膨大なデータも処理可能ということか。ふむ。
(データベースをつくるにあたって最初はエクセルでデータを整える⇒データベースにぶち込む、みたいな前処理が必要なんだろうな‥となんとなく理解。)

ん?でも、BIツールと何が違うの?

いわゆるBIツール(Tableau、PowerBIなど)で扱うことはもちろん可能です。ただそれらのBIツールは機能が豊富すぎるので、学習に時間がかなりかかります。

うん、たしかに、Tableau、ちょっとセミナーに顔を出してみたけど、難しそうだった。あと、高かった。趣味だと無理な金額。楽しそうだったけど。

ちなみに、SQL⇒jupyterでグラフを作ったりできるようだ。QSLを使えるようになったら次はjupyter note bookか! なんちゃってDeep learning以来だな。はやく使ってみたいな。

ここでもう一度読み返す。ん?RDBMSって何?

RDBMSとは:Relational Data Base Manegement systemの略。データベースを作る、使うためのソフトウェア

なるほど、冒頭部に出てきたMy SQLとかOracleのことですね。理解。

ということで、SQL書き方ドリルを始めることとする。

あと、大切なことですが、間違いがあったら教えてくださいませ‥!

----

参考文献1. 羽生章洋著, すらすらと手が動くようになる元祖SQL書き方ドリル, 技術評論社.
参考サイト2. 「SQLとは?データベース言語の基礎知識をわかりやすく解説!」.
参考サイト3.「前々処理1:SQLのすすめ(はじめてSQL使う人のための記事です。)」.
参考サイト4. 「データベース初心者でもわかるRDBMS

もし・・もし、サポートいただいた場合は、それを軍資金としたnote関連企画をしようかと思います。