2016-05-24 42 views
0

キー列に同じデータを共有する行が必要な3つのスキーマがあります。プロセスは3のいずれかを介して入力できますが、キー値のソースは1つに保持する必要があります。これは助成金を介して簡単に共有することができます。Oracleのシーケンスとシーケンスを持つテーブル

実際にシーケンスを保持するスキーマの1つにテーブルを作成するのではなく、Oracleシーケンスでキー値を保持することの長所と短所は何ですか?

+1

私はちょうどスキーマの1つでシーケンスを行ってから、他のスキーマがそれから値を取得する必要があるかどうかを選択します。シーケンスがOracleデータベースで何年も使用されており、信頼性があり、バグのすべて(ほとんどのもの)がノックアウトされてしまった時に、なぜここで再び革新していくのでしょうか? – Boneist

答えて

2

シーケンス用の大きな問題は、並行性の問題です。 oracleはシーケンスを管理するので、重複する数字に問題はありませんが、テーブルに一意の番号を割り当てることは困難です。 カスタマイズしたIDを作成する場合は、シーケンスを使用できます。トリガーでは、たとえば式に基づいてカスタマイズした値に変更できます。ただし、ビジネス列としてIDを使用しないことをお勧めします。したがって、IDのためにいくつかのテーブルを使用するのではなく、シーケンスを使用する方が良いです。

関連する問題