sql >> データベース >  >> RDS >> Oracle

NHibernateでギャップのないユーザーフレンドリーなIDを実装するにはどうすればよいですか?

    1つのオプションは、増分値を格納するだけのキーテーブルを保持することです。これにより、いくつかの問題が発生する可能性があります。つまり、ロックの問題の可能性や、データベースへの追加のヒットが発生する可能性があります。

    もう1つのオプションは、「ユーザーフレンドリーID」の意味を洗練することです。これは、日付/時刻と顧客固有のシーケンスの組み合わせで構成されている可能性があります(または顧客IDも含まれます)。また、注文IDは必ずしもテーブルの実際のキーである必要はありません。注文IDを表す個別の「計算済み」列を持つ代理キーを使用できないことは言うまでもありません。

    要するに、代理キーを使用したいように聞こえますが、自然キーの利点があります。両方の方法でそれを行うことは非常に難しい場合があり、データの実際の使用をどのように計画するか、ユーザーがデータをどのように解釈するか、個人的な好みに大きく依存します。




    1. ブロブで個別に選択

    2. LOADDATAを使用するときにMySQLで日付データをロードする方法

    3. MariaDB LCASE()の説明

    4. JDBCとPostgresを使用して不明な数のパラメーターをIN句に渡します