問題タブ [primary-key-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
253 参照

django - 主キー整数の範囲を割り当てる

自動インクリメント主キー整数 (1 ~ 32767) の RangeA と RangeB (32768 ~ 2147483647) が与えられます。条件が true の場合は、RangeA に割り当てられた主キーでオブジェクトを保存し、それ以外の場合は RangeB に保存します。

管理者 (私) は、RangeA に保存する唯一のユーザーです。上記が不可能な場合: Django が常に RangeB に保存され、RangeA に保存するためにシェルに入る必要がある場合、理想的ではありませんが、それでも使用できます。

Django と Postgres を使用してこれを行うにはどうすればよいですか?

0 投票する
1 に答える
55 参照

sql-server - データベースに奇妙な英数字キーがあるのはなぜですか

別の UI アプリケーションによって自動的に作成された 2 つのデータベースのデータを接続しようとしています。1 つは、すべてのキーがこの形式「D8FC23D7-97D6-42F5-A52F-1CE93087B3A4」です。

これが行われる理由はありますか?また、GIS データベースで似たようなキーを見つけました。これらが計算されたキーであるはずなのか、私がやろうとしていることを検出するためなのか、それとも他の意図でランダムなだけなのかはわかりません。

PS私はSQL Serverを使用しています。私が収集できる限り、これは SQL Server によって自動生成されるものではありません。

0 投票する
1 に答える
228 参照

database - サーバー ID と連結された UnixNano は適切な主キーですか?

Go の UnixNano から 10k の整数を生成しようとしましたが、衝突は見られません。

データベースは最大で 64 ビット整数のみをサポートし、アトミック カウンター/シリアルはサポートしていません。

EDIT 2017-03-06 衝突があります

したがって、その番号を使用して主キーを作成し、base-36 に変換し、3 桁のサーバー キーを追加した場合、衝突の可能性はありませんか?

いくつかの例:

要件 2017-03-04

  • 辞書編集的に正しい
  • 個性的
  • できるだけ短く
  • 作成時間順
0 投票する
1 に答える
543 参照

database - DB の主キーとしてエレガント ペアリング関数を使用できますか?

複数のユーザーが投稿を変更できるようにするサーバーを作成しています。
そこで、ユーザー ID、投稿 ID、および許可データを含む許可テーブルを作成しました。
そして、これを1つの値だけで照会したかっただけです(1つの値で照会する方が2つの値で照会するよりも効率的だと思いました)ので、グーグルで検索してこれを見つけまし
ただし、Cantor Pairing Function は一意ではないこともわかった
ため、Cantor Pairing Function を主キーとして使用することはできません。

しかし、それはエレガントなペアリング機能ではなく、カントールの方法を扱っているだけです(マシュー・シュジックによる)
エレガントなペアリング機能はどうですか?
データベースの主キーとしてエレガントなペアリング キーを使用しても安全ですか?
それとも、あきらめて、2 つの値でクエリを実行する必要がありますか?