データベースのテーブル設計で主キーの一部に日付型を含めてもよいか
解決したいこと
SQL Serverでデータの変更履歴テーブルを作成しようとしています。
その際、主キーの一部に日付型(DATE)が含まれます。
ネットで調べてみると「主キーに日付型を使わない方がいい。」といった記事を見ました。
日付を主キーに含まないと重複してしまうのですが、どのように設計したら良いのでしょうか。
[changedate]日の[matter]に[item]の中身が[beforeval]から[afterval]になります。といったようなイメージです。
よろしくお願いします。
ソースコード
create table [テーブル名](
changedate date not null, --変更日
matter varchar(255) not null, --案件名
item varchar(255) not null,
beforeval varchar(255),
afterval varchar(255),
primary key (changedate,matter,item)
);