自然の主キーになる可能性のある長い遺伝子配列がありますが、自然キーのより簡潔な代替表現を見つける方法を探しています。代理キーを使用したくない。PK の効率がどこで問題になるかを心配する結合が多くないため、パフォーマンスについて心配する必要はありません。
これは可能ですか?
create table foo(
myvalue varchar(2000) not null,
md5 as hashbytes('MD5',myvalue) PERSISTED PRIMARY KEY NOT NULL -- bad syntax
)
もしそうなら、正しい構文は何ですか? 上記は正しくありません。
また、子テーブルを作成して FK リレーションシップを設定することはできますか? これについては、ドキュメントの制限セクションが明確ではありません。
create table fooChild(
id int primary key not null,
md5 varbinary(16)
)
alter table fooChild add constraint FK_FOOCHILD_FOO
foreign key(md5) references FOO(md5)