問題 No.2322
リレーショナルデータベースにおいて、SQLで記述されるデータ操作言語(DML)やデータ定義言語(DDL)の命令文に関する記述として、不適切なものはどれか。
【正解の解説】
データベースの管理権限を持つ利用者が、特定のユーザーに対してテーブルの閲覧や更新などのアクセス権限を付与したり剥奪したりするための命令文が含まれる。
会社組織の書類管理をイメージしてください。書類を作るのがDDL、中身を書き込むのがDMLなら、「誰がその棚を開けていいか」の鍵を配る係は別部署の権限管理(DCL)です。SQLにはこのように役割ごとに言語が分かれており、権限管理をDMLやDDLの範疇とするこの選択肢は役割分担の混同を突く不適切な記述となっています。
スポンサーリンク
【その他の選択肢の解説】
表形式のデータを構築する際に、テーブルの構造設計や制約条件の定義およびその変更を行うための命令文が含まれる。
マンションの建築に例えると、柱を立てて間取りを決める設計図作りがDDL(データ定義言語)にあたります。問題文が問うている「不適切なもの」ではなく、DDLの役割として完全に正しい記述であるため、ここでは正解の選択肢から外れることになります。
データベース内に蓄積されたレコードに対して、情報の検索や新規追加、内容の更新や削除を行うための命令文が含まれる。
先ほどのマンションに家具を運び込んだり、住人が入れ替わったりする日常の生活の動きがDML(データ操作言語)にあたります。データを実際にいじくる中心的な命令文であり、SQLの基本機能として正しい説明であるため、不適切な記述を探す本問においては不正解となります。
複数ユーザーによる同時アクセスが発生した際の排他制御や、一連の処理を確定または取り消すための命令文が含まれる。
銀行のATMでお金を下ろすとき、金額入力から口座残高の引き落としまでがセットで成功するか、全部ナシになるかのどちらかでなければ困りますよね。このように「すべて成功させるか、失敗なら元に戻すか」を管理する仕組みであり、SQLの重要な機能として正しい記述です。