Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


5.2.9 主キー(一意性制約定義)の指定(PRIMARY KEY)【シングルチャンク表】

表をシングルチャンク表として定義する場合は,主キーを定義するかどうかを検討してください。表をマルチチャンク表として定義する場合は,そのマルチチャンク表に主キーを定義できません。

実表中の行を一意(ユニーク)に識別するためのキーのことを,主キーといいます。主キーを定義することによって,実表のデータの一意性を保つことができます。

主キーを定義する場合,CREATE TABLE文に一意性制約定義を指定します。

主キーを定義すると,主キーを構成する列には,次に示す2つの制約が適用されます。

また,主キーを構成する列をインデクス構成列とするユニークインデクスが自動的に定義されます。ユニークインデクスのインデクス識別子の名称は,CREATE TABLE文で指定した一意性制約定義中の制約名と同じになります。ユニークインデクスの詳細については,「5.3.5 ユニークインデクスを定義する列を決めるときの考慮点」を参照してください。

主キーを定義する場合は,実表中の行を一意に識別できる列,または列の組み合わせ(候補キー)の中から,主キーを選択してください。候補キーが複数ある場合は,候補キーの中で意味的に最も重要なものに主キーを定義してください。

重要

実表に主キーを定義していても,adbimportコマンドで重複する値をデータインポートした場合,一意性制約は保証されません。その場合,実表中から重複したキーを検索し,検索したキー値を持つ行を削除してください。重複したキーを検索する方法は,「15.9.2 一意性制約に違反した場合の対処方法(KFAA61205-Wメッセージが出力された場合)」の「(2) 一意性制約違反状態を解除する方法」を参照してください。