我有3张桌子。 A,B和C。
A可以有很多B,而B可以有很多C。
所以我从A到B建立了一对多的关系,在B上有A_id。
我从B到C建立了其他一对多的关系,在C上有B_id。
所有操作均安全无虞。生活是美好的,直到 有时候我需要批量插入表C。我也必须向C插入B_id。
我的问题是,如果我包含A_id,可以吗? 在C表中,以帮助查询C中的数据,因此在实际获取A的数据之前,我不需要先从B中获取数据。
很抱歉,这有点令人困惑。如果需要,鼓励进一步编辑以更好地进行类比。 任何帮助将不胜感激。
答案 0 :(得分:1)
没关系,如果您知道自己在做什么,并且可以证明它是合理的。这称为反规范化。请记住,如果更改表B中的A_ID,则也必须在表C中的相应行中也对其进行更新。如果您觉得不方便-那么您不应该将A_ID引入表C中,而应该通过联接到表B来派生它。