首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Server 2017在图中存储路由和位置

使用Server 2017在图中存储路由和位置
EN

Database Administration用户
提问于 2018-12-04 05:42:53
回答 1查看 323关注 0票数 1

我对图形数据库非常陌生,所以请忽略我的错误。下面的图片描述了我的场景:

我有不同的位置连接彼此之间的一条路线。那我就有很多与路线相连的商店了。

我创建了如下所示的RDBMS模式:

我的目标是在两个被询问的地点之间提供可能的路线和出口。

最近,我听说了Server 2017中的图形数据库支持,并阅读了文章,但无法连接到我当前的问题。

请帮助我在Server 2017中创建图表和节点表。

谢谢!

更新

现在我创建了一个数据模型:

一些Node和Edge表如下:

代码语言:javascript
复制
CREATE TABLE [dbo].[mRoute](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](500) NOT NULL,
PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)ON [PRIMARY]
)
AS NODE ON [PRIMARY]
GO

CREATE TABLE [dbo].[mCity](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](500) NOT NULL,
PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)ON [PRIMARY]
)
AS NODE ON [PRIMARY]
GO

CREATE TABLE [dbo].[mOutlet](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](500) NOT NULL,
    [Latitude] [decimal](11, 9) NULL,
    [Longitude] [decimal](11, 9) NULL,
PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)ON [PRIMARY]
)
AS NODE ON [PRIMARY]
GO

CREATE TABLE [dbo].[LinkedTo]
AS EDGE ON [PRIMARY]
GO

CREATE TABLE [dbo].[On]
AS EDGE ON [PRIMARY]
GO

现在我被困在Between边缘表上,它包含两个城市之间的路线。

EN

回答 1

Database Administration用户

发布于 2018-12-04 12:19:59

SQL Server的图形功能是目前,在新的匹配子句中,它实际上只是一个小的语法糖。不支持任何严肃的面向图形的算法。为了实现您的目标,您将最终使用递归的CTE,这并不能很好地处理匹配问题。虽然解决方案是可能的,但它不会是优雅的。很抱歉成为坏消息的传达者。

为了了解图形设计和算法,我建议从特定的图DBMS开始。Neo4j浮现在脑海中。否则,你将把所有的时间都花在工作上--周旋,永远看不到全局。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/224056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档