PostgreSQL - 架构

  • 简述

    schema是一个命名的表集合。模式还可以包含视图、索引、序列、数据类型、运算符和函数。模式类似于操作系统级别的目录,只是模式不能嵌套。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;
    

    使用 Schema 的优点

    • 它允许许多用户使用一个数据库而不会相互干扰。
    • 它将数据库对象组织成逻辑组,使它们更易于管理。
    • 第三方应用程序可以放入单独的模式中,这样它们就不会与其他对象的名称发生冲突。