第二部分问题:
第一
考虑到以下场景,设置表/关系结构的最佳方法是什么:我有许多表存储不同类型的数据(例如:书籍、电影、杂志-每个表都不同),然后有一个表存储可以链接到任何表类型的评论。因此,review表中的一行可以链接到books或magages表。
现在的情况是,有第三个表定义了可用的表并给它们一个id号。最终,从评论到书籍都没有真正的关系。这是最好的方法吗?
第二
如何在实体框架中表示伪关系?我可以做一个连接3个表的查询,但是有没有方法在表映射中对其建模呢?
最佳答案
另一种思考方式是将书籍、电影、杂志视为可审查项目的子类型。他们可能有一些共同的特点-如果不了解你的问题领域,很难确定。此方法的优点是,您可以将审阅建模为可审阅项的依赖项,从而为审阅提供一个单独的表和一个可执行的关系。
编辑
是的,这就像在oo范式中扩展类型一样。您不会说您打算使用哪种类型的数据库,但this article by Joe Celko显示了如何在sql server中使用它。同样的实现在oracle中也能工作,我希望它也能在大多数其他rdbms产品中工作。