■例題3
索引の説明として誤っているものを2つ選択してください。
a.表が更新されると表に定義されている索引も自動的に更新される
b.表とは別の表領域に格納することができる
c.表と物理的に同じ領域に格納される
d.索引の使用により表内の行への検索パフォーマンスが向上する
e.1つの表に対し複数の索引を作成することができる
f.索引はすべて明示的に作成する
■例題の範囲をおさらい
索引を使用すると、表内の行への検索パフォーマンスが向上します。
ただし、単に索引を作成すればいいというものではありません。索引を作成した場合、表が更新されると索引も自動的に更新(メンテナンス)されるため、表へのDML操作が頻繁に行われる場合はパフォーマンスが低下することもあり、注意が必要です。索引の作成は、大きな表を検索対象として少ない行を取得する場合に適しています。
索引は、明示的に作成する場合と、表に定義した制約により暗黙的に作成される場合があります。主キー制約と一意キー制約を宣言した列に明示的に索引が作成されていない場合は、一意索引が自動的に作成されます。
■正解
c、f
■解説
選択肢a:表が更新されると、表に定義されている索引も自動的に更新されます。索引はOracleサーバにより自動的に管理されます。
選択肢b:表と索引は、別の表領域に格納することができます。表と索引の表領域を分けることで、I/Oの競合を低減させることが可能です。
選択肢c:表と索引は物理的に、異なる領域に格納されます。
選択肢d:索引の使用により、表内の行への検索パフォーマンスは向上します。
選択肢e:1つの表に対して、列の組み合わせが異なる複数の索引を作成することができます。
選択肢f:索引は明示的に作成する場合と、表に定義した制約により暗黙的に作成される場合があります。主キー制約と一意キー制約を宣言した列に明示的に索引が作成されていない場合、一意索引が自動的に作成されます。
よって、誤っているものはc、fです。
■例題4
ビューの説明として誤っているものを2つ選択してください。
a.表とビューの所有者は同一でなければならない
b.ビューへの検索パフォーマンスを向上させるため索引を定義することができる
c.表の特定データへのアクセス制限が可能となる
d.ビューに対してDML操作を行うことができる
e.1つの表に対し複数のビューを作成することができる
■例題の範囲をおさらい
参考:「Oracleの表の作成とビューの利用」
ビューを使用すると、表の特定の行や列に限定してアクセスさせることができ、高度なセキュリティを実現できます。
ビューは所有する表に限らず、アクセス可能な表を基に作成できます。複数の表を結合してデータを表現することも、ほかのビューにアクセスするビューを作成することもできます。
表と同様にオブジェクト権限を割り当て、検索やDML操作(値の更新、行の挿入、行の削除)を行うことも可能です。ビューは実表に基づいて作成する仮想的な表であるため、実際にデータが格納されるわけではありません。ビューに対して行われるDML操作は、すべてビューの基礎となっている実表に反映されます。
■正解
a、b
■解説
選択肢a:表とビューの所有者は、同じである必要はありません。所有する表に限らず、アクセス可能な表を基にビューを作成することができます。
選択肢b:ビューはデータを含んでいないため、索引を定義することはできません。ビューに対する問い合わせを高速化するためには、ビューの基礎となる表に索引を定義します。
選択肢c:表の特定データへのアクセス制限が可能となります。これにより、高度なセキュリティが提供できます。
選択肢d:ビューに対してDML操作を行うことができます。ビューに対して行った更新は、ビューの基礎となっている実表に反映されます。
選択肢e:1つの表に対し、複数のビューを作成することができます。
よって、誤っているものはa、bです。
■まとめ
次の内容をチェックしましょう。
次回から2回にわたり、バックアップおよびリカバリの管理について、間違いやすい点にポイントを絞って説明します。
Copyright © ITmedia, Inc. All Rights Reserved.