大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ORACLEMASTER 備忘録8(7/10)

著者:伊関星児
公開日:2020/09/29
最終更新日:2020/09/29
カテゴリー:技術情報
タグ:

ORACLEMASTER 備忘録8(6/10)

 

続き

 

・索引のタイプ

索引には「標準-Bツリー」「ビットマップ」といった索引のタイプがある。

標準-Bツリー索引は「Bツリー(バランスツリー)」というツリー構造になっている。索引の各ブロックには「索引キーの各値のエントリ」と「値が格納されている行のディスク上のアドレス」が含まれる。Bツリー索引がデフォルトであり、一般的に使われる索引。例えば、「SCOTT」というキーワードのデータを探す場合、下図のように“ルートブロック”から“ブランチブロック”、“リーフブロック”へと辿っていき、リーフブロックから実際の表のデータブロックにダイレクトにサクセスする。一方、ビットマップ索引は、主にデータウェアハウス環境で使用する。

 

SQL Developerを使用し索引の削除

SQL Developerを使用して索引を削除するには、次の手順を実行する。

 

  • 削除する索引を右クリックして「削除」をクリックする。

 

  • 「適用」ボタンをクリックする。

 

3、索引が削除されたという確認メッセージが表示される。

 

SQL文を使用した索引の削除

SQL文を使用して索引を削除するには、“DROP INDEX文”を使用する。

 

・索引の削除

DROP INDEX 索引名;

 

制約を作成したことによって暗黙的に作成される索引は、制約の機能を実現するために(一意性を素早くチェックするために)使用されるので、上記の方法では削除できない。この場合は、制約を無効にするか、削除すると自動的に削除される。

 

 

ビュー

ビューは、一つまたは複数の表やビューを元にして作成する「仮想の表」。ビューはフィルターのようなものであるため、表やビューのデータをカスタマイズして表示することができる。

 

ビューの実態はSQLのSELECT文である。ユーザーがFROM句に、表の代わりにビューを指定すると、ビューとして定義されているSELECT文が実行され、ビューの基礎になっている表からデータが取り出される。つまり、ビューには“データは格納されていない”。ビューの基礎になっている表をビューの「実表」という。

 

ビューを使用するメリット

ビューを使用すると、“複雑なSELECT文を簡略化”できる。例えば、目的のデータを取得するSELECT文が複雑(多くの表を結合する結合構文など)になってしまう場合に、そのSELECT文を事前にビューとして定義しておけば、ユーザーはFROM句にそのビュー名を指定するだけで目的のデータを簡単に取得できる。

また、例えば社員表の給与例のように、すべてのユーザーには見せたくない例については、その例を除いたビューを作成しておき、一般ユーザーには社員表ではなく、そのビューを参照させることで、“セキュリティ機能”を実装できる。このとき、実表に対するオブジェクト権限は与えず、ビューに対するオブジェクト権限のみを与えるだけでビューにアクセスできるため、実装のセキュリティレベルをより向上させることができる。

さらに、ビューにたいしてDMLを実行することもできる。この場合は実表に対するデータの変更となる。

    上に戻る