その入り口であるBronze資格の取得は難しくない。MASTERの最も入門的な資格です。MASTERとは?」)。Bronzeを取得するには、2つの試験に合格する必要があります。I」の合格に必要な知識を身に付けましょう。10g」合格のための連載「BronzeDBA講座」も開始しますので、併せて読むことにより、Bronze資格の取得に役立ちます。I」試験の問題数、合格点と範囲は次のとおりです(☆の数は出題数を5段階で表示)。☆☆☆☆☆2005年3月16日からは試験時間と問題数が変更されました。以前は120分で56問でしたが、問題数が少なくなり90分で40問になりました。以前は71%だった合格点の割合は、変更後も70%ですので難易度は変わりません。問題数が少なくなった分、いかに各設問に正解するかが重要です。以前はオブジェクトの作成関連はほとんど出題されていませんでしたが、試験が変更されてからはかなりの問題数が出題されています。Iの範囲に沿って各種問題を解きながら解説していきましょう。System:リレーショナルデータベース管理システム)を経由してデータベースの操作を行うための言語です。Language:データ制御言語)に分かれます。SQLは、DML、DDL、DCLの3種類に大きく分けられるこのほか、トランザクションを制御するCOMMIT(確定)、ROLLBACK(取り消し)、SAVEPOINT(トランザクション中のポインタ)などもあります。問題1DMLを3つ選択しなさい。選択肢aは、SQL*Plusコマンドですので、SQLではありません。選択肢eと選択肢fはDDLです。このような問題は簡単ですのでラッキー問題といえます。「2.SQLの区分」を確実に理解し覚えておきましょう。基本のSELECT文SELECT文の基本構造は次のとおりです。表名;SELECT必須の要素。列名や式に異なる列見出しをつけるFROM表名取得したい列を含む表を指定SELECT文を使用することで、リレーショナルデータベースでは射影、選択、結合という処理が可能になります。射影:射影では、問い合わせによって戻す列を限定します。列は1列とは限らず、必要な列を取得できます。SELECT文では、SELECT句の列リストによって、射影のための列を限定できます。選択:選択では、問い合わせによって戻す行を限定します。行は条件によって必要な行を制限できます。SELECT文では、WHERE句によって、選択のための行を限定できます。結合:結合は、同じ表、または異なる表の間に関係を作るための列を指定し、関係付けられた列と行を1つの結果として戻します。Salary」という見出しで戻される、問い合わせ文を選択しなさい。列見出しの名前を変更するのが「列別名」です。列別名を指定するには、次の2つの方法があります。emp;列別名はデフォルトでは大文字で表現されます。大文字/小文字を区別したり、スペースや特殊記号(#や$など)を使用したりする場合は、二重引用符(")で列別名の前後を囲む必要があります(正解a)。不正解となる選択肢のように一重引用符(')で囲む(選択肢b)場合や、空白があるのに何も記述なし(選択肢d)はエラーとなります。変換)などの関数を使用して列別名を変更する(選択肢c)ことはできません。問題2給与(「sal」列)から100を引いた値を12倍にした結果を求めるために次の文を実行しました。emp;この文の結果の説明として正しいものを選択しなさい。算術演算子(+、-、*、/)には、次の特徴があります。12」が行われ、後からsalとの引き算が行われてしまいます。よって期待した結果とはなりません(選択肢a)。「salary」と列別名を指定しても優先順位や計算結果には全く関係ありません(選択肢b)。この問題では、優先順位を変えるためにカッコが必要です(選択肢c)。emp;問題3次のCUST表の定義を確認してください。,」という文を表示するには、どの問い合わせを使用したらよいでしょうか。CUST_NAMEの列値が入ります。列値やリテラル(SELECTリストに含まれる、文字・日付・数)を連結して結果を表示するには、連結演算子(||)を使用します。文字や日付のリテラルは必ず一重引用符で囲む必要があります(正解a)。間違いやすいものとして、選択肢dのように、最後に連結演算子(||)を置いてはいけません。エラーになってしまいます。選択肢cと選択肢eのように全体を一重引用符で囲んでしまうと、全体で1つの文字列として扱われてしまいます。問題4SQLには、以下の機能があります。表からの列の選択リンクに基づいた複数表からの表示この3つの機能を正しく表しているものを選択しなさい。「選択」は、問い合わせによって戻される表の行を選択することです。SELECT文では、WHERE句で選択が実行されます。deptno=10;問い合わせによって戻される表の列を選択することを「射影」といいます。列の数は必要に応じて選択できます。SELECT文では、SELECT列リストで射影が実行されます。emp;「結合」は、異なる複数の表から関係するデータを1つにまとめて問い合わせることです。SELECT文では、結合文を使用して結合が実行されます。emp.deptno=dept.deptno;そのほかの用語は、機能を表す用語としては使用されません。問題5次のSELECT文を確認してください。)を外した結果として正しいものを選択しなさい。問題2で解説したとおり、算術演算子の優先順位を確認しましょう。乗算(*)と除算(/)は加算(+)と減算(-)より優先されます。この問題では、カッコで囲んでいるのはすべて乗算(*)です。カッコを取り除いても先に処理されることになり、優先順位は同じですので結果も変わりません(正解c)。複雑に見える問題が出題されたときは、まず実際の計算を行う前に、構文としてどうなのか、優先順位はどうなのかを考えるようにしましょう。この問題のように、複雑そうに見えても実際は単純なことを問われている問題が数多く出題されています。実行環境SQL*PlusやiSQL*Plusを使用してSQL文を実行できます。問題1WHERE句の値を変更できるSQL*Plusの機能を選択しなさい。そのような機能はない正解:b解説SQL*Plusの置換変数を使用することで、文を実行するときに値を代入することができます(正解b)。置換変数は、WHERE句に限定されるわけではありませんが、WHERE句の値を実行ごとに変更するなどの目的で使用できます。置換変数は「&置換変数」で指定します。OF変数(選択肢c)、省略変数と呼ばれる機能(選択肢d)はありません。引っ掛けられないよう、変数について確認しておきましょう。問題2次の文を確認してください。&&salary;この文を実行したときに200と入力したところ、結果が表示されました。再度この文を実行すると、どのような結果となりますか。「&&置換変数」を使用することで、毎回ユーザーに入力を求めるのではなく、以前の変数を再利用することができます。そのため、問題のような文を再実行すると、以前の値を使用して結果が表示されます(正解c)。ENAME----------Colmenares選択肢aにある新しい値を入力するプロンプトを表示するには、「&置換変数」を使用します。問題1の解説を参照してください。問題3SQL*Plusコマンドを選択しなさい。DESCRIBE正解:e解説SQL*Plusコマンドは、SQL*Plus、iSQL*Plusでのみ使用できるコマンドです。データベースの値を操作するのではなく、表構造の表示や、ファイルにSQL文を保存(SAVE)するなどのコマンドが用意されています。正解eの「DESCRIBEコマンド(「DESC」と短縮可能)」を使用すると、表の定義やストアドプログラムの定義を確認できます。型-----------------NUMBER(3)VARCHAR2(20)NUMBER(10)不正解となるINSERT(選択肢a)、UPDATE(選択肢b)、RENAME(選択肢c)、SELECT(選択肢d)はいずれもSQL文です。SQL文の区分」を参照してください。問題4SQL*Plusコマンドの属性を2つ選択しなさい。問い合わせ結果のフォーマットを変更できる正解:c、e解説SQL*Plusコマンドは、SQL*Plusから発行できる独自コマンドです。SQL*Plusコマンドには次の特徴があります。SQL文を実行するためのOracle独自のインターフェイスであるSQL文を認識してOracleサーバに送信するデータベース内の値は操作できない(データの更新、定義はSQL文のみが行う)コマンドが1行で収まらなければ継続文字として「ハイフン(-)」が使用できるキーワードは短縮できる(表定義を確認する「DESCRIBE」は短縮して「DESC」でも可能)コマンドでデータの書式変更ができる(COLUMNコマンドで列名や数値要素の変更など)不正解となるデータベースのデータを操作(選択肢a)やデータベース内の表定義変更(選択肢b)は、SQL文の特徴です。SQL*PLUSコマンドで行うことはできません。まとめ次の内容をチェックしておきましょう。データの制限とソート」を確認します。次の宿題を解いておいてください。従業員の職種に"SA_"が含まれている行を取り出している問い合わせを選択しなさい。'SA_';IT資格試験の模擬問題をWebベースで学習できる@IT自分戦略研究所の新サービス「@IT資格攻略」では、Oracle関連の資格をテーマとして取り上げています。10gも近日中に追加予定です。「無料お試し版」もありますので、記事と併せてご覧ください。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。