2014-01-27 34 views
0

我正在爲當地汽車經銷商建立數據庫。停止在數據庫中重複開始行數據

客戶希望查找服務計劃的下鑽選項,我正在努力研究邏輯。

所以基本上用戶做的第一件事就是選擇車輛模型,則一年的傳輸,然後KM的/邁爾斯(此數據用於定位服務計劃):

enter image description here

這是通過填充數據庫中的值的下拉菜單完成的。

現在每項任務的服務計劃定價都會根據KM/Miles進行更改,而車輛之間的定價並不相同。

所以視覺上看起來是這樣的:

enter image description here

所以第4列(型號,年份,傳輸,KM的)都爲下拉菜單和它的這些值是確定哪些服務計劃值使用(是的,有些車名重複,因爲有自動或手動傳輸,如上表所示 - 我需要確保它們不會在下拉列表中重複出現)。

現在我想知道是怎麼做的我在MySQL奠定了這一點,用PHP查詢工作,我會

填補所有空白單元格重複的數據,例如

enter image description here

以某種方式使用規範化(有人向我建議)不幸的是,我是數據庫的新手,不太清楚如何工作,我意識到這意味着有更小的r電子表格,但我不太瞭解邏輯。

+0

如何將數據存儲在分貝中...您是否有2個差異表格或多個表格......表格中的關鍵字段是什麼... – ankur140290

+0

我還沒有創建它我是在我開始之前試圖想象如何構建它。 –

+0

通過查看你的表格,我可以說你應該製作兩個表格:'Sr.No. - >型號 - >年份 - >傳輸'和其他'高級否 - >公里/英里 - >油...等'。然後,您將不得不將兩個表與sr.no(索引字段)映射。 – ankur140290

回答

0

你可以有表,如下圖所示:

enter image description here

從而爲你解釋,你可以編寫查詢來提取您需要的數據。

+0

謝謝!!!!!! –

+0

u歡迎...;) – ankur140290

0

正如有人建議,如果您希望數據庫具有數據完整性並能夠適應變化,則需要對數據庫進行規範化。你想爭取至少第三範式(3NF)

開始理解規範化,因爲你會很難建立一個沒有它的好數據庫。 http://en.wikipedia.org/wiki/Database_normalization

您至少需要將其分成兩個表格。我會建議一個Vehicle表,其中包含一列Model,Year,Transmission,KM/Miles(所有車輛屬性),然後Service Plan表具有服務計劃屬性。 Vehicle表可能會有一個服務計劃列,該列有外鍵約束,映射到Service Plan表(Service_Plan_ID)的主鍵。這樣,當你問車輛X時,你將得到一輛車輛映射到的服務計劃的映射。

+0

因爲KM的是什麼確定使用哪個服務計劃,我可能將其放在服務計劃表上? –

+0

絕對不是。你沒有在數據庫中做邏輯。您只需創建一個實體並存儲關於該實體的屬性。一輛車上有KM /里程。不是服務計劃。 –

+0

標準化的一部分是表格上的每一列應該是描述該實體的東西 –