使用类似于airbnb和ebay的用户建模

时间:2016-08-31 08:36:26

标签: database-design

我计划实施类似于Airbnb的系统,其中一个注册用户可以发布住宿以及预订住宿。或者在Ebay术语中,一个注册用户可以将商品作为卖家发布,但她也希望在使用相同的详细信息登录时购买其他商品。 现在我想到了可能的方法:

  1. 每个用户都有一个属性,可以保持其买方或卖方的状态。那么问题是,如果我希望用户也购买,但她已获得卖家的初始状态,那么该用户如何才能成为买家?

  2. 我会创建一个父类User,它将保存用户的所有一般细节(名称,地址等),然后将User子类化为买方(或Airbnb中的RentingPerson)和另一个卖方(或者房东)制作的Airbnb)。在我的数据库中有这三个类别的三个表。那么问题是,如果用户注册为买方(继承自用户)那么又如何成为买方呢?

  3. 哪种方式会更容易?你会如何以图解方式表示? 或者有更好的方法吗?

    干杯!

1 个答案:

答案 0 :(得分:0)

在这种情况下,我使用KISS方法:)

用户可以是买家,卖家或两者,具体取决于他分配的角色。因此,从技术上讲,所有用户都可以随时使用,但是您“隐藏”了他们没有权利的应用程序部分。

因此,您需要的是一组角色,用于在应用程序中分离未注册,卖家,买家,两者等。通过这种方式,您可以轻松切换模式(当您输入信用卡时成为买家,当您验证公司地址和信用卡时成为卖家等)。