SlideShare a Scribd company logo
てらひで 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件の履歴
簡単なモデル
ユーザ
ツイート
1
0..*
履歴
ツイート
値
更新日時
履歴 おまけ
ツイート
変更履歴
1..*
1
今日のお題2 受発注
むずかしい
(>_<)
整理
•データ
– 注文、発注、商品、などなど
•やりたいこと
– 注文があった商品を発注先へ納品する
– 二重出荷、未出荷などの誤出荷はNG
•考えること
– 倉庫に商品がなかったらどうなるんだろう?
– などなど
やり方
•一番細かい単位でデータを保持
–トランザクションの単位
•すべての履歴を残す
Sample
注文
*
1
明細
商品
個数
値
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/
まとめ
•データモデルはテーブル設計
とは限らない
•履歴を残そう
•更新を無くそう
•必要があればトレーサビリティ
にも気を使おう
われわれに
よい 学びの場を
与えてくださった
しょぼちむはえらい
拍手!

More Related Content

Viewers also liked

Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
Shinobu Okano
 
プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例
sohta
 
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
Takahiro YAMADA
 
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Yuki Anzai
 
マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]
YUKI YAMAGUCHI
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
 
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
bitter_fox
 

Viewers also liked (7)

Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
 
プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例
 
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
 
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
 
マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
 

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

[社内勉強会]エンジニアな僕の情報収集法
[社内勉強会]エンジニアな僕の情報収集法[社内勉強会]エンジニアな僕の情報収集法
[社内勉強会]エンジニアな僕の情報収集法
Takahiro Moteki
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後
Tomoki Hasegawa
 
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
Atsushi Kurumada
 
kamatte(かまって)
kamatte(かまって)kamatte(かまって)
kamatte(かまって)
Shinnosuke HORIGUCHI
 
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
Nat Sakimura
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
Yasuhiro Horiuchi
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
Yusuke Uchida
 

Similar to データモデルは時空を越える (7)

[社内勉強会]エンジニアな僕の情報収集法
[社内勉強会]エンジニアな僕の情報収集法[社内勉強会]エンジニアな僕の情報収集法
[社内勉強会]エンジニアな僕の情報収集法
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後
 
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
 
kamatte(かまって)
kamatte(かまって)kamatte(かまって)
kamatte(かまって)
 
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
 

More from terahide

オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話
terahide
 
和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心
terahide
 
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったことManagement3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったこと
terahide
 
一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだ一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
 
Att
AttAtt
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
 
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
terahide
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
terahide
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
terahide
 
明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティス明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティス
terahide
 
ふりかえり
ふりかえりふりかえり
ふりかえり
terahide
 
ももたろう
ももたろうももたろう
ももたろう
terahide
 
Vbaでもtdd
VbaでもtddVbaでもtdd
Vbaでもtdd
terahide
 
Sierのアジャイルとジレンマとパラダイムシフト
SierのアジャイルとジレンマとパラダイムシフトSierのアジャイルとジレンマとパラダイムシフト
Sierのアジャイルとジレンマとパラダイムシフト
terahide
 
脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会
terahide
 
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC再入門!RESTとSpringMVC
再入門!RESTとSpringMVC
terahide
 
SGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキSGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキ
terahide
 
Tdd keyword
Tdd keywordTdd keyword
Tdd keyword
terahide
 
ゆるぎー
ゆるぎーゆるぎー
ゆるぎー
terahide
 
マシュマロチャレンジ
マシュマロチャレンジマシュマロチャレンジ
マシュマロチャレンジ
terahide
 

More from terahide (20)

オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話
 
和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心
 
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったことManagement3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったこと
 
一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだ一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだ
 
Att
AttAtt
Att
 
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
 
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
 
明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティス明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティス
 
ふりかえり
ふりかえりふりかえり
ふりかえり
 
ももたろう
ももたろうももたろう
ももたろう
 
Vbaでもtdd
VbaでもtddVbaでもtdd
Vbaでもtdd
 
Sierのアジャイルとジレンマとパラダイムシフト
SierのアジャイルとジレンマとパラダイムシフトSierのアジャイルとジレンマとパラダイムシフト
Sierのアジャイルとジレンマとパラダイムシフト
 
脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会
 
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC再入門!RESTとSpringMVC
再入門!RESTとSpringMVC
 
SGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキSGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキ
 
Tdd keyword
Tdd keywordTdd keyword
Tdd keyword
 
ゆるぎー
ゆるぎーゆるぎー
ゆるぎー
 
マシュマロチャレンジ
マシュマロチャレンジマシュマロチャレンジ
マシュマロチャレンジ
 

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