スキーマはデータベース・オブジェクトの集合です。スキーマはデータベース・ユーザーによって所有され、ユーザー名と同じ名前を共有します。スキーマ・オブジェクトは、ユーザーによって作成される論理構造です。表や索引などのいくつかのオブジェクトはデータを保持します。ビューやシノニムなどのその他のオブジェクトは定義のみで構成されます。
注意:
単一の表領域と単一のスキーマ間には関係性がまったくありません。同じスキーマ内のオブジェクトは異なる表領域の記憶域を使用でき、表領域は異なるスキーマからのデータを格納できます。
スキーマ・オブジェクトの命名
データベースのすべてのオブジェクトは1つのスキーマに属し、スキーマ内に一意の名前を持っています。異なるスキーマにある場合、複数のデータベース・オブジェクトは同じ名前を共有できます。スキーマ名を使用して、確実にオブジェクトを参照できます。たとえば、hr.employees
は、hr
スキーマでemployees
という名前の表を参照します。(employees
表はhr
によって所有されます。)データベース・オブジェクトおよびスキーマ・オブジェクトという用語は同じ意味で使用されます。
データベース・オブジェクトを作成するときには、必ず任意のスキーマ内に作成する必要があります。その1つの方法として、スキーマを所有するユーザーとしてデータベースにログインしてからオブジェクトを作成します。通常、1つのアプリケーションに属するすべてのオブジェクトは、同一スキーマ内に配置できます。
スキーマ・オブジェクト名は特定のルールに従っている必要があります。スキーマ内で一意であるのみでなく、スキーマ・オブジェクト名が30バイト以下で先頭が文字で始まる必要があります。これらのルールのいずれかに違反する名前のオブジェクトの作成を試みると、データベースでエラーが発生します。
「DDL」タブ
SQLまたはSQL Developerを使用して、スキーマ・オブジェクトを作成および操作できます。
SQL Developerを使用してスキーマ・オブジェクトを作成する際、「DDL」タブをクリックすると、指定したスキーマ・オブジェクトのプロパティに相当するSQL文が、グラフィカル・ユーザー・インタフェースによって表示されます。SQL Developerは、このSQL文を送信して、スキーマ・オブジェクトを作成します。このオプションを選択すると不完全な文も表示されるので、スキーマ・オブジェクトのすべての仕様を入力して、SQL Developerが送信する完全なSQL文を確認する必要があります。
関連項目:
スキーマ・オブジェクトの詳細は、『Oracle Database概要』を参照してください。