データモデルは時空を越える

39
てらひで 201 5 / 2 / 21 #syoboben データモデルは 時空 を超える !? 移動する情報と追跡可能性

Upload: terahide

Post on 21-Jul-2015

1.086 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: データモデルは時空を越える

てらひで 2015/2/21

#syoboben

データモデルは

時空を超える!?

~移動する情報と追跡可能性~

Page 2: データモデルは時空を越える

てらひで @terahide27

認定スクラムマスター認定スクラムプロダクトオーナー

アジャイルコンサルタントアーキテクト

Page 3: データモデルは時空を越える

てらひで @terahide27

http://gigazine.net/news/20141206-anime-2015winter/

深夜アニメのカバレッジ90%以上

Page 4: データモデルは時空を越える

今日お話すること

•データモデルってなんだっけ?

•履歴と更新

•データと移動

Page 5: データモデルは時空を越える

やらないこと

•むずかしいお話

•詳しい説明

•アニメのお話

Page 6: データモデルは時空を越える

データモデル

Page 7: データモデルは時空を越える

データ - Wikipedia伝達、解釈、処理などに適するように形式化、符号化されたもの、または再度情報として解釈できるものをいう。

-snip-

端的に言うと、意味のあるデータが

「情報」となる。→情報

http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF

Page 8: データモデルは時空を越える

モデル - Wikipedia-snip-

システムやプロセスに関して、計算や予測の助けとするために、単純化した記述のことで、特に数学的なそれのこと[1]。現実よりも単純化した説明 →モデル (学術)、数理モデル。

http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%87%E3%83%AB

Page 9: データモデルは時空を越える

データモデル

意味のあるデータ=

『情報』 を

単純化した記述のこと

Page 10: データモデルは時空を越える

今日のお題1

つぶやきシステム

Page 11: データモデルは時空を越える

ここ!

35,582回ツイート

35,582件の履歴

Page 12: データモデルは時空を越える

簡単なモデル

ユーザ

ツイート

0..*

Page 13: データモデルは時空を越える

履歴

ツイート値更新日時

Page 14: データモデルは時空を越える

履歴 おまけ

ツイート

変更履歴1..*

1

Page 15: データモデルは時空を越える

今日のお題2 受発注

むずかしい(>_<)

Page 16: データモデルは時空を越える

整理•データ–注文、発注、商品、などなど

•やりたいこと–注文があった商品を発注先へ納品する–二重出荷、未出荷などの誤出荷はNG

•考えること–倉庫に商品がなかったらどうなるんだろう?–などなど

Page 17: データモデルは時空を越える

やり方

•一番細かい単位でデータを保持

–トランザクションの単位

•すべての履歴を残す

Page 18: データモデルは時空を越える

Sample

注文

*

明細商品

個数値

1 *

※いろいろ割愛

明細を更新する可能性のある最少単位で

Page 19: データモデルは時空を越える

使いづらい(>_<)

Page 20: データモデルは時空を越える

なにが起こるか

•更新はCreateとDeleteだけになる

•参照はがっちゃんこしてみればいい

Page 21: データモデルは時空を越える

用法容量をお守りの上適切にお使いください

Page 22: データモデルは時空を越える

性能には気を付けてね

Page 23: データモデルは時空を越える

•時間(現在・過去・未来の受注)

•空間(倉庫から発送先へ)

つまり移動!

時空を超える

Page 24: データモデルは時空を越える

TEA

•AccountPattern–アナリシスパターン(ISBN:4894716933)

•絶版orz

•Transaction(トランザクション)

•Entry(エントリー)

•Account(資源)

Page 25: データモデルは時空を越える

資源

移動の対象となるもの

名前 :商品商品名:みかん単位 :箱個数 :在庫数+入荷数ー出荷数

Page 26: データモデルは時空を越える

エントリー

資源をどのくらい変更したか

個数:30 個数:-1

入荷の時 出荷の時

Page 27: データモデルは時空を越える

ここまで

エントリー 資源* 1

Page 28: データモデルは時空を越える

トランザクション

どこからどこへ移動したか

名前:入荷 名前:出荷

入荷は入荷元から倉庫への移動

出荷は倉庫から出荷先への移動

Page 29: データモデルは時空を越える

ここまで

エントリー 資源* 1トランザク

ション

*1

Page 30: データモデルは時空を越える

倉庫には今いくつみかん箱がありますか?

質問

1 30箱

2 -1箱

3 -3箱

エントリー

26箱

資源

1 入荷

2 出荷

3 出荷

トランザクション

Page 31: データモデルは時空を越える

今日のお題1

つぶやきシステム

Page 32: データモデルは時空を越える

つぶやき

ツイート変更

ツイート

<Account><Entry>

* 1ツイート変更

<Transaction>

11

※冗長だね

Page 33: データモデルは時空を越える

つぶやき

ツイート変更 ツイート<Account><Entry>

クソモデルw1 追加 クソモデルw

* 1

Page 34: データモデルは時空を越える

つぶやき

ツイート変更 ツイート<Account><Entry>

天使モデル1 追加 クソモデルw

2 変更 天使モデル

* 1

Page 35: データモデルは時空を越える

つぶやき

ツイート変更 ツイート<Account><Entry>

1 追加 クソモデルw

2 変更 天使モデル

3 削除

* 1

天使モデル

Page 36: データモデルは時空を越える

履歴

ツイート値更新日時

Page 37: データモデルは時空を越える

ご参考•オージス総研 アナパタ勉強会のページ

–第6章 在庫管理と会計 -前半-

http://www.ogis-ri.co.jp/otc/hiroba/others/AnaPatStudy/

Page 38: データモデルは時空を越える

まとめ

•データモデルはテーブル設計とは限らない

•履歴を残そう

•更新を無くそう

•必要があればトレーサビリティにも気を使おう

Page 39: データモデルは時空を越える

われわれによい 学びの場を与えてくださったしょぼちむはえらい

拍手!