Upgrade to Pro — share decks privately, control downloads, hide ads and more …

はじめてのB2B SaaSデータモデリング in 吉祥寺.pm#18

はじめてのB2B SaaSデータモデリング in 吉祥寺.pm#18

sasaki nobuya

May 17, 2019
Tweet

More Decks by sasaki nobuya

Other Decks in Programming

Transcript

  1. Name ࠤʑ໦ Ԇ໵ Company A1Aגࣜձࣾ (ΤʔϫϯΤʔ) Career ৯΂ϩά → Speee

    → A1AΛڞಉ૑ۀ URL twitter.com/__mnc90 manchose.hatenablog.jp About ٕज़ͷ੹೚ऀͱͯ͠RFQΫϥ΢υͷσʔλ ϕʔεઃܭͱΠϯϑϥߏஙɺ૊৫ͮ͘Γͳ ͲΛ୲౰
  2. TDD IaC GraphQL React TypeScript Serverless Kubernetes GitOps Apex Atomic

    Design DDD σʔλ ϞσϦϯά ΍ͬͨ΄͏͕ྑͦ͞͏ͳ͜ͱ
  3. request_for_quotations ID produce_number 1 300 2 60 3 1200 ID

    unit_price request_for_quotation_id 1 100 1 2 90 2 quotations ૉ๿ͳઃܭ
  4. request_for_quotations ID produce_number 1 300 2 60 3 1200 ID

    unit_price received_request_for_quotation_id 1 100 1 2 90 2 quotations σʔλͷॴ༗ऀΛߟ͑ͨઃܭ ID produce_number 1 300 2 60 3 1200 received_request_for_quotations ID unit_price request_for_quotation_id 1 100 1 2 90 2 received_quotations
  5. materials ID name 1 ϒϥέοτ 2 εϥΠυϘοΫε ϒϥέοτ 3 ݻఆۚ۩

    ID material_id code 1 1 391001 2 3 369221 material_codes ͱΓ͋͑ͣNULL͸ແ͘ͳͬͨʂ Ͱ΋ɺ͜ΕͰ͍͍ͷ͔ʁ
  6. materials ID name 1 ϒϥέοτ 2 εϥΠυϘοΫε ϒϥέοτ 3 ݻఆۚ۩

    ID material_id code 1 1 391001 2 3 369221 production_materials prototype_materials ID material_id 1 2
  7. materials ID name updated_at 1 ϒϥέοτA 2019-05-16 09:10:11 2 ໶۩

    2019-05-17 12:51:02 materialsςʔϒϧΛ௚઀ ߋ৽͢Δ৔߹
  8. ID name created_at material_id 1 ϒϥέοτA 2019-05-16 09:10:11 1 2

    ϒϥέοτB 2019-05-26 11:42:11 1 materials ID name 1 ϒϥέοτ 2 ໶۩ material_updates ߋ৽Πϕϯτͷςʔϒϧ material_updatesΛ༻ҙ
  9. ID name created_at material_id 1 ϒϥέοτA 2019-05-16 09:10:11 1 2

    ϒϥέοτB 2019-05-26 11:42:11 1 materials ID name 1 ϒϥέοτ 2 ໶۩ material_updates Ռͨͯ͠ɺmaterialsͷߋ৽ۀ຿ ͸RFQΫϥ΢υͷղܾ͢ΔυϝΠ ϯͷத৺ͳͷ͔ʁ
  10. ID name created_at material_id 1 ϒϥέοτA 2019-05-16 09:10:11 1 2

    ϒϥέοτB 2019-05-26 11:42:11 1 materials ID name 1 ϒϥέοτ 2 ໶۩ material_updates ҧ͏͸ͣɻ ͋͘·Ͱmaterialsͷߋ৽ཤྺͷ؅ཧ͸جװγε ςϜ(ERP)Ͱߦ͍ͬͯΔɻ ͳΒɺmaterialsΛ௚઀ߋ৽ͯ͠͠·ͬͯྑ͍ɻ ΋͠CS༻ʹཤྺ͕΄͔ͬͨ͠৔߹͸ผͷσʔλ ετΞʹೖΕΔͳΓ͢Ε͹Α͍ɻ
  11. diagram_images ID name path request_for_quotation_id 1 ਤ໘_ver1 /images/xxxx/sample.jpeg 1 2

    ਤ໘_ver2 /images/xxxx/sample2.jpeg 1 3 ਤ໘_ver3 /images/xxxx/sample3.jpeg 2 request_for_quotations ID produce_number 1 300 2 60
  12. diagram_images ID name path request_for_quotation_id 1 ਤ໘_ver1 /images/xxxx/sample.jpeg 1 2

    ਤ໘_ver2 /images/xxxx/sample2.jpeg 1 3 ਤ໘_ver3 /images/xxxx/sample3.jpeg 2 request_for_quotations ID produce_number 1 300 2 60 diagram_iamges͸ඞͣ request_for_quotationsͷ࡞ ੒ޙʹొ࿥͢Δʁ
  13. diagram_images ID name path 1 ਤ໘_ver1 /images/xxxx/sample.jpeg 2 ਤ໘_ver2 /images/xxxx/sample2.jpeg

    3 ਤ໘_ver3 /images/xxxx/sample3.jpeg request_for_quotations ID produce_number 1 300 2 60 ID diagram_image_id request_for_quotation_id 1 1 1 2 2 1 3 3 2 attached_diagram_images diagram_imagesͱ request_for_quotationsͷ σʔλొ࿥͸ॱෆಉʹͳͬͨ
  14. Example diagram_images ID path request_for_quotation_id 1 /images/xxxx/sample.jpeg 1 2 /images/xxxx/sample2.jpeg

    1 3 /images/xxxx/sample3.jpeg 2 request_for_quotations ID produce_number 1 300 2 60
  15. Example diagram_images ID path request_for_quotation_id 1 /images/xxxx/sample.jpeg 1 2 /images/xxxx/sample2.jpeg

    1 3 /images/xxxx/sample3.jpeg 2 request_for_quotations ID produce_number 1 300 2 60 ਤ໘ϑΝΠϧͬͯݟੵґཔʹରͯ͠ෳ਺ ఴ෇͢Δ͜ͱ͸͋Γ·͔͢ʁ me
  16. Example diagram_images ID path request_for_quotation_id 1 /images/xxxx/sample.jpeg 1 2 /images/xxxx/sample2.jpeg

    1 3 /images/xxxx/sample3.jpeg 2 request_for_quotations ID produce_number 1 300 2 60 ݟੵґཔΛ࡞੒͢Δલʹਤ໘ϑΝΠϧ͚ͩ ଞ෦໳͔Βڞ༗͞ΕΔ͜ͱ͸͋Γ·͔͢ʁ me