氚云SaaS

    上一篇简要介绍了图数据库的有的中坚内容(初识SQL Server2017
图数据库(一)
),本篇通过相比关系型一些语法来反映图数据库方式的有个别独到之处,比如查询方便,语句易驾驭等。

目录

在图数据库模型上营造查询的优势:

1商厦介绍2

T-SQL
带给图表查询部分新的语法。在SELECT语句中大家有部分非正规的语句来关联点和边。让大家来排练一些,构建查询语句检索发帖和还原,如下:

2氚云SaaS是什么3

  1. 我们摸索每一种记录的几个部分,发帖和还原,因而我们须要在FROM子句中引用两回ForumPosts’表,那些地点能够行使局地有含义的别称:

3氚云SaaS有啥优势4

    

4氚云有何样SaaS应用5

FROM dbo.ForumPosts ReplyPost, dbo.ForumPosts RepliedPost

4.1氚云tERP5

 

4.2氚云CRM6

  1. 固然大家能采纳此外外号,可是在处理图对象时最好接纳有意义的名字。
  2. 大家供给“posts”之间的关联,而以此关系就是表Reply_to’。语法如下:

4.3氚云HR6

    

4.4氚云资金财产管理6

FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost

4.5费控管理7

 

4.6氚云进销存7

  1. 在WHERE
    子句中,我们要求关联全体的表,用上面那种MATCH语句来贯彻关系:

    FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost

    WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost)

4.7OKR7

 

4.8劳动派单8

  1. 本条语法很有意思:“-”破折号表示边的$From_id字段意味着关系,然后“->”破折号和不止号用边的$To_id字段表示关系。
  2. 因为精晓那么些别称有reply,那些别称有replied
    post,大家能够营造1个查询字段列表:

    FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost

    WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost)

4.9品类管理8

 

4.10门店报数8

  1. 在关系型模型中相同功效的查询如下:

4.11顾客关系管理9

select RepliedPost.PostId,RepliedPost.PostTitle,

   ReplyPost.PostId as ReplyId, ReplyPost.PostTitle as ReplyTitle

  from Forum.ForumPosts ReplyPost, Forum.ForumPosts RepliedPost

  where ReplyPost.PostId=RepliedPost.ReplyTo

4.12合同管理9

 

4.13集会管理9

  1. 这个查询很相似,当然MATCH的语法更易于通晓。
  2. 执行完下面语句询问结果如下:

4.14培养管理10

 统计 1

4.15车管10

  1. 我们抬高写这一个回复贴人的名字。要求在FROM子句中添加‘ForumMembers’节点和‘Written_By’其一边。语句如下:

    FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost, dbo.ForumMembers RepliedMember, Written_By RepliedWritten_By

5用户案例(分行业贴logo)11

 

6扶植资料12

  1. 还要添加MATCH语句的内部关系:

 

WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost-(RepliedWritten_by)->RepliedMember)

2 氚云SaaS是什么

氚云SaaS应用是依照氚云PaaS平台所付出的装有可自定义、数据互通、移动化等品质的正业深度应用。各行各业用户在氚云上,就能化解公司做安顿、完善企管、升高职工作功效率、集团执行力等题材。相比于古板的软件,氚云在互连网上运营,用户不再须求独自定制软件、购买硬件,也不要求付出大笔安装与维护开销给软件厂商,客户每月只须付极少的花销竟然免费就足以采纳上的氚云管理选择。

 

统计 2氚云SaaS有如何优势

 

l 任几时间、任啥地点方访问

l 更灵敏的工作响应能力

l 一体化系统

l 更低的选购风险

l 更低的投入

l 更快的特征迭代

 

  1. 那就能够在SELECT列表中添加回帖人的名字,最后的询问如下:

4 氚云有啥SaaS应用

氚云提供贴合公司急需的纵深应用例如:氚云CSportageM、氚云tE纳瓦拉P、氚云pE本田CR-VP,从深度应用到行业方案,我们以氚云平台为底蕴,不断为集团提供深度、全方位的与可定制的军管种类。

统计 3 

-- Posts 、members 和replies

   SELECT RepliedPost.PostId,RepliedPost.PostTitle,RepliedMember.MemberName,

   ReplyPost.PostId as ReplyId, ReplyPost.PostTitle as ReplyTitle

      FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost,

        dbo.ForumMembers RepliedMember, Written_By RepliedWritten_By

   WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost-(RepliedWritten_by)->RepliedMember)

4.1 氚云tERP

简介

