SQL Server 2017 图形数据库的应用

本文通过对比SQL Server 2017图形数据库与neo4j,展示了如何利用SQL Server进行‘新冠病毒疫情扩散’的分析。涉及设计模型、创建节点和边界表、结构图的构建以及查询分析,揭示了SQL Server图形数据库在疫情数据分析中的应用。
摘要由CSDN通过智能技术生成

“新冠病毒疫情扩散”分析-—sql server图形数据库

将一个例子:使用neo4j图形数据库实现的关于“新冠肺炎传染病疫情扩散” 数据分析,使用SQL Server图形数据库来实现。
下面是使用neo4j实现的相关网页链接:

链接: http://neo4j.com.cn/topic/5e351e365d35814e52e2d228.

设计模型

传染病疫情扩散总体来看是一个带有有限个根节点的树状数据结构,但考虑到人员交叉感染、场所和交通工具的
重复使用,传染病疫情扩散又呈现复杂的网状关系,因此考虑采用图数据库作为数据存储、查询、分析工具。
设计目的:假定6个人员的出行记录,包括交通工具、达到过的场所,其中2个感染人员。
对里面的人员进行查询分析,是否接触感染者,或者感染者所到过的地方,所使用过的交通工具。

--这里展示创建节点表和边界表里面各自包含的字段
人员Person节点表:P{
   id,name,sex,birth,home,tel,infected}
交通Transportation节点表:T{
   id,num,name,type}
场所Situation节点表:S{
   id,name,address,latlng,type}
人员->交通边界表:goby{
   gbegintime,gendtime,gposition}
人员->场所边界表:saty{
   sbegintime,sendtime,sposition}
交通->场所边界表: via{
   }

在这里插入图片描述

创建节点表并插入节点数据

--首先创建一个数据库:ncoc
CREATE DATABASE ncov;
go
USE  ncov;
go
-- 创建节点表(AS NODE:声明为 NODE表)
CREATE TABLE P (
  ID INTEGER PRIMARY KEY, 
  name VARCHAR(10),
  sex varchar(10),
  birth varchar(10),
  home varchar(50),
  tel varchar(20),
  infected varchar(5)
) AS NODE;
go
CREATE TABLE T (
  id INTEGER,
  num varchar(50), 
  name VARCHAR(50), 
  type varchar(20)
) AS NODE;
go
CREATE TABLE S (
  id INTEGER,
  name VARCHAR(50), 
  address VARCHAR(100),
  latlng varchar(20),
  type varchar(20)
) AS NODE;
go
-- 插入节点数据(其中刘一和陈二为感染者)
INSERT INTO P VALUES (1,'刘一','男','960101','山东省潍坊市奎文区','15000000001','1');
INSERT INTO P VALUES (2,'陈二','男','960102','山东省潍坊市潍城区','15000000002','1');
INSERT INTO P VALUES (3,'张三','男','960103','山东省潍坊市坊子区','15000000003','0');
INSERT INTO P VALUES (4,'李四','女','960104','山东省潍坊市寒亭区','15000000004','0');
INSERT INTO P VALUES (5,'王五','女','960105','山东省潍坊市临朐县','15000000005','0');
INSERT INTO P VALUES (6,'赵六','男','960106','山东省潍坊市安丘县','15000000006','0');
go
INSERT INTO T VALUES (1,'鲁G0001','张三的私家车','PrivateCar');
INSERT INTO T VALUES (2,'鲁G0002','5路','Bus');
INSERT INTO T VALUES (3,'G-325','青岛-北京','Train');
INSERT INTO T VALUES (4,'京A0004','北京站-中关村','Bus');
INSERT INTO T VALUES (5,'海南航空HU7370','潍坊-上海','aircraft');
INSERT INTO T VALUES (6,'鲁G0003','2路','Bus');
INSERT INTO T VALUES (7,'鲁G0005','3路','Bus');
go
INSERT INTO S VALUES (1,'张三家','山东省潍坊市潍城区潍坊奎文区健康街108号A802','36.1245,21.7895','home');
INSERT INTO S VALUES (2,'潍坊火车站候车厅','山东省潍坊市潍城区潍坊火车站二楼候车厅', '36.1245,21.7895','WaitingHall');
INSERT INTO S VALUES (3,'北京火车站出站通道','北京市东城区毛家湾胡同甲13号', '36.1245,21.7895','route');
INSERT INTO S VALUES (4,'北京大学3号宿舍','北京市海淀区颐和园路5号', '36.1245,21.7895','Dormitory');
INSERT INTO S VALUES (5,'潍坊飞机场候机厅','潍坊市奎文区机场路1号','36.1245,21.7895','WaitingHall');
INSERT INTO S VALUES (6,'潍坊飞机场进站通道','潍坊市奎文区机场路1号', '36.1245,21.7895','route');
INSERT INTO S VALUES (7,'上海飞机场出站通道','上海市长宁区虹桥路2550号','36.1245,21.7895','route');
INSERT INTO S VALUES (8,'李四家','山东省潍坊市潍城区潍坊潍城区福寿街108号A102', '36.1245,21.7895','home');
INSERT INTO S VALUES (9,'天津火车站出站通道','天津市河北区新纬路1号','36.1245,21.7895','route');
INSERT INTO S VALUES (10,'王五家','山东省潍坊市潍城区潍坊奎文区幸福路08号A802', '36.1245,21.7895','route');
INSERT INTO S VALUES (11,'紫荆酒店','山东省潍坊市潍城区潍坊高新区幸福路08号A802', '36.1245,21.7895','route');
INSERT INTO S VALUES (12,'德州火车站出站通道','德州市德城区迎宾大街甲1号','36.1245,21.7895','route');
INSERT INTO S VALUES (13,'王慧家',&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值