1. 程式人生 > >關係型資料庫查詢語言 SQL 和圖資料庫查詢語言 nGQL 對比

關係型資料庫查詢語言 SQL 和圖資料庫查詢語言 nGQL 對比

摘要:這篇文章將介紹圖資料庫 Nebula Graph 的查詢語言 nGQL 和 SQL 的區別。 > 本文首發於 Nebula Graph 官方部落格:https://nebula-graph.com.cn/posts/sql-vs-ngql-comparison/ ![sql-vs-ngql](https://www-cdn.nebula-graph.com.cn/nebula-blog/sql-vs-ngql.png) 雖然本文主要介紹 nGQL 和 SQL 的區別,但是我們不會深入探討這兩種語言,而是將這兩種語言做對比,以幫助你從 SQL 過渡到 nGQL。 SQL (Structured Query Language) 是具有資料操縱和資料定義等多種功能的資料庫語言,這種語言是一種[特定目的程式語言](https://zh.wikipedia.org/wiki/%E7%89%B9%E5%AE%9A%E7%9B%AE%E7%9A%84%E7%A8%8B%E5%BC%8F%E8%AF%AD%E8%A8%80),用於管理[關係資料庫管理系統](https://zh.wikipedia.org/wiki/%E5%85%B3%E7%B3%BB%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F)(RDBMS),或在[關係流資料管理系統](https://zh.wikipedia.org/wiki/%E5%85%B3%E7%B3%BB%E6%B5%81%E6%95%B0%E6%8D%AE%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F)(RDSMS)中進行流處理。 [nGQL](https://docs.nebula-graph.com.cn/manual-CN/1.overview/1.concepts/2.nGQL-overview/) 是一種類 SQL 的宣告型的文字查詢語言,相比於 SQL, nGQL 為可擴充套件、支援圖遍歷、模式匹配、分散式事務(開發中)的圖資料庫查詢語言。 ## 概念對比 | 對比項 | SQL | nGQL | | --- | --- | --- | | 點 | \\ | 點 | | 邊 | \\ | 邊 | | 點型別 | \\ | tag | | 邊型別 | \\ | edge type | | 點 ID | 主鍵 | vid | | 邊 ID | 複合主鍵 | 起點、終點、rank | | 列 | 列 | 點或邊的屬性 | | 行 | 行 | 點或邊 | ## 語法對比 ### 資料定義語言 (DDL) 資料定義語言(DDL)用於建立或修改資料庫的結構,也就是 schema。 | 對比項 | SQL | nGQL | | --- | --- | --- | | 建立圖空間(資料庫) | CREATE DA