金仓数据库KStudio使用手册(3. 数据库管理)

Posted 沉舟侧畔千帆过_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金仓数据库KStudio使用手册(3. 数据库管理)相关的知识,希望对你有一定的参考价值。

目录

3.1. 数据库连接管理 ¶

3.1.1. 连接的创建,编辑 ¶

3.1.2. SSL链接配置 ¶

3.1.3. 驱动属性 ¶

3.1.4. 参数中的变量 ¶

3.1.5. 连接、断开连接与重新连接 ¶

3.2. 导航树 ¶

3.2.1. 对象的过滤 ¶

3.2.2. 对象的分页 ¶

3.3. 数据库对象管理 ¶

3.3.1. 数据库对象的创建和编辑 ¶

3.3.2. 表空间 ¶

3.3.3. 管理 ¶

3.4. 锁管理器 ¶

3.4.1. 备份 ¶

3.4.2. 逻辑备份 ¶

3.4.3. 逻辑还原 ¶

3.5. 计划任务 ¶

3.5.1. 程序 ¶

3.5.2. 计划 ¶

3.5.3. 任务 ¶

3.6. 用户管理 ¶

3.6.1. 用户创建和编辑 ¶

3.6.2. 角色创建和编辑 ¶

3.7. 数据管理 ¶

3.7.1. 结果集的编辑 ¶

3.7.2. 结果集的再过滤 ¶

3.7.3. 日期,数据类型的显示格式 ¶

3.7.4. 结果集导出 ¶

3.8. 审计 ¶

3.8.1. 审计登录 ¶

3.8.2. 审计设置 ¶

3.8.3. 查看审计记录 ¶

3.9. 任务 ¶

3.9.1. 任务特性 ¶

3.9.2. 创建任务 ¶

3.9.3. 任务视图 ¶


3.1. 数据库连接管理 

KStudio提供了一个向导,可指导您完成创建连接的步骤。单击应用程序工具栏或数据库导航器视图工具栏中的“ 新建连接” 按钮:

  • 单击菜单栏中的“ 数据库” -> “新建连接” 

  • 点击工具栏的“ 连接 ”按钮。

3.1.1. 连接的创建,编辑 

在“连接设置”界面的 “ 常规 ”选项卡上,设置所有主要连接设置。对于大多数驱动程序所需的设置包括:

  • 主机IP

  • 端口

  • 数据库名称

  • 用户名和密码

测试连接是否成功,请单击“ 测试链接 ”。

点击“ 完成 ”,连接出现在数据库导航器的连接树中,KStudio 实际连接到数据库。

3.1.2. SSL链接配置 

为保证数据的完整性和安全性,您可以选择开启数字证书,并选择对应的Root证书(根证书/.crt文件)、客户端证书(.crt文件)、客户端证书密钥(.pk8文件)。

测试连接是否成功,请单击“ 测试链接 ”。

3.1.3. 驱动属性 

如您有驱动需求请在“ 创建新连接 ”向导中为新连接选择驱动属性:单击选中合适的数据库类型的名称,单击 “下一步” (要快速找到所需的驱动程序,您可以在驱动程序列表上方的文本字段中键入提示。如果您找不到适合您的数据库的驱动程序,那么可能没有合适的驱动程序,您需要点击左下角图标创建一个)。

具体驱动属性详情参考 8.2 

3.1.4. 参数中的变量 

您可以在所有连接参数和驱动程序属性中使用变量。变量是系统环境变量或参考 8.3 

3.1.5. 连接、断开连接与重新连接 

  • 连接

为了能够处理数据库的内容和结构,您需要连接到它。创建到数据库的新连接时,KStudio 会自动连接到新数据库,请参阅创建连接。

要使用现有连接,连接到数据库,请在数据库导航视图或Projects视图中,双击该连接。您也可以单击选中该连接,然后单击主菜单上的 “数据库”->“连接” 

您还可以在连接上右键单击,然后单击上下文菜单上的 “连接” 

有数据库连接但 KStudio 未连接到数据库,则该连接会显示其原始图标。当 KStudio 连接到数据库时,图标会更改以表示连接状态。

如果 KStudio 无法连接到数据库,连接将出现一个错误标志。如果您尝试连接到这样的数据库,KStudio 会显示一条错误消息,描述错误的原因。

  • 断开连接

断开与数据库的连接以释放资源或关闭事务。要断开与数据库的连接,请单击选中 数据库导航 视图或 项目 视图中的数据库连接,然后单击菜单栏上的 “数据库”-> “断开连接”。

