在关系数据库

时间:2015-10-08 01:48:02

标签: database relational-database database-schema

我正在为模式建模表。我有以下疑问,这是模拟这个的最佳实践。

我有一个产品(表产品),一个产品可以包含几个产品,例如,一个产品车,可以有四个轮胎。另一方面,产品也可以与多层产品相关,例如,汽车可以具有可以具有多个灯的板。在最后一个示例中,存在三个级别,但级别数未知。

我的第一个问题是,这是建模的最佳做法吗?

有没有办法没有循环关系?我的意思是,如果产品A有产品B,而产品B有产品A,那么就有一个回路

提前谢谢

1 个答案:

答案 0 :(得分:1)

对于简单的情况,自引用表可以正常工作,但正如您所建议的那样,如果有太多级别,可能会变得讨厌(并且表现不佳)。

一个考虑因素是您可能过度概括了您的问题域。以同样的方式处理汽车及其部件真的有意义吗?部件之间的关系是否与您要解决的问题相关?在实践中,循环场景是否可行?

很难在不了解您要解决的问题和约束的情况下建议架构。