假設我擁有出售汽車和摩托車的業務。我想跟蹤每個數據。我的公司爲每輛車提供免費保修,但我們甚至不提供摩托車保修。起初,我想我有兩個表 - 一個「車」表和「保證」表,像這樣如何正確設計此場景的數據庫模式
Vehicles Warranties
VehicleID, SalePrice, VehicleType, WarrantyID WarrantyID, EffDate, ExpDate
哪裏VehicleType或者是「車」或「摩托車」。我的缺點是,在車輛表中,每輛摩托車都會有「WarrantyID」的空值。這會被認爲是不好的做法嗎?
另一種方法,我認爲是用三個表像
我的缺點這是我分離摩托車和汽車爲兩個表,幾乎將是相同的。 (實際上,他們會有更多的領域,比如購買成本,里程等等)。唯一的區別是所有的汽車都有保修服務,並且不會有摩托車保修。
(注:我也做的是2或3輛汽車可以共享一個單獨的保修的假設。)
什麼是建立這個數據庫的正確方法?
我認爲第一種方法很好。如果車輛沒有,請保留null。你沒有違反任何規範化規則。 – dewd
你爲什麼假定不止一輛車可以享受同樣的保修? – buritos
你說:_「我也在假設2或3輛車可以共享一個保修單。」_。反之亦然嗎?一輛車可以有多種擔保? –