氚云tEENCOREP是一套针对商业贸易类企业研制的一套音信解决决方案。产品覆盖从销售、仓库储存、购销、财务、人事、流程管理完全管理。援救集团搭建二个简单、高效的运行管理平台,完成人、财、物、供、销通盘的管制

涵盖成效

统计,√审查批准流程  √销售管制  √购买销售管理  √仓库储存管理  √财务管理 √人事管理  

 

 

 

 

4.2 氚云CRM

简介

氚云CTiggoM扶助销售奇才对销售进程进展田管,从客户开发、外勤,联系人的护卫,客户的跟进,商机的一蹴而就促进到合同的署名成交以及发票、回款等销售生命周期管理。

包罗功能

√公海线索 √客户保管 √外勤跟进 √合同管理 √数据解析 √自定义功效

  1. 在关系型模型中的对应查询如下:

    SELECT RepliedPost.PostId,RepliedPost.PostTitle,

    ReplyPost.PostId as ReplyId, ReplyPost.PostTitle as ReplyTitle,

    RepliedMember.MemberName

    FROM Forum.ForumPosts ReplyPost, Forum.ForumPosts RepliedPost,

    Forum.ForumMembers RepliedMember

    WHERE ReplyPost.PostId=RepliedPost.ReplyTo

        and RepliedPost.OwnerId=RepliedMember.MemberId
    

4.3 氚云HR

简介

氚云HRubicon系统是为商行不断地升级人力能源管理水平和力量而产出的新闻化的支撑和平台。

涵盖成效

√招聘管理 √职员和工人管理 √档案管理 √薪酬条 √数据报表 √流程审查批准

 

4.4 氚云资产管理

简介

氚云资金财产管理首要包含固定资金财产的选购入库、领用出库、资金财产激增、修改、转移、借用、归还、报销、维修等不足为奇管理工科作。各种固定资金财产还足以附加三个资本照片,方便查看贵重物品的图像。当中,资金财产转移、资金财产借用、资金财产维修、资金财产报销完全实现电子化审查批准流程。

带有功用

√资金财产买入 √领用归还 √维修报销 √资金财产盘点 √资金财产总计 √资金财产清单

 

  1. 结果如下所示:

4.5 费控管理

简介

氚云费控管理通过兑现成本的集中管理与实时监察,便于降低公司资金财产、聚焦服务,协理集团加速达成从核算型向管理型转变,通过开支预算制定、预算调整、花费的提请、借款、报废、还款、支付全生命周期管理及流程化审查批准控制,使得公司的资费管理真正落到实处和专业启动。

饱含效能

√ 预算管理  √费用预算执行 √预算分析报表

 统计 4

4.6 氚云进销存

简介

氚云进销存软件通过简单的买进管理、销售管理、仓库管理及财务管理等效果,让每一个用户能够通过最简易的数量录入进而或者最全面包车型大巴报表输出,大大简化了店铺的行事流程,升高了专营商的工效,为专营商的新闻化管理提供了最方便神速的消除方案。

富含作用

√基础数据管理 √仓库储存管理 √财务管理 √采买卖售仓库储存查询 √产品销售周转率

  1. 还不够回复对象的名字。像上边一样扩张‘ForumMembers’
     ‘Written_By’在FROM子句中:

    From dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost,

    dbo.ForumMembers RepliedMember, Written_By RepliedWritten_By,

    dbo.ForumMembers ReplyMember, Written_By ReplyWritten_By

4.7 OKR

简介

OKOdyssey应用是集团开始展览目的管理的3个大约可行的系统,能够将对象管理自上而下贯穿到基层。有别于KIP考核格局,OK瑞鹰是把合适、可衡量的“指标”分解为多少可量化的“关键结果”,从而接济职员和工人实现目的。

包蕴功用

√年度指标  √季度指标  √关键结果  √工作汇报    √绩效分析

 

4.8 服务派单

简介

简短的派单应用。公司在做售后服务时,利用工单系统来化解派单的办事流程,并应用在于公司具有单位,支持公司在做售后服务时,服务好它的客户。

饱含作用

√工单体系 √服务产品 √服务项目  √工单

  1. 接下来,修改MATCH子句,‘ReplyMember’需求关联‘ReplyPost’,只是什么去处理那些关系而不影响别的涉及?需求用差异的点子来实现:

    WHERE MATCH(ReplyMember<-(ReplyWritten_By)-ReplyPost-(Reply_to)->RepliedPost-(RepliedWritten_by)->RepliedMember)

4.9 项目管理

围绕着个人或团体的周期项目,以项目合营的不二法门立刻抓牢工作安插、让主要的花色随时展现进展情状,推进项指标施行!

涵盖作用

√项目材质 √项目报告 √项目促进 √项目晚报

 

 

4.10 门店报数

简介

门店报数应用,能够有效帮扶公司总计门店激活数据。能够解决集团限期的数目报告及集中须要,操作简易上报快、数据自动汇总、层级显著、帮助导出。

包蕴作用

√商品资料 √门店录入  √数据反映  √销售分析

 

  1. 注意这些标记“<-”与前面包车型地铁反倒方向,可是意义是一律的:贰个在边表的$to_id与节点表的关系。
  2. 最后,还需增添写着过来的成员姓名,代码如下:

    — Posts and members and their replies and members

    SELECT RepliedPost.PostId, RepliedPost.PostTitle,RepliedMember.MemberName,

    ReplyPost.PostId as ReplyId, ReplyPost.PostTitle as ReplyTitle,

    ReplyMember.MemberName [ReplyMemberName]

      FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost,
    
        dbo.ForumMembers RepliedMember, Written_By RepliedWritten_By,
    
        dbo.ForumMembers ReplyMember, Written_By ReplyWritten_By
    
      WHERE MATCH(ReplyMember<-(ReplyWritten_By)-ReplyPost-(Reply_to)->RepliedPost-(RepliedWritten_by)->RepliedMember)
    

4.11 顾客关系管理

简介

本着2C类公司的客户关系管理接纳,提供轻量级的客户保管、销售进度管理、市集活动管理和制品质量管理理理等帮扶业务人士经常工作,协理业务职员及时获得客户消息,轻松跟进客户动态。

饱含作用

√市场活动 √顾客保管 √会员资料 √顾客跟进 √服务工单 √销售收款 √统计报表

 

4.12 合同管理

简介

氚云合同管理选用从合同的录入登记、审查批准、履约管理、监控实施、评估、查询、总括等全生命周期的自动化作业方式,完毕了信用合作社合同的规范化管理指标。

含蓄功效

√合同拟定 √合同执行 √合同结算 √合同材料 √合同计算分析

 

  1. 结果集如下:

4.13 会议管理

简介

大致的议会管理使用,帮忙公司升级会议的规范性,成效和质量。

涵盖效能

√会议提请 √会议记录 √会议分析

 

 统计 5

4.14 培养和磨炼管理

简介

大致的构建管理应用,公司建立组织统一的培养流程,协理公司有效有序的组织职员和工人培养和磨炼。

带有作用

√培养和锻炼教授 √培养和锻炼课程 √培养和演练安顿 √培养和练习计算分析

  1. 在关系型查询的照应语句:

    SELECT RepliedPost.PostId,RepliedPost.PostTitle,

         RepliedMember.MemberName, ReplyPost.PostId as ReplyId,
    
      ReplyPost.PostTitle as ReplyTitle, ReplyMember.MemberName
    

    FROM Forum.ForumPosts ReplyPost, Forum.ForumPosts RepliedPost,

       Forum.ForumMembers RepliedMember, Forum.ForumMembers ReplyMember
    

    WHERE ReplyPost.PostId=RepliedPost.ReplyTo

        and RepliedPost.OwnerId=RepliedMember.MemberId
    
        and ReplyPost.OwnerId=ReplyMember.MemberId
    

4.15 车辆管理

简介

氚云车管系统针对中型小型型车队管理人士或集团行管人士使用.系统一切的保管单位每车使用状态及开支景况,达到总计、分析、控制的管理功能。

涵盖效率

√车辆消息 √开车员信息 √用车申请 √车辆费用 √车辆事故 √车辆成本分析
√用车申请分析 

 

5 用户案例(分行业贴logo)

互连网行业

 

食物行业

 

经济贸易行业

 

当局公共关系

 

房地产

 

医药

 

餐饮

 

建工

 

传延宗族创立

 

 

  1. 在这些时候,只怕在关系型方式里面随着关系的加码读取就会越困难,而在图数据方式中MATCH子句绝对就简单很多。让大家看一下在图数据形式中有个别妙不可言又使得的地点。

6 扶助资料

能够透过以下措施便捷取得解答:

在线客服: xxx

劳务电话: 伍仟-899-893

官方网站:www.h3yun.com

论坛社区:bbs.h3yun.com

在线录制:http://t.cn/RiZRAlr

计算每篇帖子的回复数

  SELECT distinct RepliedPost.PostID,RepliedPost.PostTitle,

          RepliedPost.PostBody,

          count(ReplyPost.PostID) over(partition by RepliedPost.PostID)

              as TotalReplies

   FROM dbo.ForumPosts ReplyPost, Reply_To, dbo.ForumPosts RepliedPost

   WHERE MATCH(ReplyPost-(Reply_To)->RepliedPost)

 

