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

Post on 21-Jul-2015

1.086 Views

Category:

Engineering

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

てらひで 2015/2/21

#syoboben

データモデルは

時空を超える!?

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

てらひで @terahide27

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

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

てらひで @terahide27

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

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

今日お話すること

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

•履歴と更新

•データと移動

やらないこと

•むずかしいお話

•詳しい説明

•アニメのお話

データモデル

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

-snip-

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

「情報」となる。→情報

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

モデル - Wikipedia-snip-

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

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

データモデル

意味のあるデータ=

『情報』 を

単純化した記述のこと

今日のお題1

つぶやきシステム

ここ!

35,582回ツイート

35,582件の履歴

簡単なモデル

ユーザ

ツイート

0..*

履歴

ツイート値更新日時

履歴 おまけ

ツイート

変更履歴1..*

1

今日のお題2 受発注

むずかしい(>_<)

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

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

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

やり方

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

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

•すべての履歴を残す

Sample

注文

*

明細商品

個数値

1 *

※いろいろ割愛

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

使いづらい(>_<)

なにが起こるか

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

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

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

性能には気を付けてね

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

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

つまり移動!

時空を超える

TEA

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

•絶版orz

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

•Entry(エントリー)

•Account(資源)

資源

移動の対象となるもの

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

エントリー

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

個数:30 個数:-1

入荷の時 出荷の時

ここまで

エントリー 資源* 1

トランザクション

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

名前:入荷 名前:出荷

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

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

ここまで

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

ション

*1

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

質問

1 30箱

2 -1箱

3 -3箱

エントリー

26箱

資源

1 入荷

2 出荷

3 出荷

トランザクション

今日のお題1

つぶやきシステム

つぶやき

ツイート変更

ツイート

<Account><Entry>

* 1ツイート変更

<Transaction>

11

※冗長だね

つぶやき

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

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

* 1

つぶやき

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

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

2 変更 天使モデル

* 1

つぶやき

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

1 追加 クソモデルw

2 変更 天使モデル

3 削除

* 1

天使モデル

履歴

ツイート値更新日時

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

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

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

まとめ

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

•履歴を残そう

•更新を無くそう

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

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

拍手!

top related