Postgresql-schema

提供:Dev Guides
移動先:案内検索

PostgreSQL-スキーマ

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

構文

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

CREATE SCHEMA name;

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

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

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

CREATE TABLE myschema.mytable (
...
);

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

testdb=# create schema myschema;
CREATE SCHEMA

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

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

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つのデータベースを使用できます。
  • データベースオブジェクトを論理グループに整理して、管理しやすくします。
  • サードパーティのアプリケーションを別のスキーマに配置して、他のオブジェクトの名前と衝突しないようにすることができます。