プロのシステムのデータモデル(主に銀行ソフトウェア)とther eは異なる解決策でした。私が見たGUID解決策がありましたが、パフォーマンスにあまり影響を与えていないようでした。私は、「システムによって提供される番号は、システム全体でユニークな番号」と見てきました。私はGUIDのようなものを提供するアルゴリズムを見てきましたが、 "短く"なっています。私はビジネスキーが(アカウント番号のように)使用されていることも見てきました。これはデザインが悪く、問題を引き起こしました。私はそれをお勧めしません。私は各テーブルの自動インクリメントキーを見てきました。
何が一番好きでしたか?サービスによってシステム全体の番号として提供される番号。それはうまくいく。また、単純なキー変換テーブルを使用すると、ユーザーキー(口座番号など)を使用して、ユニークな番号とデータオブジェクトの種類を特定することができます(必ずしもテーブルではない)そのタイプに応じて異なるテーブルに分割されます)。
ブログはありますか? Graeme SimsionとGraham Wittが「データモデリングの基礎」と呼ぶ本を持っています。彼らは私の好みの解決方法を示唆していないかもしれませんが、多くの実際の生き生きとした例を示し、可能な異なる種類の解決策を示しています。
出典
2010-11-27 14:42:54
hol
+1 DBのナチュラルキーとadmin personelの組み合わせでは、12個のアクティブなJoe Blogしかないのにjoeblogs13は必要ないので、顧客IDの再利用を主張しています。すべての可能なレポートを間違ったものにして、私たちのウェブサイトの各ページに競合状態を残してしまいます... – tobyodavies
@Daniel Vassallo:車のVINコードや書籍のISBNコードを主キーとして使用するのではなく、代理キーを使用しますか?これらのコードはISO準拠ですが、業界の問題に取り組んでいれば代理キーよりも効果があると思いませんか? – Spredzy
@Spredzy:ほとんどの場合、はい。私が言及した最初の点は依然として非常に問題になる可能性があります。主キーは変更するつもりはないので、変更したいISBNに簡単にタイプミスがある可能性があります。自然キーには他にも複雑な問題があります([Wikipedia](http: /en.wikipedia.org/wiki/International_Standard_Book_Number)): "個人的に印刷されたり、著者が通常のISBN手順に従わなかったりすると、書籍が印刷されたISBNなしで表示されることがあります。これらの例外は扱いにくいです... –