2013-05-21 17 views
1

我正在嘗試爲我的表設置一個設置,這對我來說似乎更簡單,但我沒有設法找到合適的方法。mysql如何最好地建立關係是一個到幾個的表格

這是後車的銷售成本來計算,每個車輛將接收各子組的服務的一個從價目表,以彌補後銷售成本總額。

請參閱下面的場景:

表AfterSalesPriceList會是這樣:

as_id as_description  as_value 

1  service kit1   1000 
2  service kit2   1500 
3  service kit3   2000 
....... 
10  repair kit1   5000 
11  repair kit2   8000 
12  repair kit3   9000 
..... 
21  pneu 1    1500 
22  pneu 2    2500 
23  pneu 3    4000 
..... 
31  battery 1    500 
32  battery 2    800 
33  battery 3    1000 

現在,在另一個表?我將使這些服務的每個車輛將receive.Each車輛都必須有一個和服務,維修,PNEU,電池等各項目只有1個,就像在一個表VehicleAS:

vehicle_id 1 service kit1, repair kit 2, pneu 3, battery 1 
vehicle_id 2 service kit2, repair kit 2, pneu 1, battery 2 
etc..... 

當然,這在mysql中不起作用,至少據我所知。

有沒有辦法做到這一點在MySQL無需掰開表後在多個表中,每個子集(一個用於服務,另一個用於維修,另一個用於電池等)銷售。

它必定會與爆炸的AfterSalesPriceList表的工作,但我試圖使它似乎什麼我更合乎邏輯的,即具有畢竟銷售價格在一個表中。

謝謝

回答

1

這是一對多的關係。兩個表都有主鍵。子/許多表將具有一個FOREIGN KEY列,其值將指向父/一個表中的主鍵。

你會發現所有的做一個JOIN上父主鍵和孩子外鍵屬於母公司的孩子。

+0

謝謝duffymo。我相信你和傳奇都讓我走上了正軌,但我以最初出現的方式給你結果。 – BernardA

1

AfterSalesPriceList似乎沒問題。

你的另一個表VehicleAS但是可以有

vehicle_id, as_id FOREIGN KEY (as_id) REFERENCES AfterSalesPriceList(as_id) 

它可以有一個vehicle_id它已經使用的每個服務的多個行。

+0

感謝傳奇人物,我並沒有完全明白爲什麼或者我會在列參考中。表VehicleA的主鍵是一個結合vehicle_id和as_id的2列,對嗎? – BernardA

相關問題