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

5分でわかる イミュータブル データモデル

a.shimomura
November 22, 2024
82

5分でわかる イミュータブル データモデル

a.shimomura

November 22, 2024
Tweet

Transcript

  1. • akshimo(あくしも) ◦ X:@akshimo • 東京出身 ◦ 2021年〜新潟へ移住 • 無職

    • 好きなもの ◦ アジャイル、スクラム ◦ DDD、BDD、イベント駆動 ◦ 物理学、哲学 ◦ ウイスキー、アブサン 自己紹介
  2. 永続化 関心 変更 アプローチ データモデリング 意識する 客観的な 事実・データ ゆるやか 部分から全体

    ドメインモデリング 意識しない 意味と目的がある データの加工・判断 のロジック 頻繁 全体から部分
  3. DBに保存するもの リソース (ヒト・モノ) イベント (コト) • 事業活動の当事者 • 業務の関心の対象 •

    UPDATE可能 • ユーザー、担当者、商品、店舗... • 過去に起きたこと • これから起こること(約束) • リソースの関係として出現 • UPDATE不可 • 注文、予約、キャンセル...
  4. DBに保存するもの リソース (ヒト・モノ) イベント (コト) • 事業活動の当事者 • 業務の関心の対象 •

    UPDATE可能 • ユーザー、担当者、商品、店舗... • 過去に起きたこと • これから起こること(約束) • リソースの関係として出現 • UPDATE不可 • 注文、予約、キャンセル... 重要!
  5. 起きたコトは変更されることはない 起きたコト 金額 ユーザーID 日時 入金 3,000円 1 2024/11/21 10:00

    入金 4,000円 1 2024/11/21 10:30 出金 6,000円 1 2024/11/21 11:00 入金 2,000円 1 2024/11/21 11:30
  6. 起きたコトから今の状態を計算できる 起きたコト 金額 ユーザー ID 日時 入金 3,000円 1 2024/11/21

    10:00 入金 4,000円 1 2024/11/21 10:30 出金 6,000円 1 2024/11/21 11:00 入金 2,000円 1 2024/11/21 11:30 残高 3,000円
  7. 1. エンティティを抽出する 2. エンティティを分類する 3. イベントエンティティには1つの日時属性しかもたないようにす る 4. リソースに隠されたイベントを抽出する 5.

    非依存リレーションシップを交差エンティティにする Kawashima 『イミュータブルデータモデル』 https://scrapbox.io/kawasima/イミュータブルデータモデル イミュータブルデータモデリングの手順
  8. CREDITS: This presentation template was created by Slidesgo, and includes

    icons by Flaticon, and infographics & images by Freepik Thanks! Do you have any questions? Please keep this slide for attribution