SC情報処理安全確保支援士試験 午前Ⅱ
平成21年度春期 情報処理安全確保支援士 午前Ⅱ 問16
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アCONNECT文で接続を許可する。
- イCREATE ASSERTION文で表明して制限する。
- ウCREATE TABLE文の参照制約で制限する。
- エGRANT文で利用を許可する。
解き方のヒントを見る
データベースのテーブルに「アクセスする許可証(権限)」を与えるコマンド
SQLで、特定のユーザーに対して「このテーブルからデータを読み取って(SELECT)いいよ」「書き換えて(UPDATE)いいよ」といったアクセス権限を与えるコマンドは「GRANT(グラント)」だよ。奪うときは「REVOKE(リヴォーク)」を使うよ。
この問題で問われていること
制約を作る「CHECK」や、整合性を調べる「ASSERTION」とは違って、「権限(アクセス権)を与える=GRANT」という言葉の役割を一致させよう。
権限付与の SQL
SQL では権限管理を DCL で行い、GRANT で付与、REVOKE で取り消します。テーブル制約や接続許可は別機能です。
GRANT SELECT / UPDATE ON 表 TO 利用者\n-> アクセス権を付与
確認ポイント
- CONNECT は接続権限の文脈で、表権限そのものではありません。
- 参照制約はデータ整合性の定義です。
- 権限付与の基本は GRANT です。
正解と解説を見る
正解
エ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
不正解だよ。CONNECT文は、データベースに接続するための入口を開くようなものなんだ。建物の玄関に入れることと、金庫を開けたり書類を書き換えたりできることは別だよね。表を更新する権限を与える命令ではないよ。
選択肢イ
不正解だよ。CREATE ASSERTIONは、データベース全体に「この条件は必ず守ってね」と約束事を置くためのものなんだ。たとえるなら、お店のルールブックを作る感じで、誰をレジの中に入れてよいかを決める入館証ではないよ。
選択肢ウ
不正解だよ。参照制約は、例えば「注文表の商品コードは、商品表にある商品コードだけにしてね」というように、表同士のつじつまを守るルールなんだ。合鍵を誰に渡すかを決める話ではなく、帳簿の記入ミスを防ぐ話なので、特定の利用者だけに更新権限を与える方法としては違うよ。
選択肢エ(正解)
正解だよ。GRANT文は、特定の利用者に「この表を読んでいいよ」「更新していいよ」と権限を渡すための命令なんだ。たとえるなら、必要な人だけに合鍵や入館証を渡す感じだね。だから、特定の利用者だけに表の更新を許可したいときはGRANTを使うよ。
出典:独立行政法人 情報処理推進機構(IPA)平成21年度春期 情報処理安全確保支援士試験 午前Ⅱ 問16(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針