Eat, Play, Nap and Code

食とあそびと昼寝とプログラミング学習

週報 2021/4/12(月)〜2021/4/18(日)

📚 1週間ふりかえり

こんにちは。 私は朝7時から1時間散歩をしているんですが、運動というより歩きながら色々考えることができるのが気に入ってます。 先週はあまり体調が優れず、日報も出せていないためこの週報書くのも憂鬱だったのですが、散歩していたら完璧に書かなくてもできなかったことも記録しよう、という気分になってきたのでなんとか書いてます。

先週末に立てた目標は、全く達成できてないです…😭 というのも『楽々ERDレッスン』でつまづきまくり、他のことに考えを巡らせる余裕がなくなってしまったためです。 DB設計でこんなに分かんなくなるなんて思わなかったので、これからどうしようか…とちょっと心配。(今はSQLの復習をしてます)

とりあえず週報書いて行きます〜(YouTubeは続けてるんですが週報にまとめるとごちゃごちゃするので別途記事にしようかとおもいます。)

📚 もくじ

📚 目標と成果

目標 成果 来週の課題
無理せず出来る範囲でYouTubeを続ける OK 引き続き
『楽々ERDレッスン』を読了する orz 頑張れ〜
TwitterのER図を書く課題に着手する NO 頑張れ〜
30時間の学習を確保出来るよう意識する 意識はした 頑張れ〜

📚 学習時間

日付 時間
4/12(月) 04:45
4/13(火) 04:15
4/14(水) 05:00 ​
4/15(木) 04:00
4/16(金) 03:00
4/17(土) 00:15
4/18(日) 02:25
合計 23:40

📚 週報

📅 4/12(月)

💪 やったこと

  • ブートキャンプの先輩のDB設計に関するブログを2件読む。

masuyama13.hatenablog.com

saki-htr.hatenablog.com

  • おふたりとも一旦表を書いてみることを進められているので、『楽々ERDレッスン』ハンバーガーショップの課題についてもざっくりとした表を書いてみた。汚いけど載せてみる。 image.png

ここから第1正規化(↓)してみる。

image.png

なんか色々キーがあってどれが主キーになるのかも分からん…。ここからどう第3正規化までできるか分からないので、もう勢いでテキトーにER図書いてみる。

image.png

回答例と見比べてみると、エンティティが多い。店舗や顧客情報のテーブルは必要ないみたい。 あと1:多の関係が何も分かってない感じ。

🍕 感想

  • やっぱり1:Nの関係がよく分からん。誰目線でやればいいのかが分からない。この1枚のレシートだけ(複数の商品を1人が1回で注文して1回支払いする)から読み取るのか、業務全体(複数の商品を複数人が複数回注文して複数回支払いする)を通してやるのかが分からない。
  • 自分が今誰目線でやろうとしてるんだっけ?というのも途中で分からなくなってくる。
  • 学習以外にやるべきこともないのに全然学習時間がとれなくて謎だとDiscordに書いたら、お子さんを2人育て&&お仕事をしながら学習しているid:siroemk さんが「やることがあるから逆に集中できる」と仰っていて、なるほど〜と思いバイトを始めてみようかと思って探し中。1件応募してみたけど、引き続きゆるく探そう。

📅 4/13(火)

💪 やったこと

  • そういえば、SQLドリルの複数テーブルが出てきた段階で??となってたことを思い出し、正規化の理論を飲み込むためにSQLに一度立ちかえることにした。
  • Udemyの教材でMySQLを学ぶ。論理演算子はだいたいRubyと一緒なのでスムーズに理解できた(もしかしたらRubyの経験がなかったらSQLも理解するのもっと大変だったのかな?)。次の講座は1:多についてっぽいので楽しみ。
  • 楽々ERDレッスンの第1部をすべて読み終えた。

🍕 感想

  • バイトをしよう、と決めてから、自分の進み具合の遅さにさほど恐怖を感じなくなった。バイトを始めたら始めたで別の恐怖があるのかもしれないが、じっくり分からないことと向き合う時間を持った方が後々のためになるかな〜と思う。
  • 最近めちゃ早起きしているので21時にはもうかなり眠い。今まで日報書く時間は夜中だったが、スケジュール組み直したほうがいいっぽい。

📅 4/14(水)

