无限级分销系统数据库表设计

Posted w3liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无限级分销系统数据库表设计相关的知识,希望对你有一定的参考价值。

 

 这次分享的内容很简单,就是一张表的设计思路。

一、背景

在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D。那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请人数就是1个。除此之外,还要能统计出A直接邀请人数,A下一级邀请人数,A下二级邀请的人数,以此类推。

二、实现

首先是用户注册信息表UserInfo需要增加一个ParentId字段。

然后,新建一张层级关系表TeamLevel,表结构如下:

CREATE TABLE `teamlevel` (
  `Id` bigint(20) NOT NULL,
  `UserId` varchar(50) DEFAULT NULL COMMENT ‘用户Id‘,
  `ParentId` varchar(50) DEFAULT NULL COMMENT ‘推荐人Id‘,
  `Level` int(10) DEFAULT NULL COMMENT ‘层级‘,
  PRIMARY KEY (`Id`)
)

1.在注册的时候需要往这张表插入数据,比如D推荐E来注册,就需要往库里插入如下记录:

技术分享图片

2.有了这些记录之后,查询统计就方便多了,用户的层级关系也一目了然。

以上是关于无限级分销系统数据库表设计的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL无限级分类表设计及自我连接

MySQL技巧——无限级分类表设计

[收集] 各式各样的 无限级分类 的数据库设计方案

MySQL基础入门学习无限级分类表设计

FreeSql 使用 ToTreeList/AsTreeCte 查询无限级分类表

无限级菜单简单的设计