データベースはいろいろなオブジェクトで構成されています。
その中から代表的なオブジェクトを紹介します。
TABLE |
テーブル
(表) |
データが格納されているところです。
データは列と行で構成された表構造になっており、 1行が1レコードです。
きっと皆さんが書くSQLの多くは、このオブジェクトを参照する事になるでしょう。
コマンドの実例でたまに使われる”dual“というテーブルは予め用意されたダミーテーブルで、実テーブルを必要としないSelect文などを実行する際に利用できるものです。
|
VIEW |
ビュー |
テーブルを間接的に参照する仮想表のことです。
テーブル内の一部の項目や複数のテーブルを1つにまとめたり、条件に該当するデータのみに絞り込むなどの加工を事前に定義しておくことができます。
定義されたビューは、テーブルと同じように参照できるので、ビューを参照するSQLはシンプルになるという長所があります。(もちろん短所もありますよ)
もしかすると皆さんが書くSQLは、場合によってはテーブルよりビューの方が多いかもしれませんね。 |
INDEX |
インデックス
(索引) |
データのキーとなる項目を定義することにより高速にデータを抽出することを可能にします。
かといってすべての項目にインデックスを付けるというような愚行はやらないように。
なぜならデータを追加や更新をする度に関係するインデックスが再編成されるので逆に遅くなってしまうことも...何事もほどほどにということです。 |
SYNONYM |
シノニム |
テーブルに対して別名を定義します。
ピンとこないかもしれませんが、別名をつけることにより大変都合がよい場合があるのです。例えば、月毎のテーブルが毎月作られる環境で、常に前月(別名)データを参照するSQLを書いた場合などです。この場合シノニムを書き換えるだけでSQLは一切変更することなく対象テーブルを次月に切り替えることができるのです。 |
SEQUENCE |
シーケンス
(順序) |
連続的な数値を生成します。
要するに連番を生成してくれるので、顧客番号や商品番号などのユニークな番号を新たに付ける場合に、このオブジェクトを使って番号を取得する事によりユニークである事が保障されるという事です。
もちろん通常のテーブルを使っても同様の事が実現できますが、簡単にでき、処理効率も良いという便利なオブジェクトです。このオブジェクトをselectすると数字(連番)が1つだけ発行されます。
次回はその次の番号です。同じ番号は二度と発行されません。 |
ソース・タイプのオブジェクト |
PL/SQLで記述した処理(ストアド・プロシージャ)や関数(ストアド・ファンクション)、トリガーなどがこれに該当します。 |