💪 やったこと

  • 『楽々ERDレッスン』でのエンティティ同士のリレーションシップの見出し方が全く分からず、Q&Aに投稿してみた。

    『楽々ERDレッスン』の演習課題に取り組んでいます。
    エンティティの抽出については少しずつ理解できてきているのですが、出来上がったエンティティのリレーションシップの見出し方が全く分かりません😭
    どちらが1でどちらが多なのかが直感的に分からず、解説にも詳しく書かれていないので、模範解答のER図を見ても腑に落ちない状態です。 『達人に学ぶDB設計徹底指南書』も読んだのですが、自明のことみたいでリレーションシップの見出し方については詳しく書かれていませんでした。 皆さん深く考えなくても直感でわかるのでしょうか…😭
    そこで、ER図を作成するとき、どちらが1でどちらが多かをどうやって見極めているのか、皆さんの思考手順(もしくは理解の助けになった資料など)を教えていただければ嬉しいです😄

🍕 感想

  • この日くらいから体調&メンタル不調。
  • 分かることがほとんどないため、日報も書けず。

📅 4/15(木)

💪 やったこと

  • 昨日投稿したQ&Aについて、メンターさんから「具体的にどこが分からなかったのか教えてほしい」と言われ、自分の思考を整理する。
  • 本当に何がわからないのかも分からん状態だったので『達人に学ぶDB設計徹底指南書』と『楽々ERDレッスン』を読み込み、下記のように整理した。

『楽々ERDレッスン』のp.136「図書館の予約申込書」が分かりませんでした。
p.143の上の、外部キーがなくリレーションシップが書かれていないエンティティに関係を見出そうとすると、全て多対多では?という気持ちになってしまいます。
例えば予約者と連絡先に対して、連絡先に予約者IDが外部キーとして設定されているエンティティであれば、予約者に対して連絡先が複数あるというのは分かるんですが、外部キーを自分で設定しようとすると、自宅や会社の電話番号だったら多:多になりそう…などが頭に浮かんでしまい、うまく関係性を見出すことができません。
見返してみると、具体的にこの解答例のここが納得いかない!という段階ですらなくて、どうやって解答例まで思考を整理させればいいのかが分からない、という感じです😭
どのエンティティにどの外部キーを設定すればいいのかが分かっていないことにも気づきました。

🍕 感想

  • この日も日報書けず。
  • 何が分からないか言語化できないときは1番辛い😭
  • とりあえず、外部キーの設定方法がわからんことは分かった。

📅 4/16(金)

💪 やったこと

  • Q&Aへの回答で、メンターの伊藤さん id:JunichiIto から、『楽々ERDレッスン』の課題(レシートや図書館の予約申込書などの紙の業務からER図を作成する)は少し手強いので、ブートキャンプのQ&AページのER図を書いてみたらどうかとご提案いただき、挑戦してみる。 image.png
  • このER図自体が正しいかどうかは自信がないけど、リレーションシップの見出し方については「XXはYYをたくさん持てる」と声に出して考えてみることでちょっと出来るようになってきた。
    • ↑のER図も伊藤さんに見ていただけることになったので楽しみだ。

🍕 感想

  • やっと成果物ができたので日報を再開できた。
  • DB設計、色々理解できてないことが多すぎて本当に辛いが、ちょっとは分かってきた部分もあるのでめげずに頑張ろう。

📅 4/17(土)

💪 やったこと

  • ブートキャンプのDiscordでおすすめされていたムーザルちゃんねるというYouTubeチャンネルを眺めて、DB設計に関係ありそうな動画を見つけたのでちょっとだけ見た。
  • 先週の、インデックスの理解に苦しんでた自分に見せたい。

🍕 感想

  • 低気圧による頭痛とPMSのせいでほとんど何もできなかった。
  • でも少しでも学習したのは偉い。

📅 4/18(日)

💪 やったこと

🍕 感想

  • Udemyのこの課題、一気にやろうと思わずコツコツやってればよかったな〜。私はいつもそのパターン(一気にやろうとして挫折→間が空いてしまう→ちょっとずつやるにシフトチェンジ)で失敗しがち。
  • TwitterのDB設計、本当にできるのだろうか…DBの話してる人の話、3割くらいしか理解できないょ…言葉も概念もむずい。

📚 来週の目標

  • 進捗がなくても毎日日報をつける
  • Udemyの動画をできれば全て見る
  • YouTubeでの活動を記録するブログを書く