PostgreSQL-スキーマ

A schemaテーブルの名前付きコレクションです。スキーマには、ビュー、インデックス、シーケンス、データ型、演算子、および関数を含めることもできます。スキーマは、スキーマをネストできないことを除いて、オペレーティングシステムレベルのディレクトリに類似しています。PostgreSQLステートメントCREATESCHEMAは、スキーマを作成します。

構文

CREATESCHEMAの基本的な構文は次のとおりです-

CREATE SCHEMA name;

どこの名前は、スキーマの名前です。

スキーマにテーブルを作成するための構文

スキーマにテーブルを作成するための基本的な構文は次のとおりです。

CREATE TABLE myschema.mytable (
...
);

スキーマを作成する例を見てみましょう。データベースtestdbに接続し、次のようにスキーマmyschemaを作成します-

testdb=# create schema myschema;
CREATE SCHEMA

「CREATESCHEMA」というメッセージは、スキーマが正常に作成されたことを示します。

ここで、上記のスキーマに次のようにテーブルを作成しましょう。

testdb=# create table myschema.company(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

これにより、空のテーブルが作成されます。以下のコマンドで作成したテーブルを確認できます−

testdb=# select * from myschema.company;

これにより、次の結果が生成されます-

id | name | age | address | salary
----+------+-----+---------+--------
(0 rows)

スキーマを削除する構文

スキーマが空の場合(スキーマ内のすべてのオブジェクトが削除されている場合)にスキーマを削除するには、コマンド-を使用します。

DROP SCHEMA myschema;

含まれているすべてのオブジェクトを含むスキーマを削除するには、コマンド-を使用します。

DROP SCHEMA myschema CASCADE;

スキーマを使用する利点

  • これにより、多くのユーザーが互いに干渉することなく1つのデータベースを使用できます。

  • データベースオブジェクトを論理グループに編成して、管理しやすくします。

  • サードパーティのアプリケーションは、他のオブジェクトの名前と衝突しないように、別々のスキーマに配置できます。