重复用户的数据库结构

问题描述

假设我们有一个包含 users.id 和一些数据的“users”表。 我们正在运行一些脚本来识别用户是否与另一个用户重复。没有与其他帐户相关的“主用户”这样的东西。

一旦确定,我们希望以一种简单的方式保存这些用户属于彼此,这将使我们将来可以轻松地对这些用户 ID 运行查询。如“选择用户 X 的所有重复用户”。

我们考虑了一个新表:

duplicate_users
- id
- user_id
- key

对于“users”的每个新条目,我们还将使用随机密钥在“duplicate_users”中创建一个条目。如果用户被识别为重复,他们的键将更新为相同的新值。

这是个好主意吗?这样做的最佳数据库结构是什么?

解决方法

你可以这样做:

Users table
    - usersid
    - username

RelatedUsers table
    - relatedusersid
    - usersid: foreign key to one of the usersid in the users table
    - usersid: foreign key to one of the usersid in the users table

所以你有一个相关用户表。

例如:

Users
    - 1: Joe
    - 2: Jack
    - 3: John

RelatedUsers
    - 1: 1,2
    - 2: 1,3

所以我们知道杰克和约翰与乔有亲戚关系。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...