Oracle University 講師が ORACLE MASTER 取得を目指している方に向けて試験トピックを解説するブログ講座を開始します。連載最初は、「ORACLE MASTER Silver SQL 2019」資格取得に向けた試験トピックについて解説します。

————————————————-

Oracle University 講師紹介

野村 達也(のむら たつや)

日本オラクル株式会社 オラクルユニバーシティ研修部 シニアインストラクター

日本企業にて、某国産データベースのサポート業務を行った後、オラクルデータベース製品を扱う仕事に携わる。緊急トラブルや現地対応の業務、パフォーマンステストなどの構築作業を経て、日本オラクルへ入社。日本オラクルではオラクルユニバーシティ研修部に所属し、オラクルデータベース関連のコースを幅広く担当。また、各種ORACLE MASTER資格の試験対策も手がけている。業務外ではお酒(ワイン, 日本酒 etc..)をこよなく愛し、一度お店にいくと顔を覚えられるほどの酒豪でもある。

————————————————-

ORACLE MASTER Silver SQL 2019 試験トピック一覧

  • はじめに:ORACLE MASTER Silver SQL 2019 のご紹介
  • リレーショナル・データベースの概念
  • SQL SELECT文を使用したデータの取得
  • データの制限とソート
  • 単一行関数を使用した出力のカスタマイズ
  • 変換関数と条件式の使用
  • グループ関数を使用した集計データのレポート
  • 複数の表からのデータの表示
  • 副問合せを使用した問合せの解決
  • 集合演算子の使用
  • DML文を使用した表の管理
  • 索引、シノニムおよびシーケンスの管理
  • DDLによる表とその関係の管理
  • ビューの管理
  • ユーザー・アクセスの制御
  • データ・ディクショナリ・ビューを使用したオブジェクトの管理
  • 異なるタイム・ゾーンでのデータの管理

————————————————-

第一回:DDLによる表とその関係の管理 – 表の説明と操作 –

今回はORACLE MASTER Silver SQLの試験トピック「DDLによる表とその関係の管理 – 表の説明と操作 -」に関連する問題をご紹介いたします。ORACLE MASTER Silver SQL(Exam Number: 1Z0-071-JPN)の詳細につきましては以下URLをご参考ください。

Oracle Database SQL Exam Number: 1Z0-071

URL: https://education.oracle.com/ja/oracle-database-sql/pexam_1Z0-071

早速問題を確認していきましょう。

(解説)

それでは解説していきます。この問題の正解を選択できるようになるためには、[読取り専用の表]と[SET UNUSEDオプション]の2つの機能についてしっかりと把握しておく必要があります。

表を読取り専用モードに変更することで、表内データの変更を伴うDDL文とDML文(SELECT…FOR UPDATEを含む)によるSQL操作を防ぐことができます。簡単なサンプルを構築して早速実機にて試してみましょう。

— sample —
drop table emp2;
create table emp2 (emp_id number(10) not null, emp_name varchar2(20), hire_date date);

begin
 for i in 1 .. 100 loop
  insert into emp2 values(i,’DATA’, sysdate);
 end loop;
 commit;
end;
/

 

 

 

読取り専用モードの動作確認ができたところで、もう1つの機能である[SET UNUSEDオプション]についてみていきます。SET UNUSEDは削除対象となる表の列にUNUSEDマークを付けることで該当列を使用しないようにする機能です(複数列指定可)。ただし列の削除は実際には行わないためディスク領域は解放しません。マーク付けのみ実施し、夜間などのシステム・リソースが低い時などに、DROP UNUSEDを実行して実際に削除することができます。

さて、ここで注意すべきところがあります。SET UNUSEDオプションは表が読取り専用モードに設定されていると実行できませんが、すでにUNUSEDのマークがついている列に対しては該当表が読取り専用モードであってもDROP UNUSEDは実行できるという点になります。こちらも実機にて動作確認をしておきましょう。

問題を解くために必要な2つの機能について確認ができたところであらためて選択肢を見ていきましょう。

選択肢1は、一見実行できないように思うかもしれませんが、読取り専用モードの表であっても表そのものを削除するDROP TABLE文は実行できるため正解の選択肢になります。これも注意点ですね。

選択肢2と3ですが、読取り専用モードは表内のデータを変更するような操作は許可されていませんのでこちらは実行することができません。

次に選択肢4を見ていきます。先ほどの動作確認のとおりSET UNUSED の指定は読取り専用モードの表には実施できませんが、すでにUNUSEDのマークがついている列に対しては該当表が読取り専用モードであってもDROP UNUSEDは実行して列の削除が可能であるため正解の選択肢になります。

5の選択肢は問題ないですね。読書きモードに戻すためのSQL文なので実行可能です。

以上を踏まえまして正解は 1、4、5 になります。

最後に SET UNUSEDオプションの構文を載せておきます。ご参考ください。

正しい選択肢は選べたでしょうか?

機能をただ丸暗記するだけではなく実際にSQL文を実行して確認すると理解が深まりますし、学習内容がしっかり定着するかと思います。ORACLE MASTERの合格だけでなく現場でも使える知識として身に着けるため実機にて動作確認しながら学習していきましょう!今回の講義はこれまでとします。それではまた次回に。

————————————————-

ORACLE MASTER Silver SQL 2019 のご紹介

ORACLE MASTER Silver SQL 2019 試験記事トピック一覧

————————————————-

その他の ORACLE MASTER 試験トピック解説講座シリーズ:

【Oracle University講師によるORACLE MASTER Gold DBA 2019 試験トピック解説講座】トピック一覧

————————————————-