SlideShare ist ein Scribd-Unternehmen logo
1 von 16
林 満也(はやし みつや)
• @worars(ウォラーズ)
• 自転車が趣味のプログラマ(Specialized
  Tarmac SL3) ←ここ重要!!
• C,C++,Java,VB,Perl,COBOL,PL/I
• 現在Pythonの勉強中!
アジェンダ
•   サロゲートキーとは?
•   メリット
•   デメリット
•   具体的な実装では?
•   まとめ
•   参考資料
サロゲートキーとは?
• Surrogate → 代理、代理の
• Key → 鍵、キー

何かの代理となるキー
    → ナチュラルキーの代理
日記E-R 図(
       ナチュ ルキー)
          ラ



      ユーザー
       ユーザーID
       名
       氏
       メールアドレス


                     スター
                      ユーザーID (FK)
                      記載日付 (FK)
                      評価ユーザーID (FK)
      日記              コ ント
                       メ
       ユーザーID (FK)
       記載日付
       タ ト
        イ ル
       ボディ
日記E-R 図( ゲート
       サロ   キー)



     ユーザー
      ユーザーID
      名
      氏
      メールアドレス
                    スター
                     スタ ID
                       ー
                     日記 ID (FK)
                     評価ユーザーID
                     コ ント
                      メ
     日記
      日記 ID
      ユーザーID (FK)
      記載日付
      タ ト
       イ ル
      ボディ
サロゲートキーのメリット
• ソフトウェアの実装がしやすくなる
• テーブル間の依存関係が薄くなる
• 変更に強くなる
サロゲートキーのデメリット
• 業務に関係ない項目が増える
• サロゲートキーの分の容量が増える
サロゲートキーのデメリット
• 業務に関係ない項目が増える
• サロゲートキーの分の容量が増える



   むしろ減る可能性の
     方が高い!
サロゲートキーのデメリット
•   業務に関係ない項目が増える
•   サロゲートキーの分の容量が増える
•   意味のあるデータが隠ぺいされてしまう
•   素直に検索できない事がある
ナチュラルキーの
コード




サロゲートキーの
コード
データを特定する為の情報を保持する場合も




            一つの値でデータを特定できるの
               でURLだけでもOK。
              きれいなURLも保てる!!
まとめ
• サロゲートキーはナチュラルキーの代わ
  りにひとつのIDをキーとすること。
• ソフトウェアの実装がしやすくなる
• 変更に強くなる
• デメリットもあるのでご利用は計画的
  に!
参考資料
• DBFlute - サロゲートキーと複合主キー
http://dbflute.sandbox.seasar.org/ja/manual/topic/dbdesign/surrogatekey.html



DBFluteとサロゲートキーでググれば直ぐ。
ご清聴ありがとうございまし
     た!
 それでは、よいDBライフを!

Weitere ähnliche Inhalte

Andere mochten auch

[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編Amazon Web Services Japan
 
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan Koichi Fujikawa
 
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...Insight Technology, Inc.
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon RedshiftAWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon RedshiftAmazon Web Services Japan
 
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ  Amazon CloudWatch & Auto ScalingAWS Black Belt Techシリーズ  Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto ScalingAmazon Web Services Japan
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)Terui Masashi
 
AWS Black Belt Techシリーズ Amazon Redshift
AWS Black Belt Techシリーズ  Amazon RedshiftAWS Black Belt Techシリーズ  Amazon Redshift
AWS Black Belt Techシリーズ Amazon RedshiftAmazon Web Services Japan
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器Akihiro Kuwano
 
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すためにモバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すためにKeisuke Tada
 
AWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon KinesisAWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon KinesisAmazon Web Services Japan
 
Life of an Fluentd event
Life of an Fluentd eventLife of an Fluentd event
Life of an Fluentd eventKiyoto Tamura
 
Cookpad TechConf 2016 - DWHに必要なこと
Cookpad TechConf 2016 - DWHに必要なことCookpad TechConf 2016 - DWHに必要なこと
Cookpad TechConf 2016 - DWHに必要なことMinero Aoki
 
AWS Shieldのご紹介 Managed DDoS Protection
AWS Shieldのご紹介 Managed DDoS ProtectionAWS Shieldのご紹介 Managed DDoS Protection
AWS Shieldのご紹介 Managed DDoS ProtectionAmazon Web Services Japan
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後Recruit Technologies
 
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems ManagerAWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems ManagerAmazon Web Services Japan
 
[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam Inmon
[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam Inmon[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam Inmon
[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam InmonInsight Technology, Inc.
 
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターンAWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターンAmazon Web Services Japan
 

Andere mochten auch (20)

[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
 
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
 
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
 
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon RedshiftAWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
 
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ  Amazon CloudWatch & Auto ScalingAWS Black Belt Techシリーズ  Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto Scaling
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
 
AWS Black Belt Techシリーズ Amazon Redshift
AWS Black Belt Techシリーズ  Amazon RedshiftAWS Black Belt Techシリーズ  Amazon Redshift
AWS Black Belt Techシリーズ Amazon Redshift
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
 
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すためにモバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
 
AWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon KinesisAWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon Kinesis
 
Life of an Fluentd event
Life of an Fluentd eventLife of an Fluentd event
Life of an Fluentd event
 
Cookpad TechConf 2016 - DWHに必要なこと
Cookpad TechConf 2016 - DWHに必要なことCookpad TechConf 2016 - DWHに必要なこと
Cookpad TechConf 2016 - DWHに必要なこと
 
What is Serverless?
What is Serverless?What is Serverless?
What is Serverless?
 
AWS Shieldのご紹介 Managed DDoS Protection
AWS Shieldのご紹介 Managed DDoS ProtectionAWS Shieldのご紹介 Managed DDoS Protection
AWS Shieldのご紹介 Managed DDoS Protection
 
ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後ユーザーからみたre:Inventのこれまでと今後
ユーザーからみたre:Inventのこれまでと今後
 
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems ManagerAWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
 
[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam Inmon
[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam Inmon[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam Inmon
[db tech showcase Tokyo 2015] DATA WAREHOUSE BASICS by Wiliiam Inmon
 
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターンAWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
 

Kürzlich hochgeladen

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Kürzlich hochgeladen (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Surrogatekey