【发布时间】:2013-12-08 22:48:05
【问题描述】:
我需要一些数据库设计方面的帮助。我是一名专业的 FE 开发人员,只处理过非常基本的数据库。我刚刚开始涉足更“高级”的网络应用程序,并希望为架构提供一些正确方向的指针。
我正在寻找的是一个基本上可以链接两个帐户的帐户系统。我会给你我想象中的场景。
用户以常规方式注册,为简单起见,只需提供姓名、电子邮件、密码即可。注册后,用户可以通过输入其他用户的电子邮件并让其他用户接受,将他们的帐户链接到其他用户。
创建此链接后,两个用户可以一起 CRUD 任务。
我正在努力解决的问题是如何在两个用户之间创建链接。我显然有我的用户表。
USERS:
id
name
email
password
现在,我认为我需要创建另一个表来保存两个关联的帐户,该表具有自己的唯一 ID,我们可以将其用于 CRUD 任务。比如:
LINKED_USERS:
id
user1id
user2id
verified
TASKS
id
lu_id (FK, Linked_Users id)
// Any other fields for the two combined here.
这是正确的吗?如果是这样,我将如何设置 users 表和 linked_users 表之间的关系?这是让我感到困惑的一点,因为我需要关系来引用两个用户 ID。假设我想显示 user1id 和 user2id 名称,这种关系将如何工作?只是真的需要一些帮助来解决这个问题。
我希望这是有道理的,如果您需要更多信息,我会编辑问题。
提前感谢您的帮助!
【问题讨论】:
-
外键“lu_id”将一个任务关联到正好 2 个人。 3 个用户可以一起完成一项任务吗?
-
在这种情况下不是。永远只有 2 个人 :)
-
一个人是否只与另一个人有联系?或者一个人也可以有其他链接?另一个问题……一对可以拥有一个或多个任务?
-
一个人只能与另一个人联系 :) 在回答您的另一个问题时,一对只能拥有自己的任务,但其中很多。例如,如果我与您联系在一起,我们可以创建、读取更新等……就像我们自己创建的许多任务一样,但我们无法访问甚至查看另一对已完成的任务。希望这是有道理的!
标签: sql database database-design