我希望在休眠中实现一个在线库。这是我的 sql 架构:
在书籍和编程书籍之间,我正在考虑对每个加入的子类使用类型表的休眠继承。我以这种方式设计了 sql 模式,因为我看不到在 10 个表中重复相同的列的意义。也许我需要添加一个更常见的列,我不想在 10 个表中这样做。但这意味着每当某处需要一本书时,所有子表之间都会建立一个巨大的连接(我只有 2 个,但我可以有 50 种书籍类型!!!)。例如,如果我有一家网上商店,同样的情况也适用:我会有产品、电视、笔记本电脑、电话等......)。
什么设计可以帮助我避免这种行为?
我的想法是:
- 我可以复制所有子表中的所有列,因此,根本不使用继承,将它们视为不同的实体。这里唯一的事情是我将不得不绑定其他表(作者等)的每个特定书表
- 我可以避免使用继承,保留当前的 sql 模式但使用单向关联( ProgrammingBook 有 Book 等)
你们推荐什么选择?
亲切的问候,