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