ゼロから「データベース&SQL&Access の基礎」を学んだので振り返り

# はじめに
「経済的に自立するためIT技能を身につけたい」
「日々考えている問題について論理的に分析できるようになりたい」
「気がかりだけれど、自分にはどうしようもない事と思っていた、ある問題。技能と知識を身に着けて、自分もその解決の為に貢献したい」
と思いポツポツとExcelの基礎から独学を始めていた矢先、
「経済的に自立するためIT技能を身につける」
この目標の実現に向けて、黒澤さん(@kurosawa_kuro)に教材についてアドバイスいただけることになり、ここまで2ヶ月弱かけて、3冊の書籍に沿って学習を進めてきました。

今回、ありがたいことにアドバイスを受ける機会をいただきましたが、
それを独り占めしておくのは勿体なく思うので、
「データベースに興味があるけれど、何から学べば良いの？」
「学習方法を探している」という方に
黒澤さんから教えていただいた教材と学習のポイントについて
情報を共有できたら良いなという気持ちで記事にしました。

# 学習スタート前の状況（2020/9/15時点）

||理解度|
|---|---|
|Excel|・[『30時間でマスター Excel2019』(実教出版)](https://www.amazon.co.jp/30%E6%99%82%E9%96%93%E3%81%A7%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC-Excel2019-%E5%AE%9F%E6%95%99%E5%87%BA%E7%89%88%E4%BC%81%E7%94%BB%E9%96%8B%E7%99%BA%E9%83%A8/dp/4407348372)を使って基本を学んだ。<br>・日常的に使っているのは簡単なグラフとSUMのみ。<br>・基本の関数(VLOOKUP関数等)、3-D集計、マクロの記録&ボタン登録 は調べながらであれば触れる。<br>・VBAは未知。|
|SQL|未学習。データベースを操作するための言語らしい。|
|Access|未学習。データベースを扱うOfficeソフトらしい。そもそもデータベースとは何ぞや？|

# 使用教材
・『マンガでわかるデータベース』高橋麻奈 著　オーム社
・『スッキリわかるSQL入門第2版ドリル222問付き！』中山清喬＆飯田理恵子 著  インプレス
・『できるAccess2019』広野忠敬＆できるシリーズ編集部 著  インプレス

# 黒澤さんによるロードマップ（教材と学習のポイント）
1.『マンガでわかるデータベース』4章まで

2.『スッキリわかるSQL入門第2版ドリル222問付き！』9章まで
　・７章(副問い合わせ)、9章(トランザクション)は難しく入門の範疇を逸脱してるのでサラッと流す。
　　副問合せはよく使うが、一発で理解できる人少ないし、
　　トランザクションは気にしなくても一通り動くものが分かるので。
　・p78条件式の基本操作と、リレーションはAccessも全く同じなのでしっかり抑える。
　・正規もとりあえずこの時点ではサラッとでOK。重複しないようにする工夫があって、
　　共通認識になってて五段階まであるんだ 程度で充分。

3.『できるAccess2019』
　・レポートとマクロは軽視で大丈夫。
　・ほとんどやってきた事だから概要は同じ。操作方法が違うだけ。
　・実際に業務でレポートはまず使わない。
　　結果をcsvで吐き出して、それをエクセルで見やすくグラフ化する事の方が多い。


# 自分がデータベースを誰かに教えるのなら、どういう順番で進めるようアドバイスするか？
黒澤さんのロードマップ通りに進めるのが、一番着実だと思います。
そのうえで、特に力を入れて取り組んだら良いんじゃないかなというポイントを下記にメモしておきます。

1.データベースとは
　『マンガ~』1章
　　・重複、矛盾を避ける
2.リレーショナルデータベースとは
　『マンガ~』2章
　　・テーブルの概念、主キー
3.正規化
　『マンガ~』3章
4.SQLとは
　『マンガ~』4章の漫画部分のみ
5.SQL_基本文法と4大命令
　『スッキリ~』2章
　　・CRUD操作
　　　・Create（生成） INSERT
　　　・Read（読み取り）SELECT
　　　・Update（更新）UPDATE
　　　・Delete（削除）DELETE
　　・データ型（整数値INTEGER型、固定長CHAR型、可変長VARCHAR型、等）
6.SQL_操作する行の絞り込み
　『スッキリ~』3章
　　・絞り込み（WHERE）
　　・何も格納されていない（NULL）
　　・演算子（比較演算子、LIKE、BETWEEN、IN、ANY、AND、OR、等）
7.SQL_検索結果の加工
　『スッキリ~』4章
　　・集合演算子（和集合UNION、差集合EXCEPT、差集合MINUS、積集合INTERSECT）
8.SQL_式と関数
　『スッキリ~』5章
9.SQL_集計とグループ化
　『スッキリ~』6章
　　・集計関数（SUM、MAX、MIN、AVG、COUNT）
　　・グループ集計（グループ化GROUP BY、グループ化してから絞込HAVING）
10.SQL_副問い合わせ（サブクエリ）
　『スッキリ~』7章（現時点ではサラッと流す程度で）
11.SQL_複数テーブルの結合
　『スッキリ~』8章
　　・リレーションシップ
　　・結合
12.SQL_トランザクション
　『スッキリ~』9章（現時点ではサラッと流す程度で）

（以下全て『できる~』）
13.Access 基本編1章 Accessとは
14.Access 基本編2章 テーブル
15.Access 基本編3章 クエリ
16.Access 基本編4章 フォーム
17.Access 活用編1章 リレーショナルデータベース、リレーションシップ
18.Access 活用編2章 フォーム
19.Access 活用編3章 クエリ

# 現在の状況（2020/11/10時点）
||理解度|
|---|---|
|Excel|学習スタート前と同じ。|
|SQL|・dokoQL上であれば、テキストを見ながらSQLの基本操作ができる。詳細は上記の通り。<br>・実際のDBMS製品はまだ触っていない。|
|Access|・Accessソフトを自分のPCにインストールした。<br>・テーブル作成ができる。リレーションが組める。<br>・調べながらであれば クエリ、フォーム、レポートが触れる。|

# 今後の目標（短期目標）
・資格：OSS-DB Silver 取得
・資格：VBAエキスパート(AccessVBAベーシック) 取得
・資格：ITパスポート 取得

# おわりに
私はデータベース、SQL、Accessについて、2か月前までその存在も知りませんでした。が、ゼロから学び始めて、少しずつデータベースがどんなものか知っていくことができました。1日の学習時間は日によってまちまちで、0～6.5時間。平均約1時間、合計約60時間でした。

『マンガでわかるデータベース』では、「ある機能を使う前の状態→使う過程→使ったあとの結果」という流れを漫画＆文章で丁寧に解説されていました。なので「どの機能や考え方を、どんな場面で使うのか」というイメージを持つことができましたし、考え方の流れをざっと理解することができました。ごちゃついた情報を整理し、視覚的にもわかりやすくまとめていくというプロセスが楽しく、データベースを学びたいという気持ちがますます強くなりました。

『スッキリわかるSQL入門』では、まず見本の通りにdokoQLにSQL文を入力することで、そのSQL文で何が実行できるのかを体感できました。解説もシンプルにまとめられており、私は文法については、『マンガ~』よりも『スッキリ~』の方が、理解しやすかったです。実際にデータベースを作りながらSQLを使ってみたいという気持ちが強くなりました。

『できるAccess2019』では、今まで学んだデータベースを、SQL文を使わずにAccessの機能を使って実行していきました。今回Accessを購入し、初めて使いましたが、操作自体はWordやExcelに近いので、独特のファイルの作り方とそれぞれのデータベースの関係さえつかめれば、ストレス無く操作することができました。マクロのコマンドボタンは、自分でボタンを作るというのが楽しくて、作っている最中、時間があっという間に過ぎていく感覚でした。本を見ながら一通り進めたものの、一から自分で何か作ってみないと操作方法が身につかないなと感じたので、現在「"筆まめの年賀状宛名印刷"の再現」をAccessでしてみようと奮闘中です。この件については、 次回改めてQiita記事(※下記) にします。

データベース、SQL、Accessについて「理解した」「使いこなせる」と言えるレベルには到底達していないので、まだまだ学んでいきたいです。
次はAccessを実際に使ってみてから、データベースの資格である「OSS-DB Silver」の取得を目指します。

2020/12/23追記：
※次回改めてQiita記事＝「[Accessで年賀状の宛名印刷をする](https://qiita.com/ume-san/items/b0c2cff5b1492af6ebb1)」

# 進捗状況
2020/9/15：データベースの学習スタート
2020/9/15～9/21：書籍『マンガでわかるデータベース』オーム社 6章中1～4章（Qiita記事2本）
2020/9/22～10/9：書籍『スッキリわかるSQL入門第2版ドリル222問付き！』インプレス 12章中1～9章（Qiita記事3本）
2020/10/19～11/2：書籍『できるAccess2019』インプレス (Qiita記事2本)
2020/11/2～11/4：Udemy　『[【ここから始める】アクセス基礎コース アクセスの初心者でも安心このコースからAccessを始めよう！](https://www.udemy.com/course/access-v/)』
2020/11/4～11/6：Udemy『[誰でもわかるMicrosoft Access 2019](https://www.udemy.com/course/access-2019/)』
2020/11/5～：(ロードマップ外)Accessで年賀状用住所録作り＆宛名印刷