単純なプライマリ キーの識別および選択が(たとえ不可能ではなくても)困難な状況が生じることがあります。 テーブルの行を固有に識別する単一の列がなかったり、または複合キーの使用に反対するパフォーマンス上の考慮事項がある場合があります。 これらの状況では、代理キーは、理想的なソリューションになります。
代理キーは、自然キーがないときや、単純キーが必要な状況で自然な非複合キーが存在しないときに個々の行を固有に識別するために使用される人為的な単純キーです。 代理キーは、意味のある方法で個々の行を識別しません。 代理キーは、単にキーを区別するための任意の方法です。
通常、サロゲート キーは、システムによって生成される無原則な連番(整数)です。 識別列の機能を使用して、Teradata Databaseで代理キーを生成することができます(識別列を参照)。 代理キー値を生成するために識別列を使用するには、GENERATED ALWAYSおよびNO CYCLEオプションを指定し、列のデータ型が、NUMERIC(18,0)またはDECIMAL(18,0)の任意のであることを確認してください。