Database design 用于从列表中选择主元素的数据库设计
用户有一个书籍列表,但只有一本书可以显示在他的个人资料上,因为他应该选择它作为他最喜欢的书。我如何设计我的模式,将一本书设置为“本书” 如果在book实体中有一个字段Database design 用于从列表中选择主元素的数据库设计,database-design,Database Design,用户有一个书籍列表,但只有一本书可以显示在他的个人资料上,因为他应该选择它作为他最喜欢的书。我如何设计我的模式,将一本书设置为“本书” 如果在book实体中有一个字段isfavorite,则所有书籍都可以标记为Favorite。如果我将收藏夹设置为1,我必须检索他最喜欢的书并将其取消标记为收藏夹(3次数据库调用) 如果我有一个引用某本书的偏好实体,我可以将该书设置为最喜欢的书 User -< Preferences >- Book >- User User -< Book
isfavorite
,则所有书籍都可以标记为Favorite。如果我将收藏夹设置为1,我必须检索他最喜欢的书并将其取消标记为收藏夹(3次数据库调用)
如果我有一个引用某本书的偏好实体,我可以将该书设置为最喜欢的书
User -< Preferences >- Book >- User
User -< Book
User--Book>-User
用户-
你是如何完成这些事情的?我还缺少其他方法吗?哪一个是最好的?我使用代码优先实体框架,因此我对模型进行了编码。三个表/模型
Users
Books
UserBooks (join table, user id and book id, and favorite flag)
用户和书籍之间存在一对多的关联
与第三个表中的favorite标志不同,您可以有一个参考用户(以及他们最喜欢的书)的preferences模型,但这取决于您希望在其中放置的其他内容,以及这是否可取或看起来如何