DB設計したいNight #2 に参加してきました
ども、いっせーです
昨日 DB設計したいNight #2 に参加してきました dbnight.connpass.com
業務でDB設計をするものの、あまり自信がなく力をつけたいなと思っていたところにタイムラインに流れてきたので参加ぽちーしました。
今回はイントロ、DB設計とER図の書き方の説明のあと、演習形式で行われました。
課題要件を20分程度で各自設計し、参加者の中から挙手1名と抽選2名の方に発表頂くといった形でした。
Q: お見合いサービス
要件は画像スライドの通り。
足りない要件は各自が想像して補完していくという形。
個人的には「お見合いサービス」と「マッチングアプリ」は違うと思っていて、
「マッチングアプリ」だと申請時にメッセージが送れたりするので、どう捉えるかでテーブル設計は変わってくるのかなと思いました。
どういう要件があるんだろうなぁとかER図ってどうやって書くんだっけとかいろんなことを考えている内に時間が来てしまい、ざっと書いたのが以下(字が汚いし、ER図として成り立ってないのはご容赦くださいませ
候補者テーブルがあって、申込者IDと受け取り側IDと承認フラグを持っているお見合いテーブルと、候補者とお見合いそれぞれに紐づくメッセージテーブルという形です。(羊文みたいなのは本文)
運よく発表者に選ばれたので、発表しコメントや質問をもらうことができました。
「この設計だとメッセージがきちんとお見合いが承認されたことが保証できないのでは?」みたいな質問だった気がします。
似たような設計の方もいたようで、なんだかほっとしました。
他の方の設計で「男性テーブル」「女性テーブル」と分ける案がでた時に「趣向性を管理するカラムやテーブルを考えたほうがいいかも」「多様性大事」という話も上がって気づきがあってよかったです。
Q: バスの時刻表
これも課題の受け取り方によって設計に差がでそうだなと思いました。
自分の設計を撮るのを忘れてしまったのですが、 記憶を辿るとこんな図を作った気がします
でもこれだとA停留所-B停留所-C停留所という路線でAから出発してCに行きたい時はループして取得するんかなどうするんだろうみたいになってうまくいかんなぁというお気持ちになっていました。
発表者の方は乗り換えを考慮していたりして要件を広げて捉えていてすごいなと感じていました。
その後 id:Soudai さんが「自分似たようなものを作ったことがあるので」という感じでホワイトボードでER図をかいてくださいました。
「こういうケースが想定されるからこういうテーブルが必要だよね」という風に納得感のある説明でした。
動画撮っておけばよかったなぁ。
感想
どちらも自分の経験したことがなかったドメインだったので、想定される要件が並べられず設計を広げることができなかったなぁという印象でした。
20分だとちょっと短いかもと思いました。
「もっと要件を示してほしい」ということではなく要件を考える時間が欲しかったかなぁ?
もっと設計の引き出しを広げたいなと感じました
テーブル設計、型(パターン)を知ってるかどうかって大事だし、逆に既知のパターンに引っ張られるので引き出し多く持つのが大事だと思う。
— そーだい@初代ALF (@soudai1025) January 25, 2019
で僕はt_wadaさんに教えてもらったこれをいっぱいみた。https://t.co/cLqfALp2XA#DBSekkeiNight
このツイートで紹介されているものを見るのはよさそうだなと。
#dbsekkeinight の資料です。@Nakunaru の資料は本来3日間掛けてやるような内容を無理やり10分に押し込んだもので一見の価値ありです。https://t.co/IIsqztwrZq
— ヽ(*゚д゚)ノkaiba (@kaiba) January 24, 2019
抽選で発表内容いただいた内容はこちら。https://t.co/opcFU3KU91
各種スポンサーなども募集中です🍻
次回も都合が合えば参加したいです!