“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 語句的,所以基本告別了低錯、漏參數等問題造成的建表失敗,相信可以在一定程度上提升您的工作效率。