主キーは専用の id フィールドを設けて、それを int または bigint 型で identity にしてはいかがですか? changedate,matter,item の連結主キーにしているようですがメッチャ使いにくいと思いますけど。
以下の画像は Microsoft が提供しているサンプル SQL Server データベースの一部のテーブルです。赤枠が主キーですべて int 型の identity となっています。そして、Products テーブルの SupplierID と CategoryID フィールド (青枠) から Suppliers, Categories テーブルに FK が張られています (正規化)。 このようにしてはいかが?
とにかく changedate,matter,item の連結主キーにするなんてのは、どうしてもそうすべき理由がない限り、私の勝手な意見を言わせてもらえれば想像を絶する悪手です。正規化とか関係ない場合でも、主キーをたよりに行う UPDATE とか DELETE はどうするんですか?