小编Req*_*que的帖子

如何模拟 (a) 物业与业主之间以及 (b) 物业与租户之间的关系?

我有一个数据库设计,但在处理两个表时遇到了问题。我有一个用户表和一个属性表。该属性表可仅具有0,1,或2个用户,让我们称他们的所有者和租户,并且仅在每个中的一个(每属性),和一个用户可以是雇主或在许多房客属性

因此,根据案例,这是我的两个选择:

  1. Properties表中有两个外键(因为一个属性引用的最大用户数是 2 而不是 N),称为 owner_id 和tenant_id,它们引用了Users表。
  2. 有一个 N:M 中间表,包含 user_id 和 property_id,以及指示该属性中用户类型的另一列(比如布尔值 1 = 所有者,0 = 租户)。

哪个是最好的设计选择?

说明

  • 一个用户有一个姓名和电子邮件,以及财产一条街以及其作为属性数。
  • 一个用户可能只是在业主或租客财产,而不是两个,因为所有者意味着他拥有的财产(阉,他住在这里与否),与租客是另一个用户实际上生活在那里的,所以需要有一个老板在添加租户之前。
  • 一个属性可能没有用户分配。

mysql schema database-design

6
推荐指数
1
解决办法
1075
查看次数

标签 统计

database-design ×1

mysql ×1

schema ×1