スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)
データベース中の表は,それぞれ独立しているのではなく,お互いに関連を持っている場合があります。一方の表に関連するデータがないと,ほかの表でそのデータの意味がないことがあります。表間のデータの参照整合性を保つため,表定義時に特定の列(外部キーといいます)に定義する制約が参照制約です。参照制約及び外部キーを定義した表を参照表,外部キーによって参照表から参照される表を被参照表といいます。被参照表には外部キーによって参照される主キーを定義しておく必要があります。
なお,SQLやユティリティの実行などで被参照表と参照表間の参照整合性が保証できなくなる場合があります。この場合,参照表は検査保留状態になります。検査保留状態については「13.19.3 検査保留状態」を,整合性を保証できなくなる操作については「13.19.4 データ操作と整合性」を参照してください。
被参照表と参照表の例を次の図に示します。この例では,商品表が参照表,製造元表が被参照表となります。参照表の外部キーから主キーを参照し,製造元名が分かります。
図13-31 被参照表と参照表の例
参照制約を定義する場合,外部キーにインデクスを定義すると処理性能が向上します。ただし,被参照表の主キーを更新しない場合は,外部キー値の更新によるインデクス更新のためのオーバヘッドがあるので,更新時の性能が悪くなることがあります。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.