KingbaseES 中的用户与模式概念及关联
一、 用户
在实际应用中,作为数据库管理员,必须确保需要访问的数据库的个人具有适当级别的权限, 为了使用户
能够创建和管理对象, DBA 需要为用户授予适当的权限。一旦某个用户创建了一些对
象,该用户随之可以被授予操纵这些对象的权限,而 DBA 不需要涉及对单个用户所创建对象的管理
权限。
要想访问数据库,任何人需要成为能够通过数据库身份认证的有效数据库用户,则可以配置应 用程序要求
每个需要进行访问的个体都具有不同的数据库账户,同时也可以配置应用程序自身作为 公共用户连接数据库并在
内部处理应用程序级别权限,无论哪一种方式,在数据库中内都需相应地 创建一个或多个允许操纵数据的用户。
需要提到的是,在 KingbaseES 中,用户是实例级的,所以我们平时在 KingbaseES 中,虽在不同
数据库下,查询系统表 SYS_USERSYS_DATABAS 冲看到关于用户的信息结果都是一致的,记录的
是所有的用户、所有的数据库。用户与数据库是一对多的关系。无论当前连接在哪个数据库下,创 建的用户都是
实例级。
在 KingbaseES 中创建用户时,该用户默认有当前数据库的 connect 权限,当需要连接登录到其
它用户创建数据库时,需要 DBA 将其它数据库的 CONNECT 权限赋予该用户才能正常登录,但该用
户需要访问操作数据库下的其他用户所创建的对象时,同样需要被赋予相应的权限才可行。另外,
在 KingbaseES 中,用户拥有 connect 权限登录数据库后,默认情况下用户拥有 PUBLIC 模式 CREATE
的权限(下文中会详细说明),即默认该用户可以在 PUBLIC 模式下创建属于自己的数据对象。
数据库管理系统为了方便各用户对数据对象的管理,如同在 KingbaseES Help 里提到的,在实际
应用场景下,为了:
? 多个用户使用同一个数据库而不会相互影响。
? 对数据库中的对象进行逻辑分组,更便于管理。
? 各个应用分别使用各自的模式,以避免命名冲突。
而引入模式的概念。
二、 模式
模式(SCHEMA)是一个逻辑数据结构概念,可以理解成是表,视图等一系列数据对象的集合。