postgresql10数据库之模式

模式的概念

官方文档中对于模式的解释:
一个postgresql数据库中包含一个或更多命名的数据库。用户和用户组被整个集簇共享,但没有其他数据在数据库之间共享。任何给定客户端连接只能访问在连接中指定的数据库中的数据。

换一种通俗易懂的方式,就是说:
模式(schema)是对数据库(database)的逻辑分割。
在数据库创建的同时,就默认为其创建了一个public模式。 数据库是被模式来分割的,一个数据库至少有一个模式,所有的数据库的对象(表,索引,序列,视图)都是在模式中创建的。

模式的原因

  1. 允许多个用户使用一个数据库并且不会互相干扰
  2. 将数据库对象组织成逻辑组以便更容易管理
  3. 第三方应用的对象可以放在独立的模式中,这样他们就不会与其他对象的名称发生冲突。

模式的创建

有两种方式可以创建模式,一种是使用sql语句进行创建,一种是使用navicat premium 12进行创建

方式一

要创建一个模式,使用CREATE SCHEMA命令,并给出选择的模式名称。
例如:

CREATE SCHEMA myschema; 

方式二

使用navicat premium 12,可以直接对需要进行创建模式的数据库右击,点击创建模式即可。
如下图。
postgresql10数据库之模式_第1张图片
输入模式的名称以及模式的拥有者,点击确定即可创建模式成功。
postgresql10数据库之模式_第2张图片

模式的使用

在一个模式中,创建或访问对象,需要使用由模式名和表名构成的限定名,模式名和表名之间用点号隔开

模式.表

注意事项

  1. 任何新数据库都会包含一个public模式。默认情况下表以及其他对象会默认存储在此模式下。
  2. 相同的对象名称可以被用于不同的模式中而不会发生出现冲突。例如:schema1和schema2都可以包含名为tablename的表
  3. 模式并不是被严格隔离。一个用户可以访问所连接的数据库内所有模式内的对象,只要他们有足够的权限。

你可能感兴趣的:(java,postgresql)