小怪獸愛(ài)吃肉
2019-08-19 16:58:39
如何創(chuàng)建多個(gè)一對(duì)一的我有一個(gè)設(shè)置了許多表的數(shù)據(jù)庫(kù),除了一點(diǎn)之外它看起來(lái)都很好......Inventory Table <*-----1> Storage Table <1-----1> Van Table
^
1
|-------1> Warehouse Table由于Van和Warehouse表相似,因此使用了Storage表,但如何在Storage和Warehouse / Van表之間創(chuàng)建關(guān)系?因?yàn)榇鎯?chǔ)對(duì)象只能是1個(gè)存儲(chǔ)位置和類(lèi)型,所以它們需要為1比1。我確實(shí)有Van / Warehouse表鏈接到StorageId主鍵,然后添加一個(gè)約束,以確保Van和Warehouse表沒(méi)有相同的StorageId,但這似乎可以做得更好。我可以看到這樣做的幾種方法,但它們都顯得不對(duì),所以任何幫助都會(huì)很好!
3 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
如你所說(shuō),有很多解決方案。我建議從最簡(jiǎn)單的解決方案開(kāi)始,然后在性能或存儲(chǔ)成為問(wèn)題時(shí)進(jìn)行優(yōu)化。最簡(jiǎn)單的解決方案(但在存儲(chǔ)方面不是最佳的)是使存儲(chǔ)表具有存儲(chǔ)類(lèi)型的列(指示行是代表貨車(chē)還是倉(cāng)庫(kù)),還有Van屬性列和Warehouse屬性。在表示Van的行中,Warehouse屬性的列都將為null。在表示W(wǎng)arehouse的行中,Van屬性的列都將為null。
這樣,您減少了表的數(shù)量,并使您的查詢(xún)保持簡(jiǎn)潔。如果存儲(chǔ)變得緊張,請(qǐng)準(zhǔn)備好重新審視您的決定。

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
在某種程度上,在我看來(lái),庫(kù)存物品可能會(huì)改變位置,所以我會(huì)選擇這樣的東西。
添加回答
舉報(bào)
0/150
提交
取消