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