Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronzeの取得を目指すITエンジニアは多い。本連載で間違いやすいポイントを確認し、合格に近づこう!
ORACLE MASTER Bronzeは、ORACLE MASTERの入門的な位置にある資格であり、データベース管理者としての基礎知識を証明するものです(詳しくは、「ORACLE MASTER Bronze DBA講座」「ORACLE MASTER Bronze SQL基礎I 講座」をご参照ください)。
この連載では12回にわたり、「ORACLE MASTER Bronze Oracle Database 10g」の取得に必要な試験「Bronze DBA10g」(1Z0-041J)の範囲から、特に間違いやすいポイントに絞って解説します。
資格取得に必要なもう1つの試験、「Bronze SQL基礎I」(1Z0_017J)については、連載「間違いやすいポイントを追え! ORACLE MASTER Bronze SQL基礎I講座」で紹介しています。併せてご覧ください。
(注)新バージョンに対応した試験、「ORACLE MASTER Bronze Oracle Database 11g」については、2008年5月末ごろに提供が開始されるようです。
今回は、以下の項目について確認します。
■例題1
MEMBER表を次のように構成した場合の説明として正しいものを1つ選択してください。
列名 | データ型 | 制約 |
---|---|---|
MEMBER_ID | NUMBER(5) | PRIMARY KEY |
MEMBER_NAME | VARCHAR2(10) | NOT NULL |
BIRTHDAY | DATE | CHECK |
GROUP_ID | NUMBER(3) | FOREIGN KEY |
a.MEMBER_ID列のNOT NULL制約を外すことができる
b.GROUP_ID列にPRIMARY KEY制約を設定することができる
c.MEMBER_NAME列には重複したデータを格納することはできない
d.BIRTHDAY列にNOT NULL制約を追加することができる
■例題の範囲をおさらい
データベースに格納されるデータの整合性を保つために列に定義する整合性制約には、以下のような種類があります。
・主キー制約(PRIMARY KEY:PK)
行を一意に識別するための列であることを定義します。そのため、主キーには必ず値が存在し、NULLを含みません。また重複した値であってもいけません。1つの表に1つしか設定できません。
・外部キー制約(FOREIGN KEY:FK)
ほかの表の列、または同じ表のほかの列との間に参照関係があることを定義します。例えば「EMP表」のDEPT_NO列に外部キー制約を設定し、「DEPT表」のDEPT_NO列を参照することができます。NULLを設定することもできます。
参照されるキーは親キーもしくは参照キーと呼ばれ、必ず一意である必要があります。
・一意キー制約(UNIQUE KEY)
値が一意であることを定義します。そのため重複した値は許可されませんが、NULL値が複数存在することは許可されます。
・NOT NULL
NULL値を許可しないため、必ず値が存在しなければいけません。
・CHECK
条件に一致している値のみを許可します。
■正解
d
■解説
選択肢a:MEMBER_ID列にはPRIMARY KEY(主キー制約)が設定されています。PRIMARY KEYはNULLを含みません(NOT NULL)が、PRIMARY KEYからNOT NULLだけを外すことはできないため、誤りです。
選択肢b:PRIMARY KEYは、1つの表に1つしか設定できません。問題のMEMBER表では、すでにMEMBER_ID列に設定されており、新たにGROUP_ID列に設定することはできないため誤りです。
選択肢c:MEMBER_NAME列にはNOT NULLが設定されていますが、UNIQUE KEY(一意キー制約)は設定されていないため誤りです。
選択肢d:1つの列には、複数の制約を設定することができます。例えばCHECKが設定されているBIRTHDAY列にNOT NULLを追加するなどです。
よって、正しい説明はdです。
■例題2
データベース管理者の一般的なタスクとして当てはまらないものをすべて選択してください。
a.データベースの作成
b.Oracleソフトウェアのインストール
c.バックアップ計画
d.データの検索
e.インスタンスの管理
f.データベースの設計
g.プログラムのコンパイル
h.スキーマオブジェクトの管理
i.表の正規化
■例題の範囲をおさらい
データベース管理者は、以下のタスクを実行する必要があります。
■正解
d、f、g、i
■解説
選択肢a:管理者はDatabase Configuration Assistant(DBCA)やcreate database文を使用し、データベースの作成を行います。
選択肢b:管理者はOracle Universal Installer(OUI)を使用し、Oracleソフトウェアのインストールを行います。
選択肢c:管理者はデータ破損などの障害に備えて普段からバックアップ計画を立て、障害発生時にはスムーズに復旧できるようにします。
選択肢d:データの検索は管理者ではなくデータベース利用者が行うものです。
選択肢e:管理者はインスタンスの起動や停止を実行し、インスタンスを管理します。
選択肢f:データベースの設計はデータベース設計者のタスクです。
選択肢g:プログラムのコンパイルはアプリケーション開発者のタスクです。
選択肢h:管理者は、スキーマオブジェクトの管理を行います。
選択肢i:表の正規化はデータベース設計者のタスクです。
よって、データベース管理者の一般的なタスクとして当てはまらない選択肢はd、f、g、iです。
Copyright © ITmedia, Inc. All Rights Reserved.