关系型数据库查询语言 SQL 和图数据库查询语言 nGQL 对比.doc

关系型数据库查询语言 SQL 和图数据库查询语言 nGQL 对比.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? ? ? ? ? ? ? 关系型数据库查询语言 SQL 和图数据库查询语言 nGQL 对比 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 摘要:这篇文章将介绍图数据库 Nebula Graph 的查询语言 nGQL 和 SQL 的区别。 本文首发于 Nebula Graph 官方博客:/posts/sql-vs-ngql-comparison/ sql-vs-ngql 虽然本文主要介绍 nGQL 和 SQL 的区别,但是我们不会深入探讨这两种语言,而是将这两种语言做对比,以帮助你从 SQL 过渡到 nGQL。 SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言是一种特定目的编程语言,用于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。 nGQL 是一种类 SQL 的声明型的文本查询语言,相比于 SQL, nGQL 为可扩展、支持图遍历、模式匹配、分布式事务(开发中)的图数据库查询语言。 概念对比 语法对比 数据定义语言 (DDL) 数据定义语言(DDL)用于创建或修改数据库的结构,也就是 schema。 索引 数据操作语言(DML) 数据操作语言(DML)用于操作数据库中的数据。 数据查询语言(DQL) 数据查询语言(DQL)语句用于执行数据查询。本节说明如何使用 SQL 语句和 nGQL 语句查询数据。 SELECT [DISTINCT] select_expr [, select_expr] ... [FROM table_references] [WHERE where_condition] [GROUP BY {col_name | expr | position}] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC]] GO [[ TO] STEPS ] FROM OVER [REVERSELY] [BIDIRECT] [WHERE where_condition] [YIELD [DISTINCT] ] [| ORDER BY [ASC | DESC]] [| LIMIT [,] ] [| GROUP BY {col_name | expr | position} YIELD ] | [, ...] | $-.id edge_type [, edge_type ...] [AS ] [, [AS ] ...] 数据控制语言(DCL) 数据控制语言(DCL)包含诸如 GRANT 和 REVOKE 之类的命令,这些命令主要用来处理数据库系统的权限、其他控件。 数据模型 查询语句基于以下数据模型: RDBMS 关系结构图 RDBMS Nebula Graph 最小模型图 Studio 本文将使用 NBA 数据集。该数据集包含两种类型的点,也就是两个标签,即 player 和 team ;两种类型的边,分别是 serve 和 follow。 在关系型数据管理系统中(RDBMS)中,我们用表来表示点以及与点相关的边(连接表)。因此,我们创建了以下表格:player、team、serve 和 follow。在 Nebula Graph 中,基本数据单位是顶点和边。两者都可以拥有属性,相当于 RDBMS 中的属性。 在 Nebula Graph 中,点之间的关系由边表示。每条边都有一种类型,在 NBA 数据集中,我们使用边类型 serve 和 follow 来区分两种类型的边。 示例数据 在 RDBMS 插入数据 首先,让我们看看如何在 RDBMS 中插入数据。我们先创建一些表,然后为这些表插入数据。 CREATE TABLE player (id INT, name VARCHAR(100), age INT); CREATE TABLE team (id INT, name VARCHAR(100)); CREATE TABLE serve (player_id INT, team_id INT, start_year INT, end_year INT); CREATE TABLE follow (player_id1 INT, player_id2 INT, degree INT); 然后插入数据。 INSERT INTO player VALUES (100, Tim Duncan, 42), (101, Tony Parker, 36), (102, LaMarcus Aldridge, 33), (103, Rudy Gay,32), (1

您可能关注的文档

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档