人大金仓KingbaseES中的用户与模式概念及关联.doc

人大金仓KingbaseES中的用户与模式概念及关联.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人大金仓KingbaseES中的用户与模式概念及关联

KingbaseES中的用户与模式概念及关联 用户 在实际应用中,作为数据库管理员,必须确保需要访问的数据库的个人具有适当级别的权限,为了使用户能够创建和管理对象,DBA需要为用户授予适当的权限。一旦某个用户创建了一些对象,该用户随之可以被授予操纵这些对象的权限,而DBA不需要涉及对单个用户所创建对象的管理权限。 要想访问数据库,任何人需要成为能够通过数据库身份认证的有效数据库用户,则可以配置应用程序要求每个需要进行访问的个体都具有不同的数据库账户,同时也可以配置应用程序自身作为公共用户连接数据库并在内部处理应用程序级别权限,无论哪一种方式,在数据库中内都需相应地创建一个或多个允许操纵数据的用户。 需要提到的是,在KingbaseES中,用户是实例级的,所以我们平时在KingbaseES中,虽在不同数据库下,查询系统表SYS_USER、SYS_DATABASE中看到关于用户的信息结果都是一致的,记录的是所有的用户、所有的数据库。用户与数据库是一对多的关系。无论当前连接在哪个数据库下,创建的用户都是实例级。 在KingbaseES中创建用户时,该用户默认有当前数据库的connect权限,当需要连接登录到其它用户创建数据库时,需要DBA将其它数据库的CONNECT权限赋予该用户才能正常登录,但该用户需要访问操作数据库下的其他用户所创建的对象时,同样需要被赋予相应的权限才可行。另外,在KingbaseES中,用户拥有connect权限登录数据库后,默认情况下用户拥有PUBLIC模式CREATE的权限(下文中会详细说明),即默认该用户可以在PUBLIC模式下创建属于自己的数据对象。 数据库管理系统为了方便各用户对数据对象的管理,如同在KingbaseES Help里提到的,在实际应用场景下,为了: 多个用户使用同一个数据库而不会相互影响。 对数据库中的对象进行逻辑分组,更便于管理。 各个应用分别使用各自的模式,以避免命名冲突。 而引入模式的概念。 模式 模式(SCHEMA)是一个逻辑数据结构概念,可以理解成是表,视图等一系列数据对象的集合。也称为命名空间,不同模式下的数据库对象可以重名。其类似于操作系统层次的目录,只不过模式不能嵌套。 Oracle 在Oracle中,每个数据库用户拥有一个与之同名的模式,所以在Oracle中,模式则可以理解成是某个用户拥有的所有对象的集合。当Oracle的某一用户登录数据库,不指定模式时,默认是在该用户同名模式下的数据对象进行操作。 Oracle在创建数据库的同时会创建多个数据库用户,这些用户在默认情况下被锁定,只有SYS和SYSTEM两个用户始终会被创建且始终没有被锁定。SYS用户拥有数据字典及其关联的所有数据对象,SYSTEM则可以访问数据库内的所有对象。 Kingbase 在KingbaseES中,在创建数据库时,会默认创建三个模式:PUBLIC、SYS_CATALOG、以及INFORMATION_SCHEMA。 PUBLIC:我们平时在使用KingbaseES时,经常会没有声明任何模式名字就创建了表。其实这是在默认情况下,这样的表(以及其它对象)都自动放到一个叫做PUBLIC的模式中去了。可以看到在默认情况下,下面的语句是等效的: CREATE TABLE products ( ... ); CREATE TABLE public.products ( ... ); 从上面例子以及该模式的名字意思我们就能大致理解,PUBLIC是一个公共模式,在默认情况下,数据库中的每个用户都是可以在PUBLIC 模式上有 CREATE 和 USAGE 权限,在数据库中不指定明确指定模式而创建对象时,默认是在PUBLIC模式下创建。 另外,在默认情况下,用户是无法访问模式中不属于他们所拥有的对象的。为了让他们能够访问,模式的所有者需要在模式上赋予他们 USAGE 权限。为了让用户使用模式中的对象,我们还可能需要赋予适合的该对象额外权限才可行。同时,不用用户也可以在别人的模式里创建对象。但需要被赋予在该模式上的 CREATE 权限。 INFORMATION_SCHEMA:可称为信息模式,在SQL 92标准中定义,主要包含有关当前数据库里定义的对象的信息,主要是由一系列视图组成,因为其中视图结构、数据类型等都是标准定义,所以可以认为在不同数据库中都是可移植的,并且相对稳定。它与系统表不一样,因为系统表是各RDBMS特有的,是在实现的基础上进行的建模。所以我们经常可以看到一些数据库使用者,也许在接触一个新的关系数据库管理系统产品时,可能对其系统表等的使用还不是很熟悉,但又想查一些系统数据的基本信息,所以可能就会考虑这个数据库系统是否定义了INFORMATION_SCHEMA?如果有,这样就能较快地到INFO

文档评论(0)

word.ppt文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档