は私がやりたいものです。つまりPostgreSQLの機能外部キーはここ
create table stuff
(some_key varchar primary key,
some_data varchar)
;
create table obfuscated_stuff
(some_key_sha1 varchar references digest(stuff (some_key), 'sha1'),
other_data varchar)
;
、私がすることなく一方向ハッシュに基づいて、他のテーブルへの外部キーを設定したいのですがそのハッシュを元のテーブルに置きます。
これはポリシー/規制要件です。私はFK制約なしで "obfuscated_stuff"テーブルを構築することができますが、私はむしろそこに持っています。
FK制約内の関数を使用すると表示されません。私はまた、FKを(それに機能を持つかもしれない)ビューにすることはできません。その他の提案はありますか?
究極の目標は何ですか? idを隠してから、バックグラウンドでテーブルを結合するだけではありませんか?難読化されたものの目的はなんですか?通常、このようなものは許可と良いバックエンドエンジニアリングでうまくやっています。 –
政策立案者は、2つのデータセットを明示的に結合することは望ましくありません。親テーブルで関連する列レベルの権限が既にロックされています。子テーブルにデータを挿入するプロセスでは、親テーブルの行に戻って参照が必要です。私はむしろ参照が有効であることを保証する制約を含んでいます。 – rotten
難読化された子テーブルに 'some_key_sha1'を挿入する際に' some_key'を知っていますか? –