数据库开发管理工具KStudio视图及其创建操作介绍

关键字:

KStudio、视图、人大金仓、KingbaseES

视图介绍

视图是从一个或多个表中导出的虚拟表,它是一个基于查询的结果集。视图并不存储实际的数据,而是根据查询语句的结果动态生成的。

1.1 视图的作用

1.简化复杂查询:视图可以将复杂的查询语句封装成一个简单的视图,方便用户使用。

2.数据安全性:通过视图,可以对底层表的数据进行权限控制,只允许用户访问特定的列或行,保护敏感数据的安全性。

3.数据逻辑抽象:通过视图,可以将多个表的数据进行逻辑上的组合,提供更加清晰和易于理解的数据模型。

1.2 视图和表的区别

1.存储方式:表是实际存储数据的物理结构,而视图只是一个基于查询结果的虚拟表,不存储实际数据。

2.数据更新:对于视图的更新操作,实际是对底层表的数据的更新,而对表的更新操作直接修改表中的数据。

3.数据结构:表具有完整的列和行结构,而视图可以包含来自多个表的的列,也可以使用聚合函数等操作

4.索引和约束:表可以定义索引和约束来提高查询性能和数据完整性;而视图不能定义索引和约束。

二、使用KStudio开发管理工具创建视图

1.打开KStudio开发管理工具进行数据库连接->展开导航树节点至视图节点->右键选择新建视图。如下图所示:

2.选中新建视图后即可进入视图新建页面,在视图新建页面的基本属性框中我们可以设置视图的名称以及选择视图的属主及其所属模式;在SQL内容框中可设置此视图执行的SQL。

我们有订单表orderitem,需要一个名为likeproducttop10的视图来查询订单表中最受欢迎的10个商品以及其总的销售量。视图likeproducttop10创建如下图所示:

SQL内容如下:

SELECT o.proid,sum(o.quantity) AS totalquantity

FROM market.orderitem o

GROUP BY o.proid

ORDER BY (sum(o.quantity)) DESC

LIMIT 10;

OrderItem表结构如下:

CREATE TABLE "market"."orderitem" (

"id" integer AUTO_INCREMENT,

"orderid" integer NOT NULL,

"userid" integer NOT NULL,

"proid" integer NOT NULL,

"proname" character varying(50 charNOT NULL,

"currentunitprice" numeric(20,2) NOT NULL,

"quantity" integer NOT NULL,

"totalprice" numeric(20,2) NOT NULL,

"createtime" datetime NOT NULL,

"updatetime" datetime NOT NULL,

CONSTRAINT "market_orderitem_constraint_1" PRIMARY KEY (id)

);

创建视图成功后打开SQL编辑器执行:select * from likeproducttop10

即可查询orderitem表中销量最高的10个商品及其销售量。

三、总结

1、视图可以将复杂的查询封装起来,不仅易于理解还便于使用。同时视图不存储实际数据,而是根据查询语句获取的结果集动态生成的。

2、人大金仓数据库开发管理工具KStudio提供创建视图功能,界面简洁易于使用。

参考文档:

Kingbase ES 产品手册

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