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 语句的,所以基本告别了低错、漏参数等问题造成的建表失败,相信可以在一定程度上提升您的工作效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/803456.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

# Redis 入门到精通(五)-- redis 持久化(2)

Redis 入门到精通(五)-- redis 持久化(2) 一、redis 持久化–save 配置与工作原理 1、RDB 启动方式:反复执行保存指令,忘记了怎么办?不知道数据产生了多少变化,何时保存&#xff1…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【获取密钥属性(ArkTS)】

获取密钥属性(ArkTS) HUKS提供了接口供业务获取指定密钥的相关属性。在获取指定密钥属性前,需要确保已在HUKS中生成或导入持久化存储的密钥。 开发步骤 指定待查询的密钥别名keyAlias,密钥别名最大长度为64字节。调用接口[getKeyItemProperties]&…

Linux下的C++编程(2)——动态库

为什么要使用动态库? 在实际工作工作,常常需要给予其他人自己的库文件,但是,我们只想让其他人使用我们的库文件,而不想让其他人知道我们具体代码,所以就引入了动态库的概念,使用动态库可以让使…

2.10、matlab中字符、数字、矩阵、字符串和元胞合并为字符串并将字符串以不同格式写入读出excel

1、前言 在 MATLAB 中,可以使用不同的数据类型(字符、数字、矩阵、字符串和元胞)合并为字符串,然后将字符串以不同格式写入 Excel 文件。 以下是一个示例代码,展示如何将不同数据类型合并为字符串,并以不…

AQS源码解析(ReentrantLock)

什么是AQS:Juc中的大多数同步器都是围绕着一些相同的基础行为,比如等待队列,条件队列,共享,独占获取变量这些行为,抽象出来就是基于AQS(AbstractQueuedSynchronizer)实现的。所以可以把AQS看成这…

windows qt编译报错 无法打开包括文件: “EGL/egl.h”: No such file or directory

windows mingw32 qt creator QtAV 推荐ffmpeg依赖包 QT5.14.2 如果出现:无法打开包括文件: “EGL/egl.h”: No such file or directory 可能是Qt6的问题.在QT5上安装。 编译步骤: git clone https://github.com/wang-bin/QtAV.git cd QtAV &&…

Mysql-错误处理: Found option without preceding group in config file

1、问题描述 安装MYSQL时,在cmd中“初始化”数据库时,输入命令: mysqld --initialize --consolecmd报错: D:\mysql-5.7.36-winx64\bin>mysql --initialize --console mysql: [ERROR] Found option without preceding group …

Qt基础 | Qt全局定义 | qglobal头文件中的数据类型、函数、宏定义

文章目录 一、数据类型定义二、函数三、宏定义 QtGlobal头文件包含了 Qt 类库的一些全局定义 ,包括基本数据类型、函数和宏,一般的Qt类的头文件都会包含该文件。 详细内容可参考:https://doc.qt.io/qt-5/qtglobal.html 一、数据类型定义 为了…

【扩散模型(五)】IP-Adapter 源码详解3-推理代码

系列文章目录 【扩散模型(一)】中介绍了 Stable Diffusion 可以被理解为重建分支(reconstruction branch)和条件分支(condition branch)【扩散模型(二)】IP-Adapter 从条件分支的视…

花几千上万学习Java,真没必要!(十一)

1、跳转控制语句&#xff1a; 测试代码1&#xff1a; package com.continuetest; public class ControlFlowDemo { // break语句 public void demonstrateBreak() { for (int i 0; i < 10; i) { if (i 5) { break; // 当i等于5时&#xff0c;跳出循环 } System.o…

【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow

一、项目介绍 眼疾识别系统&#xff0c;使用Python作为主要编程语言进行开发&#xff0c;基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法&#xff0c;通过对眼疾图片4种数据集进行训练&#xff08;‘白内障’, ‘糖尿病性视网膜病变’, ‘青光眼’, ‘正常’&…

项目管理进阶之RACI矩阵

前言 项目管理进阶系列续新篇。 RACI&#xff1f;这个是什么矩阵&#xff0c;有什么用途&#xff1f; 在项目管理过程中&#xff0c;如Team规模超5以上时&#xff0c;则有必要采用科学的管理方式&#xff0c;满足工作需要。否则可能事倍功半。 Q&#xff1a;什么是RACI矩阵 …

SongComposer:让大模型像人类一样具有音乐创作力

人工智能咨询培训老师叶梓 转载标明出处 大模型在翻译、复杂语言环境中的推理等任务中展现出了人类级别的能力。这引发了一个问题&#xff1a;这些模型能否在更具情感、抽象性以及需要专业技能的领域中&#xff0c;如音乐创作&#xff0c;展现出人类的创造力呢&#xff1f;香港…

一招轻松解决猫毛 最值得买的浮毛空气净化器排名

作为一名6年资深铲屎官&#xff0c;我常常被朋友问到关于宠物空气净化器的各种问题。有的人认为这是个神器&#xff0c;而有的人则认为这完全是花钱买智商税。其实我刚开始对购买宠物空气净化器也持怀疑态度&#xff0c;心想这么多钱花下去真的有效吗&#xff1f;但使用后&…

Linux文本工具之-Vim(二)

一、编辑 快捷键功能描述i在当前光标所在位置插入&#xff0c;光标后的文本相应向右移动I在光标所在行的行首插入&#xff0c;行首是该行的第一个非空白字符&#xff0c;相当于光标移动到行首执行 i 命令o在光标所在行的下插入新的一行。光标停在空行首&#xff0c;等待输入文…

王牌站士Ⅶ--理解大型语言模型LLM的参数

模型的大小并不一定决定其成功 在学习任何大型语言模型 (LLM) 时&#xff0c;您首先会听到的事情之一就是给定模型有多少个参数。如果您查看下面的图表&#xff0c;您会注意到参数大小范围很广 - 一个模型可能有 10 亿或 20 亿个参数&#xff0c;也可能有超过 1.75 万亿个参数。…

MongoDB综合实战篇(超容易)

一、题目引入 在MongoDB的gk集合里插入以下数据&#xff1a; 用语句完成如下功能&#xff1a; &#xff08;1&#xff09;查询张三同学的成绩信息 &#xff08;2&#xff09;查询李四同学的语文成绩 &#xff08;3&#xff09;查询没有选化学的同学 &#xff08;4&#xf…

EasyPhoto - 一键训练并生成人像写真,支持参考图生成 独立版 本地一键整合包下载

EasyPhoto最早是作为AI绘画软件StableDiffusion的一款插件备受大家喜爱&#xff0c;今天分享的是 EasyPhoto 的独立版本一键整合包&#xff0c;无需安装StableDiffusion即可解压即用。 和之前分享的腾讯开源的 PhotoMaker 和 阿里开源的 FaceChain 类似&#xff0c;EasyPhoto操…

ArkUI组件——循环控制/List

循环控制 class Item{name: stringprice:number}private items:Array<Item> [new Item("A0",2399),new Item("BE",1999),new Item("Ro",2799)] ForEach(this.items,(item:Item) > {})List组件 列表List是一种复杂的容器&#xff0c;…

C++动态内存的管理

今天来分享C动态内存管理相关知识&#xff0c;闲言勿谈&#xff0c;直接上干货。 1. 动态内存的开辟和销毁(new和delete) (1)前置知识&#xff1a;我们知道c语言有malloc和calloc和realloc三个函数可以进行动态的开辟内存&#xff0c;那么它们有什么区别呢&#xff1f;首先是…