2011-02-10 65 views
0

在建立一個MySQL數據庫,認爲我有一個產品表(tblCar)命名爲:數據庫表佈局

  • 跑車
  • 轎車
  • 小巴
  • 卡車

以及(1980年代)配件清單:

  • 天窗
  • 鍍鉻輪轂
  • 窗口色調

和選項列表:

  • 油漆顏色
  • 室內裝飾
  • 內飾顏色
  • Blu- Ray player in-dash

現在,讓我們設置一些基本規則:

  • 跑車可以從任何配件可供選擇
  • 轎車可以從任何附件選擇,但不提供藍光選項
  • 小巴有窗口色調作爲附件,可以從所有選項中進行選擇
  • 卡車只有鍍鉻輪轂,色調配件和只有油漆選項

我需要一個tblCar設置,這很清楚。但是,如何管理tblAccessoriestblOptions的表格,而無需重複訂單項本身。讓我們假設,我只想對配件和選項,而不是價格,因爲這些描述信息肯定會爲他們安裝在汽車不同。

請問這是tblAccessoriesHelper的情況下保存的值的列表carID and accessoryID這兩個應該在哪裏見面還是有更好的方法?

回答

0

你必須結表,加入該兩人一起

tblCar 
tblAccessories 
tblOptions 
tblCarAccessories 
tblCarOptions 

存在使用前綴「JCT」如果你正在使用命名「TBL」表另一個命名約定。我會命名的表

Car 
Accessory 
Options 
CarAccessory 
CarOptions 

(用單數形式的名稱表,但「選項」是特殊的,因爲「選項」可以在某些DBMS預留/特殊字)