2012-10-25 49 views
0

我收集數據並將其存儲的MySQL,爲: 數據庫(MySQL的)結構:多個表的利弊

  • 55個國家每年
    • 75變量

    在這個階段,我已經創建了這個工具,創建了一個變量/國家(存儲了一年的數據)的表格。

    明年(以及之後的幾年)將爲每個國家輸入一組新的數據。

    因此,有3個變量控制返回給用戶的數據,審查所有收集的數據。任何查詢的一般形式是:

    • 告訴我這些細節變量,這些特定國家,這些特定年份。

    (顯示我的平均年齡和體重,美國和加拿大,2012年和2009年爲例)

    我的問題是,似乎我有兩個選擇安排這樣的數據: - 多我創建了一個國家/變量表,每年收集數據的表格 - 單個表格,只需添加數據相關年份的列(字段)即可。

    據我可以告訴我可以做這些數據庫調用與結構,但是是一個更強大/有效/更快,爲什麼?

    感謝您的考慮。

    這是一個PDO/PHP界面,如果這是相關的。

  • 回答

    0

    使用關係式方法通常涉及更多的表格。這意味着查詢速度會變慢一些(儘管在小型數據庫中可能不明顯),並且數據庫大小會變小。這使正確更新信息變得更簡單,從而確保數據完整性。例如,如果Joe的地址發生變化,您將知道使用Joe的地址將更改所有報告。

    使用鏈接較少的表,其中一個字段可以重複多次,您可能會冒着不同表之間數據不一致的風險,而這些數據您自然會認爲它們是相等的。如果您正確安排表格,訪問速度應該快一點,因爲您的信息將根據您的訪問方式進行分組。

    例如,在第一種方法,你將有一個Orders表與SupplierClient表做一個完整的發票,而在第二種方法中,你會想要把兩者SupplierClient的一些信息在Orders表等訪問找到與您要查找的發票號碼相對應的行將返回您需要的整個數據集(從而消除了在SupplierClient之間的連接以及減少數據庫服務器上的負載)。

    編輯:我認爲一個更好的答案需要更多關於您的數據的信息(例如樣本)。