2017-12-27 1521 views
-2

MYSQL數據結構我建了一個每日報告申請24個位置的汽車經銷商集團。每個地點的經理每天都可以輸入銷售的新車和二手車。數據生成每日,週末和每月帝國範圍的銷售報告。用於日常報告

我用兩個表

  • dealerships (id, dealership_name)
  • daily entries (dealer_id, entry_date, new, used).

,一切工作正常。

現在,他們想擴大報告,包括字段,諸如毛利,每天都有機會,試駕,銷售的保證,售出報警。他們希望看到每個商店的每日和每月報告,而不僅僅是帝國總數。

我應該使用單獨的表對每家經銷商,或者我可以繼續使用一個表的所有經銷商。如果我堅持使用單個表格,似乎每次我想爲單個商店生成報表時,都必須搜索整個數據庫。隨着時間的推移,表格尺寸增加,這不會最終影響性能嗎?

+1

他們,你問我們的意見,而不是解決問題...這應該被關閉 –

+0

這完全取決於你的索引,外鍵等信息。除非每一天都有多個記錄用於測試驅動器,毛利等,否則您應該將其存儲在日常條目表中,並確保其正確優化。否則,你正在存儲冗餘數據。 – BenM

回答

0

不要使用表中的每個經銷店,這不是數據庫的設計方式。表保存來自相同類型實體的數據,而不是同一實體的不同實例。一張經銷商表格和另一張日常報表就足夠了。你可以只改變daily_reports表中添加新的領域,並開始將數據添加到他們。

不要擔心表規模越來越大,這就是數據庫天生就是做:處理數據。您可以通過創建一個綜合報告表(montly_reports,例如),將所有的每日報告有之,並在一段時間後修剪daily_reports減少存儲的數據量。通過這種方式,您可以每日報告最近x個月的數據,並自數據收集開始以來合併報告。