【问题标题】:Android room schema relationAndroid房间架构关系
【发布时间】:2019-07-19 04:49:21
【问题描述】:

使用我的 android 房间数据库,我有 2 个表:orderservice,其中服务是:按摩、理发或水疗。一个订单可能有 1 个或多个服务,我希望我的服务表只有 3 个不同的服务。这样做的正确方法是什么?

我应该使用join 吗? Foreign key? @relation? embed?

我不希望我的订单表中有任何服务副本,因为服务的详细信息/价格可能随时更改。

【问题讨论】:

    标签: android sql schema android-room relation


    【解决方案1】:

    您应该只对一对多关系使用外键(一个订单:多个服务)。 This 可以帮助你,here 是官方文档。

    【讨论】:

    • 我在发布这个问题之前检查过。这些帖子中的大多数建议将关系 id 存储在子项中(在我的例子中是服务),所以如果我有 2 个具有相同服务的订单,我需要在表中提供 2 个服务。我想反过来做,我只有固定数量的孩子(服务),并且在父母中有 ID(在我的情况下是服务)
    • 那么你需要 M:N 关系。一张订单表,一张服务表和一张链接它们的表。在这种情况下,如果它只重复存储一次,您可以拥有一项服务。巡回演出并不好,因为服务的数量可能会增加,然后您就会遇到问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2019-02-06
    相关资源
    最近更新 更多