有一个Book表,它对标题、版本和作者总是唯一的。我希望所有的bookstores都增加他们的书,但不同的书店可以有相同的书,不同的价格。所以我想出了这个桌子设计。

因此,当一家书店试图添加一本书,而这本书已经被另一家书店添加时,当前的书店应该只需填写定价详细信息,而不包括图书详细信息。问题是,如果已经添加的图书细节有一些丢失或不正确的信息怎么办?在这种情况下,当前的书店可以标记,版主或管理员可以修复它。
有什么更好的方法来实现这一点吗?,我一点也不习惯这种设计逻辑。
发布于 2022-04-29 05:32:52
你的设计很有道理。您希望将“静态”信息保存在1个表中,并像以前一样链接“动态”信息。
您的另一个问题与数据完整性有关。您可以在字段上设置“null”条件,以确保所有字段都已归档,但垃圾条目始终是可能的。这是一个普遍的问题。
缓解这一问题的潜在解决办法:
可以选择而不是键入的
BookGenre bookgenreid PK类型CHAR Book bookid PK类型FK,BookGenre.bookgenreid .
因此,您可以将所有可能的类型存储在一个单独的表中,这样您的用户就不会发明新的类型或错误地键入值。作家,国家,.这也使得构建查询变得更加容易,并且避免了像SciFi、科幻小说、. 这样的事情。
”
因此,尽量在数据库和-或应用程序中进行控制。尽量避免自由的文本字段,因为用户总是会想出新的方法来搞砸它。例如。在目前的工作中,我们有一个巨大的项目来标准化无链接系统之间的地址。这是一项涉及人工智能的巨大事业。所有这一切仅仅是因为没有2个人输入的地址完全相同。
https://stackoverflow.com/questions/72028741
复制相似问题