データベース
あるシステム管理者が、ユーザ「yamada」に対して「売上テーブル」のデータ参照(SELECT)のみを許可し、データの変更は禁止したい。このとき適切なSQL文はどれか。
ア.CREATE VIEW 売上閲覧 AS SELECT * FROM 売上テーブル WHERE ユーザ = yamada;
イ.ALTER TABLE 売上テーブル SET PERMISSION yamada READ ONLY;
ウ.GRANT SELECT ON 売上テーブル TO yamada;正解
エ.INSERT INTO 権限テーブル VALUES (yamada, 売上テーブル, SELECT);
解説
GRANTは「入室許可証を渡す」イメージです。「yamadaさんに売上テーブルへの参照(SELECT)権限を与えなさい」という命令です。入館証を発行するように、データベースの扉の鍵を渡します。
なぜ ウ が正解か
GRANT文はDCL(Data Control Language)に分類され、「GRANT 権限 ON 対象 TO ユーザ」の構文でアクセス権限を付与します。SELECTのみ付与することでINSERT/UPDATE/DELETEは禁止されます。権限を取り消す場合はREVOKE SELECT ON 売上テーブル FROM yamada;を使います。ウが正解です。
出典: AI生成問題(学習用)