• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iphone - 核心数据关系

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:49:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在我的应用程序中有 N 个用户。每个用户可以有 N 个类别。每个类别可以有 N 个书籍

我创建了以下实体图书元数据、用户、类别

BookMetadata 实体是来自不同用户的书籍数据的唯一集合。

如何在这些实体之间建立关系。

- 用户和类别之间的关系。(一对多)用户和书籍(一对多,一个用户可以拥有一本或多本书籍)。

类别和书籍之间的关系。(一对多)。

enter image description here

我对实现这些关系的理解是否正确,我在 CoreData 中创建关系方面相对较新。 如果没有或有更好的解决方案,请告诉我该怎么做。

编辑:

考虑这种情况,

User 1 -> Category 1 -> Book1,Book2.
       -> Category 2 -> Book3, Book4.

User 2 -> Category 1 -> Book1,Book2,Book3.
       -> Category 3 -> Book4

Here 在上述场景中。同一本书(书 3)针对不同的用户具有不同的类别。 这种情况如何处理?

编辑 2:

我附上了一个示例 sqlite DB 文件@dropbox https://www.dropbox.com/s/nlmdojkk64bkf1b/test.sqlite .



Best Answer-推荐答案


作为惯例,实体应命名为单数。相对于它们的关系,关系应命名为复数或单数。

根据给定的信息,假设类别是由用户创建的,用于对书籍进行分组,如播放列表或其他内容。类别对用户来说是唯一的,并且不会在用户之间共享。一本书可以包含在任意数量的类别中。

所以这会变成

用户<-->>分类

类别 <-->> 书籍

书籍< -->> 分类

关系应该有两个方面。 Inverse 让你定义它。如果一个用户可以有任意数量的类别,而一个类别只能有一个用户。与类别相反的是用户。

enter image description here

关于iphone - 核心数据关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17147571/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap