NineData全面支持PostgreSQL可视化表结构设计

"PostgreSQL 是最像 Oracle 的开源关系型数据库",也正因为如此,很多企业都青睐 PostgreSQL,拿它当成 Oracle 的替代品。所以毫无疑问,目前 PostgreSQL 在企业中非常常见。

对于直接接触 PostgreSQL 的开发人员而言,即使是业内摸爬滚打多年的老鸟,也难免会觉得 PostgreSQL 黑屏建表麻烦,语法多、参数多、需要记住的内容更是有多又杂,一不小心就会因为拼写错误、标点错误等低错导致各种报错,尤其是在面对复杂表结构的情况下,黑屏编写 SQL 语句让人心态爆炸。撇开建表,修改表结构则更加让人抓狂,修改过程不能有差错,否则甚至可能影响业务。

因此,用一个功能完善的图形化工具来替代黑屏界面,就显得非常重要了。而 NineData 刚好就符合,NineData 的目标是,无论对于 PostgreSQL 的了解程度如何,哪怕是刚入门的新手,都能快速把 PostgreSQL 表结构给设计起来。

有什么亮点?

在上期迭代中,NineData 正式发布针对 PostgreSQL 的可视化表结构设计功能。要满足开发人员对于 PostgreSQL 图形化表结构设计的需求,NineData 的解决思路如下:

  • 模块化:将建表语句的各项复杂的参数分类,然后分别归纳到列、索引、外键、分区、表选项五个模块下,界面布局相当清晰,学习成本基本为 0。

  • 参数全方位覆盖:对于表、字段、约束等各种属性的参数,均提供完整的定义,包含分区属性及分区表的创建、多种约束及普通索引、字段数据类型与校验集生成列属性等。

  • 操作简单:提供便捷的交互操作,结合实时 SQL 预览帮助用户快速完成表结构定义与编辑。

NineData 的目标可以归纳为一句话:老鸟用能增加效率,菜鸟用能快速上手。

如何可视化创建 PostgreSQL 表结构?

通过 NineData 的 SQL 窗口,可以可视化创建 PostgreSQL 表,几乎覆盖所有建表语句的能力。

配置列:包含列名、数据类型、NOT NULL 属性、默认值、注释、Primary Key 属性等基础配置,同时还支持生成列、COLLATE(列的排序规则)等。

上图中,配置了 5 个列,其中设置 ID 为主键并不可为空,full_name 为生成列,该列的值为 first_name 和 last_name 列的组合。

配置约束:提供了 主键索引(PRIMARY KEY)、唯一索引(UNIQUE)、排他索引(EXCLUSION)、CHECK,以及普通索引(INDEX)。

上图为 age 列设置了 CHECK 约束,输入的年龄必须大于 18。

配置外键:支持为当前表配置外键,引用另一个表的主键列,支持创建一个或多个外键。

配置分区表:可视化为当前表创建分区表,为数据库带来查询性能上的提升。

上图中,在 Partition By 中指定以 age 列的年龄范围进行分区,然后在 Partitions 中输入具体的分区语句。

表选项:为表配置所有者(Owner)、表空间(Tablespace),也可以通过 LIKE...INCLUDING 属性复制现有表的结构和数据。另外还支持输入其他表选项,例如 INHERITS、WITH/WITHOUT OIDS、ON COMMIT 等。

预览 SQL:配置完成后,单击页面上的保存,NineData 会把所有配置转换成具体的 SQL,确认无误后,单击确定即可。

总结

如您所见,轻轻松松点几下鼠标就成功为 PostgreSQL 创建了一张表,由于 NineData 是根据您在界面上的选择自动生成 SQL 语句的,所以基本告别了低错、漏参数等问题造成的建表失败,相信可以在一定程度上提升您的工作效率。

相关推荐
随心Coding5 分钟前
【MySQL】存储引擎有哪些?区别是什么?
数据库·mysql
m0_748237051 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
dal118网工任子仪2 小时前
61,【1】BUUCTF WEB BUU XSS COURSE 11
前端·数据库·xss
萌小丹Fighting3 小时前
【Postgres_Python】使用python脚本批量创建和导入多个PG数据库
数据库
青灯文案13 小时前
Oracle 数据库常见字段类型大全及详细解析
数据库·oracle
羊小猪~~4 小时前
MYSQL学习笔记(四):多表关系、多表查询(交叉连接、内连接、外连接、自连接)、七种JSONS、集合
数据库·笔记·后端·sql·学习·mysql·考研
村口蹲点的阿三6 小时前
Spark SQL 中对 Map 类型的操作函数
javascript·数据库·hive·sql·spark
暮湫7 小时前
MySQL(1)概述
数据库·mysql
fajianchen7 小时前
记一次线上SQL死锁事故:如何避免死锁?
数据库·sql
chengpei1477 小时前
实现一个自己的spring-boot-starter,基于SQL生成HTTP接口
java·数据库·spring boot·sql·http