林 満也(はやし みつや)• @worars(ウォラーズ)• 自転車が趣味のプログラマ(Specialized  Tarmac SL3) ←ここ重要!!• C,C++,Java,VB,Perl,COBOL,PL/I• 現在Pythonの勉強中!
アジェンダ•   サロゲートキーとは?•   メリット•   デメリット•   具体的な実装では?•   まとめ•   参考資料
サロゲートキーとは?• Surrogate → 代理、代理の• Key → 鍵、キー何かの代理となるキー    → ナチュラルキーの代理
日記E-R 図(       ナチュ ルキー)          ラ      ユーザー       ユーザーID       名       氏       メールアドレス                     スター           ...
日記E-R 図( ゲート       サロ   キー)     ユーザー      ユーザーID      名      氏      メールアドレス                    スター                     スタ ...
サロゲートキーのメリット• ソフトウェアの実装がしやすくなる• テーブル間の依存関係が薄くなる• 変更に強くなる
サロゲートキーのデメリット• 業務に関係ない項目が増える• サロゲートキーの分の容量が増える
サロゲートキーのデメリット• 業務に関係ない項目が増える• サロゲートキーの分の容量が増える   むしろ減る可能性の     方が高い!
サロゲートキーのデメリット•   業務に関係ない項目が増える•   サロゲートキーの分の容量が増える•   意味のあるデータが隠ぺいされてしまう•   素直に検索できない事がある
ナチュラルキーのコードサロゲートキーのコード
データを特定する為の情報を保持する場合も            一つの値でデータを特定できるの               でURLだけでもOK。              きれいなURLも保てる!!
まとめ• サロゲートキーはナチュラルキーの代わ  りにひとつのIDをキーとすること。• ソフトウェアの実装がしやすくなる• 変更に強くなる• デメリットもあるのでご利用は計画的  に!
参考資料• DBFlute - サロゲートキーと複合主キーhttp://dbflute.sandbox.seasar.org/ja/manual/topic/dbdesign/surrogatekey.htmlDBFluteとサロゲートキーでグ...
ご清聴ありがとうございまし     た! それでは、よいDBライフを!
Surrogatekey
Surrogatekey
Upcoming SlideShare
Loading in …5
×

Surrogatekey

1,329 views
1,277 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,329
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Surrogatekey

  1. 1. 林 満也(はやし みつや)• @worars(ウォラーズ)• 自転車が趣味のプログラマ(Specialized Tarmac SL3) ←ここ重要!!• C,C++,Java,VB,Perl,COBOL,PL/I• 現在Pythonの勉強中!
  2. 2. アジェンダ• サロゲートキーとは?• メリット• デメリット• 具体的な実装では?• まとめ• 参考資料
  3. 3. サロゲートキーとは?• Surrogate → 代理、代理の• Key → 鍵、キー何かの代理となるキー → ナチュラルキーの代理
  4. 4. 日記E-R 図( ナチュ ルキー) ラ ユーザー ユーザーID 名 氏 メールアドレス スター ユーザーID (FK) 記載日付 (FK) 評価ユーザーID (FK) 日記 コ ント メ ユーザーID (FK) 記載日付 タ ト イ ル ボディ
  5. 5. 日記E-R 図( ゲート サロ キー) ユーザー ユーザーID 名 氏 メールアドレス スター スタ ID ー 日記 ID (FK) 評価ユーザーID コ ント メ 日記 日記 ID ユーザーID (FK) 記載日付 タ ト イ ル ボディ
  6. 6. サロゲートキーのメリット• ソフトウェアの実装がしやすくなる• テーブル間の依存関係が薄くなる• 変更に強くなる
  7. 7. サロゲートキーのデメリット• 業務に関係ない項目が増える• サロゲートキーの分の容量が増える
  8. 8. サロゲートキーのデメリット• 業務に関係ない項目が増える• サロゲートキーの分の容量が増える むしろ減る可能性の 方が高い!
  9. 9. サロゲートキーのデメリット• 業務に関係ない項目が増える• サロゲートキーの分の容量が増える• 意味のあるデータが隠ぺいされてしまう• 素直に検索できない事がある
  10. 10. ナチュラルキーのコードサロゲートキーのコード
  11. 11. データを特定する為の情報を保持する場合も 一つの値でデータを特定できるの でURLだけでもOK。 きれいなURLも保てる!!
  12. 12. まとめ• サロゲートキーはナチュラルキーの代わ りにひとつのIDをキーとすること。• ソフトウェアの実装がしやすくなる• 変更に強くなる• デメリットもあるのでご利用は計画的 に!
  13. 13. 参考資料• DBFlute - サロゲートキーと複合主キーhttp://dbflute.sandbox.seasar.org/ja/manual/topic/dbdesign/surrogatekey.htmlDBFluteとサロゲートキーでググれば直ぐ。
  14. 14. ご清聴ありがとうございまし た! それでは、よいDBライフを!

×