在这些讲话中我们计算了每一篇回复的数目,可是偏偏在二个局面中,并不是在整个还原的树结构里面。

根贴(主贴)的列表

咱俩由此上边不利用MATCH的口舌获得全数的根贴:

SELECT Post1.PostId,Post1.PostTitle

  FROM dbo.ForumPosts Post1

  WHERE $node_id not in (select $from_id from dbo.Reply_To

 

MATCH语法只是允许我们提到三个大概愈来愈多的实业(比如三个节点和贰个提到)。当大家只想关联在那之中八个的时候,只须求3个寻常的接连只怕子查询。如下边包车型大巴言语一样。

在结果中添加‘Level’字段

添加八个‘Level’字段,显示树结构。在T-SQL中有1个回顾的语法,叫做CTE达成递归。不过有3个题材,不能够运用MATCH语法在二个派生表上,此时能够使用CTE。如若有必不可少,能够在CTE中应用MATCH,但是反之就万分了,有那样的限制。下边展示一下施用正规的涉嫌仅仅使用CTE来迭代,代码如下:

 with root as

  ( select $node_id as node_id,RootPosts.PostId,

           RootPosts.PostTitle,

           1 as Level, 0 as ReplyTo

     from dbo.ForumPosts RootPosts

     where $node_id not in (select $from_id from dbo.reply_to)

  union all

     select $node_id,ReplyPost.PostId, ReplyPost.PostTitle,

            Level+1 as [Level], root.PostId as ReplyTo

     from dbo.ForumPosts ReplyPost, reply_to, root

     where ReplyPost.$node_id=reply_to.$from_id

           and root.node_id=reply_to.$to_id

  )

  select PostId,PostTitle, Level, ReplyTo

  from root

 

 

追寻三个帖子中的全部回复

采取CTE递归语法,大家能够用一种树结构检索二个帖子的富有回复。要是采用正规的语法不能够在摸索帖子1的时等候检查索贴子3,因为3是对2的东山再起,而2是对1的东山再起。使用CTE.当查询帖子1的有所回复时能检索贴子3。代码如下:

 with root as

  ( select $node_id as node_id,RootPosts.PostId,RootPosts.PostTitle,

           1 as Level, 0 as ReplyTo

     from dbo.ForumPosts RootPosts

     where PostId=1  

  union all

     select $node_id,ReplyPost.PostId, ReplyPost.PostTitle,

            Level+1 as [Level],root.PostId as ReplyTo

     from dbo.ForumPosts ReplyPost, reply_to, root

     where ReplyPost.$node_id=reply_to.$from_id

           and root.node_id=reply_to.$to_id

  )

  select PostId,PostTitle, Level, ReplyTo

  from root

 

大家也可以反过来做,在树状结构中按梯次检索全部父贴。由于CTE不扶助OUTEPRADOjoin,所以要在表面添加,代码如下:

with root as

  ( select LeafPost.$node_id as node_id,LeafPost.PostId,

           LeafPost.PostTitle

     from dbo.ForumPosts LeafPost

     where LeafPost.PostId=3  -- Single post

  union all

     select RepliedPost.$node_id as node_id,RepliedPost.PostId,

            RepliedPost.PostTitle

     from dbo.ForumPosts RepliedPost, Reply_to, root

     where root.node_id=Reply_to.$from_id

           and Reply_to.$to_id=RepliedPost.$node_id

  )

  select root.PostId,root.PostTitle,

         RepliedPost.PostId ParentPostId

  from root

  left join reply_to

       on root.node_id=reply_to.$from_id

  left join dbo.ForumPosts RepliedPost

       on reply_to.$to_id=RepliedPost.$node_id

搜索3个用户全体帖子

询问3个用拥有的音信,与帖子不一样,那不供给树,要简明不少:

--  Peter回复的所有帖子

   SELECT distinct RepliedPost.PostID,RepliedPost.PostTitle,

           RepliedPost.PostBody

   FROM dbo.ForumPosts ReplyPost, Reply_To, dbo.ForumPosts RepliedPost,

        dbo.ForumMembers Members,Written_By

   WHERE MATCH(Members<-(Written_By)-ReplyPost-(Reply_To)->RepliedPost)

   and Members.MemberName='Peter'

  -- Peter发的所有帖子

   SELECT ReplyPost.PostID,ReplyPost.PostTitle,ReplyPost.PostBody,

          RepliedPost.PostId ReplyTo

   FROM dbo.ForumPosts ReplyPost, Reply_To, dbo.ForumPosts RepliedPost,

        dbo.ForumMembers Members,Written_By

   WHERE MATCH(Members<-(Written_By)-ReplyPost-(Reply_To)->RepliedPost)

   and Members.MemberName='Peter'

 

大概你注意到地点七个查询的两样,正是在显示字段上是否选拔DISTINCT。这几个去重是因为Peter回复同多个帖子能够超越一遍。

在模型中检索Likes(点赞)

那些查询是幽默的:‘Likes’边是成员和发帖表的关系。每3个提到都是唯一的,并不受其他涉嫌影响。代码如下:

--点赞的帖子或者被别人点赞的帖子。

  SELECT Post.PostID,Post.PostTitle,Member.MemberName

  FROM   dbo.ForumPosts Post, Likes,

         dbo.ForumMembers Member

  WHERE MATCH(Member-(Likes)->Post)

  -- 点赞的人或者被人点赞

  SELECT Member.MemberId,Member.MemberName LikeMember,

         LikedMember.MemberName LikedMemberName

  FROM dbo.ForumMembers Member, Likes, dbo.ForumMembers LikedMember

  WHERE MATCH(Member-(Likes)->LikedMember)

 

还能很不难地集合音讯,以博得每一种帖子或各个成员的总的Likes。

--每个帖子总的likes

  select Post.PostId,Post.PostTitle,

         count(*) totalLikes

  from dbo.ForumPosts Post,Likes,

       dbo.ForumMembers Members

  where Match(Members-(Likes)->Post)

  group by PostId,PostTitle

  --每个成员总的点赞数select LikedMembers.MemberId,LikedMembers.MemberName,

         count(*) totalLikes

  from dbo.ForumMembers Members,Likes,

       dbo.ForumMembers LikedMembers

  where Match(Members-(Likes)->LikedMembers)

  group by LikedMembers.MemberId,

           LikedMembers.MemberName

 

用户点赞并且恢复生机帖子

大家也足以制造一些更幽默的询问,例如,查找这个点赞并回复的人,如下:

  SELECT Member.MemberName,Member.Memberid,

         LikedPost.PostId,LikedPost.PostTitle,

         ReplyPost.PostTitle ReplyTitle

  FROM dbo.ForumPosts LikedPost, Reply_To, dbo.ForumPosts ReplyPost,

       Likes, dbo.ForumMembers Member, Written_By

  WHERE MATCH(Member-(Likes)->LikedPost<-(Reply_To)-ReplyPost-(Written_By)->Member)

 

注意,对于‘Member’节点使用了三次在同3个MATCH表明式中。那形成了一种过滤:点赞并且有还原的成员,需求在‘LikedPost’和‘ReplyPost’中都有记录才得以。

那便是说在关系型形式中代码如下:

select Likes.MemberId,Members.MemberName

  from Forum.Likes Likes, Forum.ForumPosts Posts,

       Forum.ForumMembers Members

  where Likes.MemberId=Posts.OwnerId

   and Posts.ReplyTo=Likes.PostId

   and Members.MemberId=Likes.MemberId

 

看起来那种写法更难精晓和读懂。

回帖给五个帖子的成员

SELECT Members.MemberId, Members.MemberName,

         Count(distinct RepliedPost.PostId) as Total

  FROM   dbo.ForumPosts ReplyPost, Reply_To, dbo.ForumPosts RepliedPost,

         Written_By,dbo.ForumMembers Members

  WHERE  MATCH(Members<-(Written_By)-ReplyPost-(Reply_To)->RepliedPost)

  GROUP BY MemberId, Members.MemberName

  Having Count(RepliedPost.PostId) >1

 

回帖个叁个帖子数十次的积极分子:

SELECT Members.MemberId, Members.MemberName,

         RepliedPost.PostId RepliedId,count(*) as TotalReplies

  FROM   dbo.ForumPosts ReplyPost, Reply_To, dbo.ForumPosts RepliedPost,

       Written_By,dbo.ForumMembers Members

  WHERE MATCH(Members<-(Written_By)-ReplyPost-(Reply_To)->RepliedPost)

  GROUP BY MemberId,MemberName,RepliedPost.PostId

  Having count(*) >1

 

上述二种语句中唯一的两样正是浮现结果的聚众。

总结

  透过上述创设在图数据形式下的询问和关系,相比较了常规语句以及在涉及方式下的相同查询,不难察觉无论是在易读性,逻辑明白上如故在质量上都有非常的大提升。当然那只是第2个本子,所以难免有广大题材,
下一篇笔者讲介绍那一个版本存在的一局地问题。