はじめてのテーブル設計・データベース設計【わかりやすい解説 + 身近なテーマでレッスン】
What you'll learn
- データベース設計の最初のプロセスである論理設計のやり方を理解して、簡単なシステムにおける論理設計を実際に体験できます。
- システム開発においてデータベース設計がどのような意味を持つのかを理解できます。
- 論理設計を実際に行うことで、学んだ概念が実際の論理設計にどう使われるのかを理解できます。
- データベース設計に関する知識ゼロからでも取り組むことができます。
Requirements
- 講座「3時間で学ぶ SQL ・データベース 超入門【丁寧な解説+演習問題で SQL データ抽出の基本が身につく】標準 SQL」レベルの、SQLとデータベースについての知識
Description
【2021年1月27日:コース内容を大幅アップデートしました!】
本コースは、「RDBの論理設計の基礎知識と練習方法を、短時間で習得する」ためのコースです。
「論理設計はとても重要だが、成功させるのがとても難しい」
この問題を解決したくて、本コースは作られました。
論理設計は、データベース設計のプロセスのひとつで、
「どんなデータをどのように持たせるのか?」を決めるプロセスです。
特に、リレーショナルデータベース(RDB)においては、
「どんなテーブルを用意するか?」を決めるのが論理設計です。
そして、論理設計はシステム開発全体の中でも、とても重要なプロセスです。
論理設計の出来の良し悪しが、システムのパフォーマンスや、データベースの扱いやすさを大きく左右します。
また、データベースの変更は、影響する範囲が大きくなりやすいので、
論理設計では、なるべく変更が発生しないように、はじめの段階から良い設計を行うことが重要です。
ですが、論理設計は重要であるにもかかわらず、成功させることが非常に難しいです。
それは、論理設計が持つ、非常にやっかいな性質が原因になっています。
どういう性質かというと、
論理設計をうまく行うためには、豊富な経験が必要。
にもかかわらず、論理設計の経験はとても積みづらい。
というものです。
論理設計は、本を読んだだけではなかなか上達しません。
なぜなら、論理設計のプロセスは、さまざまなトレードオフに対する判断の連続だからです。
判断の正確さは一朝一夕に身につくものではなく、経験を積むことによってはじめて身につきます。
ですが一方で、論理設計の経験はとても積みづらいです。
なぜ経験を積みづらいのかというと、システム開発・アプリ開発において、論理設計を担当する開発者はごくわずかだからです。
少人数のチームだと、論理設計をたった一人のエンジニアが行うこともめずらしくありません。
また、ほとんどの開発者は、1つのシステムの開発に専念するのが基本になっている、というのも理由のひとつです。
論理設計は、多様な種類のさまざまなシステムにおいて実践していかないと身に付きません。
このように、論理設計は重要であるにもかかわらず、スキルアップが難しいという問題を抱えています。
この問題のせいで、論理設計のスキルに乏しい開発者が、へたくそな論理設計を行った結果、
そのデータベースを使うすべての開発者が、ストレスフルな開発・運用を強いられる、というケースもめずらしくありません。
そして、この問題を解決するために作られたのが本コースです。
本コースでは、論理設計をしっかり身につけるためにさまざまな工夫を凝らしました。
①論理設計の一通りの基本プロセスを、短時間で実際に体験できる
②身近なテーマを題材にして、論理設計の練習ができるようになる
③DB設計未経験者・初心者エンジニアでもわかる、とことん丁寧で噛み砕いた解説
①論理設計の一通りの基本プロセスを、短時間で実際に体験できる
既存の教材では、「正規化」や「ER図」など、論理設計の個別の要素を扱っているものの、
具体的な論理設計のやり方・進め方について書かれたものがあまりありません。
なので、本を読んでみたものの、「で、結局どうやるの?」という疑問を抱えたままになりがちです。
そこで本コースでは、論理設計の基本の概念を説明するだけでなく、論理設計の具体的な進め方を、「5つのプロセス」に分けて詳しく解説しています。
コース中では、この5つのプロセスに沿って、アプリケーションのUIをもとに、テーブルを作成していきます。
概念を学ぶだけでなく、UIからテーブルを見出すプロセスを実際に体験することで、論理設計が使える知識として身に付きます。
また、本コースでは、論理設計・データベース設計の基本の知識を、本当に重要なポイントに絞って解説することで、短時間におさめました。
最重要の基本を短時間で学ぶことで、論理設計の「練習」に時間を使えるようにしています。
②身近なテーマを題材にして、論理設計の練習ができるようになる
これまでにお伝えした通り、論理設計の経験を積むのはむずかしいです。
ですので、本コースでは、わたしたちの生活の中にある身近なテーマを題材にして、演習を行う方法について解説しています。
例えば、お店のレシートや経費を記録するための出金伝票なども、論理設計の練習に使えるのです。
本コースで学ぶ練習方法を知れば、論理設計の練習が無限に行えるようになるので、
高速に経験を積み、短時間でスキルアップすることができるでしょう。
また講座中では、身近なテーマを題材にして、あなた自身に、自力で論理設計を行ってもらいます。
論理設計の練習方法を、本コースで実際に体験してみてください。
③DB設計未経験者・初心者エンジニアでもわかる、とことん丁寧で噛み砕いた解説
論理設計などのデータベース設計は、重要度が高いため、経験の浅いエンジニアには任せづらいものです。
そのため、データベース設計の本を見ると、ある程度開発経験がある人を想定して書かれていることがほとんどで、データベースの初心者からするとわかりづらい説明になっていることも多いです。
なので本コースでは、論理設計・データベース設計を行ったことがない、完全な初心者でも理解できるように、とことん丁寧に、噛み砕いた説明を心がけました。
「データベースとはそもそもなんなの?」
「テーブルと二次元表の違いは?」
「CHAR型とVARCHAR型の使い分けは?」
というような「そもそも」の話を省略することなく、ていねいに解説しています。
既存の教材が難しかったという方も、本コースから再チャレンジしてみてください。
こういったさまざまな工夫によって、論理設計ができるようになりたい方はもちろん、
リレーショナルデータベースがどのように作られているのかを知りたい初心者エンジニアなど、
データベースの基本を短時間で学びたいすべての方にとって、最適な教材に仕上がったのではないかと思います。
あなたも本コースで、
データベース設計・論理設計の基本を、短時間で身につけてみませんか?
Who this course is for:
- データベース設計をする必要に迫られているが、初めてでどのようにやったらよいのかわからない方
- データベース設計の本を読んで正規化など概念はなんとなく理解したが、実際にどうやって設計していくのか?がわからなかった方
- テーブルの結合については理解しているが、テーブルがどのようなルール・考えのもとに分割されているか知らない方
Instructor
教育活動をメインに行うソフトウェアエンジニアです。
「本質・唯一・効率」をキーワードに、プログラミング教育を行っています。
本質を捉えた、ただひとつの教材で、プログラミング初学者の効率的な学習を支援します。
~これまでの経歴~
神奈川県生まれ神奈川県育ち。
京都大学農学部卒業。
教えることが好きで、大学在学中は塾講師として、小学2年生から大学受験生まで幅広く指導しました。
卒業後は学校の先生になろうと思ってましたが、教員免許取得に必要な単位が取れず挫折。
どうしようかと迷っていた所、大学の研究室でプログラミングに出会いました。
「これは面白い!」と思い、エンジニアになることを決意。
大学卒業後は、決済系ベンチャーやAI受託開発企業でのエンジニアとして、画像認識を利用した不良品検出システムの開発などを経験しました。
エンジニアとして働くかたわら、学校の先生になる代わりに、プログラミングを社会人の方に教えはじめ、個人事業主として独立。
対面で500人以上、オンラインで50,000人以上の方に教えてきました。
著書に「ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう(技術評論社)」がある。
2020年・2021年の2年連続で、ストアカ優秀講座賞受賞。
教育アプリ開発も行う。