我有點猶豫不決關於某個特定數據庫表結構,這裏的情景:數據庫表設計的問題(簡單)
我有一個「發票」表,發票可以作爲一個「產品」或對於「服務」(產品在桌子上,服務在單獨的桌子上)。
將發票鏈接到其中任何一種方式的最佳方式是什麼,還允許添加更多選項?如果它是唯一的一個產品的發票,該表的設計是:
id, product_id, amount
但什麼是此方案的最佳方式?我在想這樣的事:
id, source_id, invoice_type (product or service), amount
但我認爲這可能不是一個好主意。
+1畢竟如果以後開始找東西所特有的服務發票,說是「特殊服務稅」,你可以添加一個invoice_service_detail tableor的東西,有根據需要INVOICE_ID,然後等領域(加上它自己的ID當然)。 –
(更新後)是vol7ron的方式更靈活,可擴展,烘乾機等,哪種方法取 - 1代額外的表明確表將取決於你的需要/。如果它是ORM基於Web的系統的一部分,則可以使用一個表,但是會分離從中派生出的對象。 –
是的,我會想相同的,但數據是完全一樣的,唯一的區別是類型...所以1臺似乎是一個更好的option..but我當時想,如果我想錶鏈接到一個使用外鍵父表,我不能這樣做,(如果我沒有記錯的話)......因爲我使用它在不同的情況下,可以參照不同的表相同指數... –