也可以在该数据库连接上右键单击,然后单击上下文菜单上的 “断开连接” 

注:断开连接按钮和菜单项仅适用于那些已激活的数据库连接。

  • 重新连接

在与服务器的连接暂时丢失等情况下,您可能需要使数据库连接无效,然后重新连接到它:请单击选中 数据库导航器 中的数据库然后双击连接或 项目 视图中 Connections 下的数据库双击连接,然后单击主菜单上的 “数据库”->“断开/重新连接” 。您也可以在该数据库连接上右键单击,然后单击上下文菜单上的 “断开/重新连接” 

3.2. 导航树 

3.2.1. 对象的过滤 

对象的过滤有两种方法:

第一种,直接在导航树上方的输入框中,输入要过滤显示的部分或全部对象名称,即可动态的在导航树中显示匹配的对象,此外,右侧的过滤选择按钮,可以设置过滤的范围。

第二种过滤的方法为在选择具体的数据库对象,例如下图中的表,点击鼠标右键选择过滤器,可以向过滤器中添加隐藏或显示对应的对象。选择配置过滤器,可以进一步对过滤器进行配置。过滤规则支持模糊匹配以及正则匹配。

3.2.2. 对象的分页 

导航树上支持对对象的分页,当某一数据库对象数量比较多时,比如数据表。导航树会跟据配置加载对象数目,超出数量的部分可以点击More...依次加载,防止一次加载过多导致性能下降,影响使用体验。默认获取对象的数量为100,可以在首选项中的导航器中设置数量大小。


 

3.3. 数据库对象管理 

3.3.1. 数据库对象的创建和编辑 

对象管理工具能够管理表、视图、物化视图、触发器、存储过程、函数、序列、外部表、程序包、同义词等数据库对象。

支持指定约束的启用/禁用及validate/novalidate。

  1. DISABLE NOVALIDATE :禁用约束,不验证Table中现有的数据

  2. DISABLE VALIDATE :禁用约束,验证Table中现有的数据

  3. ENABLE NOVALIDATE:启用用约束,不验证Table中现有的数据,但验证新insert的数据

  4. ENABLE VALIDATE:启用用约束,验证Table中现有的数据,验证新insert的数据

3.3.1.1. 数据库 

您可通过KStdio对已有连接创建数据库,创建过程为两种方式:

第一种为右键点击“ 数据库 ”文件夹->“ 新建 数据库 ”。

第二种为点击工具栏的“ 数据库 ”图标。

点击后显示新建数据库选项卡。

新建数据库选项卡中含有 基本属性 、 权限 、 DDL 

基本属性 中输入需要创建的数据库名称,属主以及编码。

注:属主中含有KingBase数据库默认创建的system(数据库管理员)、sso(安全管理员)、sao(审计管理员)以及您的自定义用户(详情参考 用户管理 )。

权限 中可以对此数据库的权限进行限制,设置您需要的权限范围(详情参考 用户管理 )。

DDL 中显示创建此数据库的SQL语句。

设置完成后点击右下角“ 确定 ”按钮完成新建。

3.3.1.2. 模式 

新建模式有两种方式。

第一种为选择您要使用的数据库,右键点击“ 模式 ”文件夹->“ 新建 模式 ”。

第二种为选中需要新建模式的数据库,点击工具栏的“ 模式 ”。

点击后显示新建模式选项卡。

新建模式 选项卡含有 基本属性 、 权限 、 DDL 

基本属性 中输入需要创建的模式名称以及选择对应属主。

