連載
» 2008年11月28日 00時00分 公開

Oracleのスキーマオブジェクトの管理間違いやすいポイントを追え! Bronze DBA講座(9)(1/2 ページ)

Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronze。その取得を目指すITエンジニアのための講座が本連載だ。間違いやすいポイントを確認し、合格に近づこう!

[ゴールデンフォレスト株式会社,@IT]

 前回「Oracleユーザーとセキュリティの管理」で、ユーザーの管理、権限とロールの管理について間違いやすい部分を学習しました。

 今回はスキーマオブジェクトの管理に関して、以下の項目を確認します。

  • スキーマオブジェクト
  • 表の作成と削除
  • 索引とビューの管理

スキーマオブジェクト

例題1

次の中からスキーマオブジェクトではないものを2つ選択してください。

a.表領域

b.表

c.索引

d.シノニム

e.順序

f.ビュー

g.ロール

例題の範囲をおさらい

参考:「Oracleの表の作成とビューの利用

 スキーマは、1人のユーザーが所有するデータベースオブジェクトの集まりを意味します。スキーマ名はユーザー名と同一であり、スキーマが所有するオブジェクトをスキーマオブジェクトといいます。スキーマオブジェクトには、以下のものがあります。

  • 索引
  • シノニム
  • 順序
  • ビュー

 上記のオブジェクトはスキーマごとに管理されるため、スキーマが異なれば同じオブジェクト名であっても作成できます。

 「スキーマ名.オブジェクト名」のようにオブジェクト名をスキーマ名で修飾することで、以下のようにほかのユーザーが所有するオブジェクトにアクセスすることができます。

例)SCOTTの所有するEMP表にアクセス
SELECT * FROM SCOTT.EMP;

正解

a、g

解説

 スキーマオブジェクトには、表やビュー、索引、順序、シノニムがあります。表領域やロールは、1スキーマが所有するオブジェクトではありません(正解a、g)。

表の管理

例題2

表を削除した場合の説明として正しいものを2つ選択してください。

a.表に定義されている索引は自動的に削除される

b.表に定義されているビューは自動的に削除される

c.表に定義されている索引やビューなどのオブジェクトは先に削除する必要がある

d.データディクショナリからその表の定義が削除される

e.表に行が存在する場合は行を先に削除する必要がある

例題の範囲をおさらい

参考:「Oracleの表の作成とビューの利用Oracleの表の作成とビューの利用

・表の作成

 表を作成するには、以下の項目を指定する必要があります。

項目 説明
表名 表名を指定
スキーマ 表を所有するスキーマを指定
表領域 どの表領域に表を作成するかを指定。指定しない場合はデフォルト表領域に作成
列名 列名を指定
列のデータ型 データ型を指定
文字型 CHAR、VARCHAR2
数値型 NUMBER
日付型 DATE
サイズ 有効けた数を指定(文字データ型、数値データ型のみ)
制約 データ整合制約を指定
CHECK制約
NOT NULL制約
UNIQUE制約
PRIMARY KEY制約
FOREIGN KEY制約
(詳細は第1回を参照)

・表の変更

 既存の表に対して、スキーマと表領域以外を変更することが可能です。

・表の削除

 表を削除すると、データディクショナリから表の定義が削除され、表内のすべての行が削除されます。削除した表にアクセスを試みると、「ORA-00942: 表またはビューが存在しません。」のエラーが表示されます。

 表の削除によって、その表に定義されている索引も自動的に削除されます。

正解

a、d

解説

選択肢a:表を削除すると、その表に定義されている索引は自動的に削除されます。

選択肢b:表に定義されているビューは、自動的に削除されません。INVALID(無効)の状態で存在します。このビューにアクセスを試みるとエラーになりますが、再度同じ表が作成された場合、ビューは使用可能になります。

選択肢c:表を削除する際、その表に定義されている索引やビューなどのオブジェクトを先に削除する必要はありません。表を削除すると索引も同時に削除されます。

選択肢d:表を削除すると、データディクショナリからその表の定義が削除されます。

選択肢e:表を削除する際、行を先に削除(DELETE)する必要はありません。表の削除(DROP)を行うと、表のすべてのデータおよび定義が削除されます。

 よって、正しい説明はa、dです。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。