![見出し画像](https://assets.st-note.com/production/uploads/images/24523723/rectangle_large_type_2_e706dc1faa878a5967c89b59febf58b6.jpeg?width=1200)
Bubbleのデータベース設計を学ぶための、ただ1つの方法
アプリ開発において、データベース(DB)設計は重要項目のひとつです。
しかし、僕自身を含む初学者にとっては、
つまづきやすく、ハードルの高い部分でもあります。
先日、DB設計について語るイベントに参加しました。
そこから自分なりに整理し、最も最適な学習方法を考えました。
結論を先に述べると
より多くの事例を「見て」「マネをする」
これに尽きると思いました。
これはBubbleのみならず、MySQLなどの一般的なDB設計にも当てはまるのかなと思います。
本記事では、この結論に至るまでの考えを記述します。
自己紹介
名前:あぽと
職業:エンジニア(歴0.5年)
習得言語:Java、Ruby(プロダクト開発経験なし)
一応エンジニアの肩書でコーディングしますが、歴が短く、社内オリジナル言語を扱うため、汎用性がありません。
そのため「オブジェクト指向をそれとなく分かっている人」くらいの認識でお願いします笑
4月に、NoCodeツール(コードを書かずにアプリ開発を行うツール)である"Bubble"の学習を始め、
3週間ほどでアプリを初開発・初リリースしました。
飲食店テイクアウト情報サイトです。
Tanoncha(たのんちゃ)
https://tanoncha.bubbleapps.io/
DB設計については悩みましたが、初学者がつまづく壁はひとまず超えられたと自負しています。
参加したイベント
【ノーコード分科会】No-Codeの「DB設計」について語ろう! 〜Bubble会〜 https://nocoders-japan.connpass.com/event/174210/ #NoCoders
こちらのイベントは、BubbleのDBに焦点を置き
日本のトップNoCoderの方々がDB設計について語る会でした。
登壇者はこちらの方々でした。
・大道峻 さん
・ノーコードラボ さん
・shinji さん
・NoCode Ninja さん
・Sho Tさん
また、議事録が上がっており、こちらを参考に執筆しています。
(中田さんありがとうございます!)
ノーコード開発におけるDB設計について語られたBubble会について、一部書き起こししました!ざっくりですが🙏
— 魔法使いのWebマーケ中田@No-Code (@Mktg_Wizard) May 1, 2020
書き起こし【ノーコード分科会】No-Codeの「DB設計」について語ろう!~Bubble会~ https://t.co/tMfCtWk5k1#nocode #nocoder #nocoders
考察
どの話も参考になりましたが、
中でもノーコードラボさんの発言が、真理かなと感じました。
初心者は「事例をまだ知らない」ということが、難しく感じる1つの要因である。
DBを上手く設計したいのであれば、急がば回れで、まず事例のマネをして設計してみるといいかも。
前提として、DB設計に正解はありません。
似たような事例でも、場合によっては設計が変わる場合があります。
よって、DB設計は"Best"でなく、"Better"を求めることとなります。
Bestの場合は、明確な「型」が存在する場合が多く
初学者はそれを真似すればよいです。
しかしBetterの場合、そのような「型」が存在しないため
個人の「経験とノウハウ」が必須となります。
「経験とノウハウ」を基に、
「こういう要素と機能なら、こんな設計がいいな」
と、スムーズなDB設計が行えるようになるのかなと感じました。
この「経験とノウハウ」を貯めるため、初学者がやるべきことは
より多くの事例を「見て」「マネをする」
つまり、数をこなせということですね笑
あぽとが参考にした事例一覧
僕はTanonchaを完成させるまでに、
いくつか事例を見て、マネして制作してみました。
結果、納得のいくDB設計ができたと思っています。
参考にした事例を紹介します。
・NoCode School - ノーコードスクール -
https://www.youtube.com/channel/UCa3cFggd3BrJ6qq5lw8P_9w
こちらは、イベント登壇者 shinjiさんのYouTubeチャンネルとなります。
Uberを題材とし、Bubbleの機能を具体的に説明しています。
実際に手を動かし、まったく同じものを作りました。
・ノーコード ラボ
https://blog.nocodelab.jp/
こちらは、ノーコードラボさんのブログです。
(なんだかややこしい説明になりました笑)
記事を参考に、これらを実際に作ってみました。
・元号ジェネレータ
・4択クイズアプリ
・twitter clone
また、DB事例をまとめた記事もあるので、とても参考になります。
・Progate Ruby on Railsコース、SQLコース
https://prog-8.com/courses
僕は元々コーディングによるアプリ開発を目指していたため、
Progateを使ってプログラミング学習を進めていました。
Ruby on Railsコースではtwitterもどき、SQLコースではECショップを事例とし、DB設計を学びました。
もしコーディングに抵抗がなければ、SQLコースはやってみてもいいかもしれません。
・(未学習)大道さんが使用している参考書
イベント登壇者の大道さんが、ご自身が参考にしている本を紹介してくださりました。
大道さんが勧めていたDBの参考書、早速購入しました笑
— あぽと@コードを書かないWebアプリ制作 (@apopotoapoto) May 1, 2020
今はまだ困っていないけれど、手元にあればもしもの時に解決できる気がしたので。
[改訂新版] これだけはおさえたい データベース基礎の基礎 (エンジニア“確実”養成講座) https://t.co/V28XTLvG3O #NoCoders#NoCode
こちらはまだ手元にありませんが、
実務でDB設計をこなしている大道さんが参考にしているのであれば、少なくともヒントは得られるかと思います。
本で学ぶ、というよりは
あくまで参考にするのが良いかもしれません。
【追記】2020.6.27
上記の図書にて、学習を終えました。
設計手順や注意点、そもそもデータベースとは、という部分から解説してあり、とても分かりやすかったです。
読む前後で、データベースの見え方が変わりました。
また全体を通して、具体的な明細書からの設計を題材にしているため
抽象・具体の解説が同時に学べ、素早い理解に繋がると感じました。
エンジニア向けの技術書なので難しい箇所も出てきますが、読み飛ばして全然大丈夫です。
データベース設計でつまづいている方、BubbleなどのNoCodeをしっかり触りたい方には
ぜひ読んでいただきたいです。
[改訂新版] これだけはおさえたい データベース基礎の基礎 (エンジニア“確実”養成講座) 谷尻 かおり https://www.amazon.co.jp/dp/4774139939/ref=cm_sw_r_tw_dp_x_8VS9EbQ9WX49T
まとめ
数をこなすべきという、なんとも当たり前な結論ですが、
僕はこれが最も近道なのかなと思いました。
ノーコードラボさんは、このような発言もされていました。
DBを上手く設計したいのであれば、急がば回れで、まず事例のマネをして設計してみるといいかも。
DBに限らず、「急がば回れ」の考えを基に、
初学者はまず、地道にマネしてみることが大切だと思います。
この記事が気に入ったらサポートをしてみませんか?