注:属主中含有KingBase数据库默认创建的system(数据库管理员)、sso(安全管理员)、sao(审计管理员)以及您的自定义用户。(详情参考 2.6 

权限 中给用户和角色分配权限。(详情参考 2.6 

DDL 中显示创建模式的SQL语句。

点击右下角“ 确定 ”完成新建模式。

3.3.1.3. 表 

表(table)是数据库中最重要的数据库对象,是数据库中数据存储的基本单位。表中的数据按行、列存储。每个表具有一个表名和一组列。

新建表界面中包含表的 基本属性 、 分区 、 约束 、 外键 、 索引 、 触发器 、 权限 、 DDL 等标签页。

在已有数据库的对应模式下创建您所需要的表有两种方式:

第一种为右键点击“ 表 ”文件夹->“ 新建 表 

第二种为选中对应模式的文件夹点击工具栏的“ 表 ”图标。

点击后显示新建表选项卡。

基本属性 中含有新建表的名称、表空间、注释。在字段中添加所需的列,定义名称和数据类型、精度(浮点型的精确小数点后位数)、标度(字符所占位数范围)、是否为空、默认值、注释。


 

约束 中可新建约束,填写约束名称、选择约束类型以及约束列、选择启用和验证。

在完成对新建表的字段添加和设置后点击右下角“ 确定 ”按钮完成新建。

  • 基本属性 :用于新建表名,填写及修改表空间、表注释、列名及列类型等表的基本信息的标签页。

隐含列:

隐含列为表中各个列的一个特殊的属性,可以在建表过程中指定,也可以在编辑表的时候变更某一列的隐含属性

如果一个列被标记为隐含列之后,所有非指定该列的DML 行为,例如SELECT * 、COPY、 bulkload 等等,都会忽略该列。而所有指定该列的语句,都会命中该列

自增列:

自增列为表中各个列的一个特殊的属性,需要服务器数据库版本兼容此功能,可以在建表过程中指定。

  • 分区 :用于在新建表时创建分区表的标签页。分区表目前支持范围分区、列表分区、哈希分区。

  1. 范围分区:对数据表中的某个值的范围进行分区,根据某个值的范围,决定将该数据存储在哪个分区上。

  2. 列表分区:明确指定了根据某字段的某个具体值进行分区,而不是像范围分区那样根据字段的值范围来划分的(该分区的特点是某列的值只有几个)。

  3. 哈希分区(散列分区):根据字段的hash值进行均匀分布,尽可能的实现各分区所散列的数据相等。

支持对分区表解绑,绑定和交换操作:

  1. 解绑:解绑分区就是把分区子表从分区主表上分离出来,如果该分区子表也有子表的话,解绑会使该分区子表带着子表分离出来,这样当前分区子表就会成为分区表

  2. 绑定:绑定就是与解绑相反的操作了,而且绑定只能绑定表属性相同的。可以使普通标变为该表的分区表

  3. 交换:交换分区中涉及的两个表必须具有相同的列,有主键的话主键要相同,并且除非引用的表为空,否则任何经过验证的外键都不能引用这两个表中的任何一个。交换的时候会有选择校验数据,这个如果数据冲突且不勾选的话也可以交换,如果勾选就不能交换

使用简介:

  1. 在分区表页面点击新增按钮,增加一个分区类型,选择想要添加的分区类型,例如范围分区。选择分区键,如果是oracle模式且分区类型为范围分区,可以填写间隔表达式。

  2. 选中刚才新增的分区类型,点击新增,可添加一个分区表。每添加一个分区表需要提前选中要在哪个分区类型下新增分区表。一个分区类型下可新增多个分区表

  3. 选中刚新增的分区表,根据分区类型,可以添加或更改分区表的名称,表达式,最小边界值,最大边界值。当对应值如果无法编辑或者填入,表示当前分区类型不支持编辑

  4. 选中自分区表后,点击新增按钮,可以添加自分区表的分区类型,最多支持2层分区

  • 约束 :用于增加表的约束的标签页。

约束包含主键、唯一键、检查约束。

  1. 主键:用于唯一地标识表中的每一条记录可以定义一列或多列为主键,主键列上没有任何两行具有相同值(即重复值),主键列上也不能为空值。

  2. 唯一性约束:唯一性约束用来限制不受主键约束的列上的数据的唯一性,即表中任意两行在 指定列上都不允许有相同的值。一个表上可以放置多个唯一性约束。

  3. 检查约束:检查约束用来指定某列的可取值的范围。它通过限制输入到列中的值来强制域的完整性。

  • 外键 :用于增加表外键的标签页。

删除时:

  1. 无动作:在约束被检察时如果有任何引用行存在,则会抛出一个错误。

  2. 保持:阻止删除一个被引用的行。

  3. 级联:引用表会跟随被引用表的数据删除而删除。

  4. 设为空:被引用表的数据删除后,引用行中的引用列被置为空值或它们的默认值。

更新时:

  1. 无动作:当被引用表中更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许更新。当引用表中更新记录时,首先检查该记录对应外键的更新值在被引用表中是否出现,如果没有则不允许更新。

  2. 保持:当被引用表中更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许更新。当引用表中更新记录时,首先检查该记录对应外键的更新值在被引用表中是否出现,如果没有则不允许更新。

  3. 级联:引用表外键会跟随被引用表的数据更新而更新。

  4. 设为空:被引用表的数据更新后,引用行中的引用列被置为空值或它们的默认值。

  • 索引 :用于增加表的索引的标签页。

类型:

  1. B-tree索引:可以在可排序数据上的处理等值和范围查询,也可以用于检索排序数据。

  2. Hash索引:只能处理简单等值比较。

  3. GiST索引:不是一种单独的索引,而是可以用于实现很多不同索引策略的基础设施。相应地,可以使用一个GiST索引的特定操作符根据索引策略( 操作符类 )而变化。

  4. SP-GiST索引:为支持多种搜索提供了一种基础结构。允许实现众多不同的非平衡的基于磁盘的数据结构,例如四叉树、k-d树和radix树。

  5. GIN索引:是“倒排索引”,它适合于包含多个组成值的数据值,例如数组。倒排索引中为每一个组成值都包含一个单独的项,它可以高效地处理测试指定组成值是否存在的查询。可以支持多种不同的用户定义的索引策略,并且可以与一个 GIN 索引配合使用的特定操作符取决于索引策略。

全局索引:

  1. 全局索引包括全局非分区索引(Global Nonpartitioned Indexes)和全局分区索引(Global Partitioned Indexes),是指与分区表有不同分区方式的索引,它是在分区表的所有分区数据基础上创建的索引。本地索引(本地分区索引,Local Partitioned Indexes),是指在每个表分区上单独创建的索引,是一种局部索引,也是一种分区索引,某一个索引分区只能索引到一个表分区。

  2. 当创建全局索引时,首先尝试创建本地索引,当不满足本地索引的条件(唯一索引的索引列不包括全部分区列或者分区条件为表达式)时会创建全局索引。全局索引支持条件索引,不支持全局分区索引。全局索引不支持排他约束。注意,启用分区表上的主键/唯一约束时,先尝试创建本地索引,不满足时则创建全局唯一索引。

  • 触发器 :用于增加表的触发器的标签页。(详情参考 5.6 

  • 继承 :可以通过inherit或者like的方式快速建表的标签页

inherit可以是单表继承,也可以是多表继承;

Like方式建表只能选其中一个,而且只可以在新建表的时候使用。在更新表的时候会自动隐藏

字段列表仅做展示,参考关联的表有哪些字段,不可修改。需注意的是,虽然inherit和Like可以同时使用,但是如果关联的表中有同名但是不同类型的字段,在创建的时候会提示报错。自定义的字段也不能和继承的表重名但是类型不同

  • 权限 :用于指定用户及角色对于表的权限的标签页。(详情参考 2.6 

  • DDL :用于显示表的创建语句的标签页。

表右键上下文菜单:

  • 查看表 :打开编辑表选项卡。

  • 过滤器 :隐藏或显示指定表、配置“表”过滤器

  • 快速加载 :管理工具通过调用sys_bulkload命令行工具,将一定格式的文本数据简单、快速的加载到KingbaseES数据库中,或将KingbaseES数据库中的数据快速导出到CSV文件中。

  • 编辑数据 :打开结果选项卡,默认显示全部表数据,可编辑但无法修改xml类型数据,服务器暂不支持。

  • 在SQL控制台中读数据 :自动创建查询窗口并执行当前表查询SQL,同时打开结果选项卡。

  • 比较 :详情参考 13.2 

  • 导出数据 :打开“数据转化”,配置数据传输目标类型和格式->设置表导出文件->配置导出输出参数->检查结果,点击开始,自动打开导出文件所在文件目录。注:导出数据为excel时,参数设置中的行高和列宽与实际excel中行高和列宽的比例分别为1:20和1:300。

  • 导入数据 :打开“数据转化”,确认转化数据来源和格式->选择导入的数据库->匹配表和列->设置表导入数据库->检查结果,点击开始,自动打开被导入数据的表的结果选项卡。

  • 生成SQL :对选中的表生成DML语句和DDL语句,可进行参考使用。

  • 工具 :同样是生成对应操作的SQL语句。

“ 分析(ANALYZE) ”命令收集表的内容的统计(可用记录、不可用记录)。

“ 回收(VACUUM) ”命令:

  1. 恢复或重用被已更新或已删除行所占用的磁盘空间。

  2. 更新被KingBaseES查询规划器使用的数据统计信息。

  3. 更新可见性映射,它可以加速只用索引的扫描。

  4. 保护老旧数据不会由于 事务ID回卷或多事务ID回卷 而丢失。

选项中含有:

1) Full:选择“完全”清理,它可以收回更多空间,并且需要更长时间和表上的排他锁。这种方法还需要额外的磁盘空间,因为它会创建该表的一个新拷贝,并且在操作完成之前都不会释放旧的拷贝。通常这种方法只用于需要从表中收回数量庞大的空间时。 vacuum_freeze_min_age 和 vacuum_freeze_table_age 设置为0的 VACUUM。当表被重写时总是会执行激进的冻结,

因此指定FULL时这个选项是多余的。

  1. Analyze:更新优化器用以决定最有效执行一个查询的方法的统计信息。

  2. Disable page skipping:这个选项禁用所有的跳过页面的行为,其意图是只在可见性映射内容被怀疑时使用,这种情况只有在硬件或者软件问题导致数据库损坏时才会发生。

“ 清空(TRUNCATE) ” 可以从一组表中快速地移除所有行。 它具有和在每个表上执行无条件DELETE相同的 效果,不过它会更快,因为它没有实际扫描表。此外,它会立刻回收磁盘空间, 而不是要求一个后续的VACUUM操作。在大表上它最有用。

  1. ONLY:如果在表名前指定了 ONLY,则只会截断该表。如果没有指定ONLY,该表及其所有后代表(如果有)都会被截断。

  2. RESTART IDENTITY:自动重新开始被截断表的列所拥有的序列。

  3. CONTINUE IDENTITY:不更改序列值,这是默认值。

  4. CASCADE:自动截断所有对任一所提及表有外键引用的表以及任何由于 CASCADE被加入到组中的表。

  5. RESTRICT:如果任一表上具有来自命令中没有列出的表的外键引用,则拒绝截断。这是默认值。

3.3.1.4. 视图 

视图是从一个或多个表导出的虚拟表,内容由查询定义。具有普通表的结构,但是不实现数据存储。单表视图一般用于查询和修改,会改变基本表的数据。多表视图一般用于查询,不会改变基本表的数据。

对视图的使用是成就一个好的SQL数据库设计的关键方面。视图允许用户通过始终如一的接口封装表的结构细节,这样可以避免表结构随着应用的进化而改变。

点击“***确定* ”完成新建视图。

触发器( 详情参考 5.6 )。

权限 (详情参考 2.6 )。

3.3.1.5. 物化视图 

物化视图是一种特殊的物理表,“物化”是相对普通视图而言的。

物化视图是关系型数据库中很重要的一个功能,不同于一般视图,物化视图会将视图内容物理保存在数据库中。

建立后的物化视图不会实时更新数据与基表同步,但可以使用语句“REFRESH MATERIALIZED VIEW view_name”更新统计信息。

  • 新建物化视图

权限 (详情参考 2.6 

点击“ 确定 ”完成新建物化视图。

3.3.1.6. 存储过程 

存储过程主要包括存储过程、用户自定义函数和匿名块,可以通过PL/SQL语言创建存储过程模块。存储过程或函数有输入、输出参数和返回值,它们与表和视图等数据库对象一样被存储在数据库中,供用户随时调用。存储过程和用户自定义函数在功能上相当于客户端的一段SQL批处理程序。

存储过程的右键上下文菜单 

  • 查看存储过程 :即编辑存储过程,包括基本属性、权限(详情参考 2.6 )、DDL。

  • 过滤器 :隐藏或显示指定存储过程、配置“存储过程”过滤器。

  • 调试 : 打开调试面板(详情参考 ),如需退出调试并显示工具栏请点击右上角“ Kingbase ”按钮,或重新开启调试请点击右上角“ 金仓调试 ”按钮。

  • 执行存储过程 

点击执行SQL脚本(ALT+X)。

3.3.1.7. 函数 

函数看成一个处理某些数据的功能,因有返回值,则在代码使用中,需要一个处理过的数据。可直接调用函数处理数据,返回数据给代码使用。

KingbaseES数据库系统提供一部分函数方便用户使用,称之为系统函数。同时支持用户自定义函数。

  • 新建函数

新建函数有两种方式:

第一种方式为右键点击“ 函数 ”文件夹->点击“ 新建函数 ”。

第二种为选中“ 函数 ”文件夹,点击工具栏的“ 函数 ”。

返回值类型 :选择您需要的函数返回值类型。

类型 :选择对应的变量类型。

参数模式 

  1. IN:您可以将IN参数传递给函数,但无法从返回结果里再获取到。

  2. OUT:OUT参数经常用于一个函数需要返回多个值,所以不需要RETURN语句

  3. INOUT:INOUT 参数是 IN 和 OUT 参数的组合。这意味着调用者可以将值传递给函数,然后函数改变参数并且将该值作为结果的一部分传递回去。

OUT/INOUT参数不能设置默认值。

权限 (详情参考 2.6 

DDL 为创建函数的SQL语句。

支持创建 PIPELINED函数

在函数创建时指定 PIPELINED 子句用于创建一个 PIPELINED 函数。在函数的声明和定义中,该子句必须保持一致。使用 PIPELINED 关键字时,必须在其函数体内使用 PIPE ROW 语句,用于从函数体内返回集合的单个元素

函数的右键上下文菜单 

  • 查看函数 :即编辑函数,包括基本属性、权限、DDL。

    • 过滤器 :隐藏或显示指定函数、配置“函数”过滤器。

    • 调试 :打开调试面板(详情参考 ),如需退出调试并显示工具栏请点击右上角“ Kingbase ”按钮,或重新开启调试请点击右上角 “金仓调试” 按钮

    • 执行函数 :运行此函数。

点击执行SQL脚本(ALT+X)。

3.3.1.8. 触发器 

触发器是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的 存储过程 ,它的执行不是由程序调用,也不是手工启动,而是由事件来触发, 比如 当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。

  • 新建触发器 :新建触发器时,触发器类型是“ 基于表” ,可以指定触发器状态。“ 基于视图” ,不支持指定触发器状态,但可以设定触发时机为“INSTEAD OF”。

触发时机:

  1. BEFORE:语句级触发器在语句开始做任何事情之前被触发,行级触发器在每一个行被操作之前被触发。

  2. AFTER:语句级触发器在语句做完所有事情之后被触发,行级触发器在语句结束之后被触发(但在任何语句级AFTER触发器之前)。

  3. INSTEAD OF:只能被定义在视图上,并且只能定义在行级,当视图中的每一行被标识为需要被操作时,它们会立即触发。

3.3.1.9. 序列 

序列作为一种独立的模式对象存在,它的功能与自增长数据类型相同。可以在表数据的默认值中利用序列操作函数对序列进行使用。

  • 新建序列

参数详情 

  1. 起始值:

  2. 增量:指定为了创建新值会把哪个值加到当前序列值上。一个正值将会创造一个上升序列,负值会创造一个下降序列。默认值是 1。

  3. 最小值:决定一个序列能产生的最小值。

  4. 最大值:决定该序列的最大值。

  5. 缓存:指定要预分配多少个序列数并且把它们放在内存中以便快速访问。最小值为1(一次只生成一个值,即没有缓存),默认值也是1。

  6. 循环:勾选此选项时,允许序列在分别达到最大值和最小值时回卷。如果达到该限制,下一个产生的数字将分别是最大值和最小值。不勾选此选项时,当序列到达其最大值 后任何nextval调用将返回一个错误。

3.3.1.10. 外部表 

外部表,是指不存在于数据库中的表。通过向KingbaseES提供描述外部表的元数据,可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来进行访问。外部表是对数据库表的延伸。

  •  件外部表

    • 新建外部表

  • 数据库外部表

    • 新建服务;通过“ 检查 ”按钮测试是否连接成功。

    • 新建数据库外部表 

  • 新建mysql外部表

    •  新建服务

      新建Mysql外部表

      目标库是mysql的数据库名目标表是数据库库中的表名,列名要对应表中的列

      3.3.1.11. 同义词 

      同义词,数据库方案对象的别名,经常用于简化对象访问和提高对象访问的安全性。同义词只有在oracle兼容时才会在对象树上显示。

      3.3.1.12. 数据类型 

      KingbaseES有着丰富的本地数据类型可用。用户也可以使用 CREATE TYPE  命令为 KingbaseES增加新的数据类型

      类型:

      1. 对象或组合类型

        组合类型:组合类型由一个属性名和数据类型的列表指定。如果属性的数据类型是可 排序的,也可以指定该属性的排序规则。组合类型本质上和表的行类型相 同,但是如果只想定义一种类型,使用 CREATE TYPE避免了创建一个实际的表。单 独的组合类型也是很有用的,例如可以作为函数的参数或者返回类型

        对象类型:对象类型和组合类型在定义和使用上都有很多相似性,可以认为对象类型是组合类型的增强。不同于组合类型的是,对象类型除了支持组合类型的行记录结构外,还支持声明和定义一些内部方法,并在创建相应的对象后在具体的对象上使用这些方法。

      2. 枚举类型:枚举类型需要 一个带引号的标签构成的列表,每一个标签长度必须不超过 NAMEDATALEN字节(在标准的 KingbaseES编译中是 64 字节)。 可以创建具有零个标签的枚举类型,但是在使用 ALTER TYPE  添加至少一个标签之前,不能使用这种类型来保存值。

      3. 范围类型:范围类型的子类型可以 是任何带有一个相关的 B 树操作符类(用来决定该范围类型值的顺序)的类型。

      4. 嵌套表类型:

      嵌套表适用于以下几种情况:

      • 元素数不确定;

      • 索引值可能出现不连续的情况;

      • 必须单独删除或更新某些元素的情况;

      • 嵌套表可以看做是index为int的关联数组。

      1. 可变数组类型:与嵌套表不同,可变数组在定义的时候需要指定最大元素个数,使用中不能超过该限制

      嵌套表适用于以下几种情况:

      • 元素数有最大限制;

      • 索引值必须是连续的情况;

      1. Shell类型:shell 类型仅仅是一种用于后面要定义的类型的占位符

      3.3.1.13. 外部链接 

      外部链接,在此数据库中建立一个数据库连接,使得您可以在此数据库中操作另一个数据库。

      • 新建外部链接 

      驱动名称(ODBC):为KingBaseES的ODBC驱动名称。

      3.3.2. 表空间 

      表空间允许在文件系统里定义那些代表数据库对象(例如表和索引)的数据文件存放的位置。 一旦创建了表空间,那么就可以在创建数据库对象的时候引用它。一个数据库可以有一个或多个表空间,创建数据库时自动创建系统表空间,并为缺省的默认表空间。一个表空间只隶属于一个数据库,只有在创建了数据库之后才能创建属于它的表空间。

      隶属于一个数据库的表空间用于存储该数据库的数据库对象。在创建数据库对象时可以使用TABLESPACE子句指明该对象所使用的表空间;没有给出 TABLESPACE 子句,则这些对象使用缺省表空间。

      • 新建表空间 :新建表空间支持透明加密,用户可以通过基本属性中选项勾选或者“create tablespace... with(ENCRYPTION = true);”语法来指定。

      路径:表空间路径为绝对路径。

      已使用大小:显示表空间目录下已存数据文件大小。

      3.3.3. 管理 

      3.3.3.1. 系统参数 

      KingbaseES的系统参数列表可视化及修改功能,包括:

      • 文件位置 :文件的路径。

      • 连接认证 :验证设置、安全选项、语句行为、默认语言、动态加载、其他默认。

      • 资源使用 :内存、磁盘、内核资源、回收延迟、后台写、异步行为、自动回收、锁管理。

      • 事务日志 :设置、检查点、归档。

      • 数据复制 :复制、发送服务器、主服务器、备服务器。

      • 查询优化 :方法配置、Cost、常规选项、其它选项。

      • 运行日志 :路径、时机、内容。

      • 统计信息 :监控、查询和索引。

      • 兼容相关 :SQL兼容选项、向前兼容、其他兼容。

      • 其他选项 :错误处理、预设选项、开发选项、进程名。

      3.3.3.2. 会话管理器 

      列表展示当前数据库服务器存在的所有连接会话及会话的详细信息,可通过点击“ 断开” 按钮中断被选中的连接。

      3.4. 锁管理器 

      列表展示当前数据库服务器存在的所有锁。

      3.4.1. 备份 

      3.4.2. 逻辑备份 

      逻辑备份可以将数据库对象的结构和数据导出到二进制文件或sql文件,方便数据库在不同机器上的迁移,备份入口分两种,一种选择树形结构节点如表,点击工具栏中备份按钮,可以备份当前模式下的所有树形结构。

      另一种直接备份数据库,双击树形结构备份管理,根据所需的备份内容勾选下方复选框。

      3.4.3. 逻辑还原 

      逻辑还原可以将指定备份文件的任意数据库对象导入到指定数据库里,根据所需的还原要求勾选下方复选框。

      3.5. 计划任务 

      计划任务(DBMS_SCHEDULER)提供调度和管理计划任务的功能。基于后台进程来实现自动作业功能。通过kdb_schedule插件提供了DBMS_JOB和DBMS_SCHEDULER包,其中定义了自动作业功能的相关函数

      3.5.1. 程序 

      新建程序

      填写程序的名称,选择程序的类型,程序的动作,比如创建一张表,数据库连接串,格式:user=system dbname=test port=54321 password=123;数据库名称,以及是否可用

      3.5.2. 计划 

      新建计划:

      填写计划名称,开始时间,开始时间可以是函数比如now(),或者具体时间例如2022-3-25 12:58:30 ,时间间隔参考如下

      参数

      描述

      FREQ

      重复时间的类型。 这里有yearly、monthly、weekly、daily、hourly、minutely

      INTERVAL

      重复的频率,默认值是1。

      BYMONTH

      指定月份。

      BYMONTHDAY

      指定一月中的某一天。

      BYHOUR

      指定一天中的某一个小时。

      BYBYMINTUE

      指定一个小时中的某一分。

      BYSECOND

      指定一分钟内的某一秒。

      结束时间格式同开始时间

      3.5.3. 任务 

      新建任务:

      填写任务名称,程序名称选择之前新建的程序,计划名称选择之前新建的计划,选择任务的类型和是否启用

      编辑任务:可以改变任务是否启用

      执行任务:在任务上点击鼠标右键,可以立即执行选择的任务。

      3.6. 用户管理 

      3.6.1. 用户创建和编辑 

      KingbaseES每个数据库服务器都包含一个数据库用户的集合。这些用户是和那些在同一个服务器上运行的操作系统的用户相独立的。用户拥有数据库对象(比如说,表)以及可以把这些对象的权限赋予其它用户,这样就能控制谁可以访问哪些对象。用户也可以拥有系统权限。

      数据库用户从概念上与操作系统用户是完全无关的。在实际使用中把它们对应起来可能比较方便,但不是必须的。数据库用户名在整个数据库集群中是全局的(而不是每个数据库不同)。创建一个用户,使用 SQL 命令 CREATE USER。

      更多数据库用户和权限的相关信息,请查看用户。

      • 新建用户 :可以为数据库新创建一个用户,并为其分配系统权限及对象权限。

      • 新建用户有两种方式:

      • 第一种为右键点击“ 用户 ”文件夹->选择“ 新建用户 ”。

      第二种为选中“ 用户 ”文件夹->点击工具栏的“ 用户 ”。

      设置时间、过期时间:可勾选设置时间,以自定义用户过期时间。

      连接数限制:可根据您的需要自定义连接数,-1为无限制。

      系统权限 

      1. SUPERUSER:“超级用户”,它可以越过数据库内的所有访问限制。“超级用户”状态很危险并且之应该在确实需要时才用。要创建一个新“超级用户”,您必须自己是一个超级用户。

      2. CREATEDB:指定该用户是否被允许创建新的数据库。

      3. CREATEROLE:指定该用户是否被允许创建新的角色,同时可以修改和删除角色。

      4. LOGIN:是否被允许登录,也就是在客户端连接期间该角色是否能被给定为初始会话认证名称。

      5. REPLICATION:这些子句决定一个角色是否为复制角色。角色必须具有这个属性(或者成为一个超级用户)才能以复制模式(物理复制或者逻辑复制)连接到服务器以及创建或者删除复制槽。一个具有REPLICATION属性的角色是一个具有非常高特权的角色,并且只应被用于确实需要复制的角色上。

      对象权限 

      1. ALL:授予对象类型的所有可用权限。

      2. CREATE:对于数据库,允许在数据库中创建新的模式和发布。

      对于模式,允许在模式中创建新对象。要重命名一个现有的对象,您必须拥有对象和对包含的模式有这个特权。

      1. TEMPORARY:允许在使用数据库时创建临时表。

      2. TEMP:允许在使用数据库时创建临时表。

      3. CONNECT:允许连接到此数据库。

      4. USAGE:对于模式,允许访问模式中包含的对象。本质上,这允许被授予者在模式中“查找”对象。没有这个权限,仍然可以看到对

        以上是关于金仓数据库KStudio使用手册(3. 数据库管理)的主要内容,如果未能解决你的问题,请参考以下文章

        金仓数据库约束怎么设置默认启用

        炫“库”行动-人大金仓有奖征文—金仓数据库的Windows安装教程

        人大金仓(KingBase)导出表结构

        人大金仓(KingBase)导出表结构

        Efcore对接金仓数据库KingbaseES

        金仓数据库安装教程