IT資格用語解説基本情報技術者試験・データへのアクセス制御
削除権限
更新日:
用語解説
削除権限は、データベースの表からDELETE文で行を削除することを許可するオブジェクト権限です。列だけを消す権限ではなく、条件に一致した行全体が削除対象になります。
■ 試験で押さえるポイント
GRANT DELETE ON 表 TO 利用者又はロールで付与し、REVOKEで取り消します。通常、DELETEにはINSERTのような列単位権限はありません。
WHERE句を省略したDELETEは表の全行を対象とするため、件数確認、トランザクション、バックアップ、レビューなどで誤操作を防ぎます。
外部キーで参照される親行はRESTRICTで拒否され、CASCADEなら子行も連鎖削除されるなど、参照動作に従います。権限があっても制約は有効です。
DELETEは条件付きで行を処理し通常ログへ記録します。表領域をまとめて初期化するTRUNCATEは別命令・別権限として扱うDBMSがあります。
■ 選択肢での判断ポイント
行削除=DELETE権限、表定義削除=DROP権限、全行高速除去=TRUNCATE権限を区別します。DELETE権限だけで表そのものは削除できません。
例: DELETE FROM 注文 WHERE 保存期限<DATE '2020-01-01'は古い行を削除します。WHEREを外すと全注文行が対象になるため、同じ削除権限でも影響範囲が大きく変わります。