2012-11-16 36 views
0

我試圖創建一個相當複雜的數據庫,我的電子表格的結構如下:MySQL和phpMyAdmin的創建三方關係

  Colour Dashboard 
     --------------------- 
Porche | Red  1 
     | Green 2 
     |   3 
     |-------------------- 
Toyota | Blue  2 
     | Red 
     | Orange 
     |-------------------- 
Ferrari | Green 3 
     | Orange 
     | 

我竭力要明白,我怎麼可以創建鏈接的表,以反映這個結構。

對於每個「品牌」,用戶將不得不從一些特定的「定製選項」中選擇汽車的各個「方面」。我希望能夠爲每個「方面」定義哪些「定製選項」可用,因爲並非所有品牌都可以從相同的選項中選擇。

我該如何最好地爲此場景構建數據庫?

感謝,C

回答

2

我會做這樣的事情:

  • 汽車(名稱PK)
  • 顏色(名稱PK)
  • 儀表板(同上PK)
  • Cars_Colors(Car_Name FK(Cars.Name) ,Color_Name FK(Colors.Name))
    與複合PK(Car_Name,Color_Name)
  • Cars_Dashboards(Car_Name FK(Cars.Name),Dashboard_Id FK(Dashboards.Id))
    與複合PK(Car_Name,Dashboard_Id)
+0

現在嘗試這個,我不知道複合PK是可能的。謝謝! –

+0

@CaiusEugene你總是可以使用代理鍵代替(比如自動增量),但是我沒有看到除了每行中的額外整數以及自己添加唯一約束的開銷之外,還有什麼可以獲得。 –

0

創建領域dashboard_num, car, colour儀表盤表。展示選項時,您可以將其用作參考。

+0

有關更完整的描述,請參閱@ lc。的答案。 –