“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.pswp.cn/web/46079.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/46079.shtml
英文地址,请注明出处:http://en.pswp.cn/web/46079.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

echarts多柱堆叠的X轴顺序

在一些图表场景中,需要显示多柱堆叠的数据,那么X轴上每一段单位区域内会有多根柱子,每一根柱子标识不同的数量项含义,那么怎样控制这几根柱的左右顺序呢? 其实这跟echarts的option里的series由关,开始我以为…

快速排序及归并排序的实现与排序的稳定性

目录 快速排序 一. 快速排序递归的实现方法 1. 左右指针法 步骤思路 为什么要让end先走? 2. 挖坑法 步骤思路 3. 前后指针法 步骤思路 二. 快速排序的时间和空间复杂度 1. 时间复杂度 2. 空间复杂度 三. 快速排序的优化方法 1. 三数取中优化 2. 小区…

实验丰富、原创改进!|多策略改进蜣螂优化算法(MATLAB)

本文内容来源于本人公众号:KAU的云实验台,更新内容:智能优化算法及其改进应用。 本文核心内容: 新颖的多策略改进蜣螂优化算法 对比算法包括:高引用/新发布/经典/其他DBO变体(共11种) 实验设计…

用c语言写一个贪吃蛇游戏

贪吃蛇游戏通常涉及到终端图形编程和简单的游戏逻辑。以下是一个基本的实现示例,包括贪吃蛇的移动、食物生成、碰撞检测等功能。 1. 贪吃蛇游戏的基本结构 贪吃蛇游戏可以分为以下几个部分: 游戏地图和终端绘制:使用二维数组表示游戏地图&am…

SpringBoot结合ip2region实现博客评论显示IP属地

你好呀,我是小邹。 在现代的Web应用中,特别是博客和论坛类网站,为用户提供地理定位服务(如显示用户所在地理位置)可以极大地增强用户体验。本文将详细探讨如何使用Java和相关技术栈来实现在博客评论中显示用户的地址信…

Java实验3

实验内容 学生信息管理系统 学生成绩表Student(Sno 字符串,长度9, Sname 字符串,长度10, Class 字符串,长度10, Age 整型, Sex 字符串,长度2) 实现如下功能: A.输入若干个学生的信息到Student表&#x…

初学Python必须知道的14个强大单行代码

引言:Python的魅力与单行代码的重要性 Python以其简洁明了的语法、丰富的内置函数和强大的第三方库深受广大开发者喜爱。尤其对于编程小白来说,学习Python就像打开了一扇通向编程世界的大门。而单行代码,作为Python魅力的一部分,…

【NetTopologySuite类库】合并所有几何的包围盒AABB

流程示意图 示例代码 using GeoAPI.Geometries; using Microsoft.VisualStudio.TestTools.UnitTesting; using NetTopologySuite.Geometries; using NetTopologySuite.IO; using System.Collections.Generic; using System.Linq;namespace Test472 {[TestClass]public class T…

深度解析:电商订单API及其技术实现

随着电子商务的发展,实体企业开拓电商渠道的越来越多,原有的管理系统都需要增加电商业务管理功能,其中,对电商订单的管理是每一个电商商家都需要的功能,所以对于开发者来说,了解电商API是什么是非常重要的&…

第100+16步 ChatGPT学习:R实现Xgboost分类

基于R 4.2.2版本演示 一、写在前面 有不少大佬问做机器学习分类能不能用R语言,不想学Python咯。 答曰:可!用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了,就帮各位搬运一下吧。 二、R代码实现Xgboost分类 &#xff08…

LeetCode题练习与总结:比较版本号--165

一、题目描述 给你两个 版本号字符串 version1 和 version2 ,请你比较它们。版本号由被点 . 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。 比较版本号时,请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较…

C++动态内存的管理

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

MPS 后端

本文来自: https://pytorch.org/docs/stable/notes/mps.html https://pytorch.ac.cn/docs/stable/notes/mps.html MPS 后端 mps 设备支持 在使用 Metal 编程框架的 MacOS 设备上,进行高性能 GPU 训练。 它引入了新的设备,将机器学习计算图和…

【C语言】条件运算符详解 - 《 A ? B : C 》

目录 C语言条件运算符详解1. 条件运算符的语法和使用示例 1:基本用法输出 2. 嵌套条件运算符示例 2:嵌套条件运算符输出 3. 条件运算符与 if-else 语句的比较示例 3:使用 if-else 语句示例 4:使用条件运算符 4. 条件运算符的实际应…

PLC_博图系列☞基本指令”TONR:时间累加器“

PLC_博图系列☞基本指令”TONR:时间累加器“ 文章目录 PLC_博图系列☞基本指令”TONR:时间累加器“背景介绍TONR: 时间累加器说明参数脉冲时序图示例 关键字: PLC、 西门子、 博图、 Siemens 、 TONR 背景介绍 这是一篇关于P…

ElasticSearch学习之路

前言 为什么学ElasticSearch? 数据一般有如下三种类型: 结构化数据,如:MySQL的表,一般通过索引提高查询效率非结构化数据,如:图片、音频等不能用表结构表示的数据,一般保存到mong…

Linux C++ 054-设计模式之外观模式

Linux C 054-设计模式之外观模式 本节关键字:Linux、C、设计模式、外观模式 相关库函数: 概念 外观模式(Facade),亦称“过程模式”。主张按照描述和判断资料来评价课程,关键的活动是在课程实施的全过程中…

昇思25天学习打卡营第24天|基于MindSpore的Diffusion扩散模型

Diffusion扩散模型 本文基于Hugging Face:The Annotated Diffusion Model一文翻译迁移而来,同时参考了由浅入深了解Diffusion Model一文。 关于扩散模型(Diffusion Models)有很多种理解,本文的介绍是基于denoising di…

基础动态规划题目基础动态规划题目

目录 题目1: P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles 代码示例: 题目2: Common Subsequence 代码示例 题目3 :最长上升子序列 最长不下降子序列 最长上升子序列oj答案 题目1: P1216 [USACO1.5]…

SQL面试题练习 —— 查询每个用户最大连续登录天数

目录 1 题目2 建表语句3 题解 1 题目 查询每个用户最大连续登录天数 样例数据如下 login_log: 2 建表语句 --建表语句 create table if not exists login_log (user_id int comment 用户id,login_time date comment 登录时间 ); --数据插入 INSERT overwrit…