各位先進好,近日小弟想寫一個呈現台北市各地溫度的網站來練功,就像氣象局這樣:http://www.cwb.gov.tw/V7/forecast/town368/towns/6300200.htm?type=Weather&time=7Day,當然沒那麼複雜,也沒有要畫那麼美。目前先以關聯式資料庫來實作(Heroku 的 PostgreSQL),不過正因資料表該如何設計感到困擾(後悔資料庫的課都混掉了...)。
這裏簡介一下會調用資料庫的兩個功能:
1. 各區某日氣溫一覽圖。如連結左半邊,但無需地圖,可設定日期,預設昨日氣溫一覽圖為首頁,所以連上網站一定會撈一次資料。
2. 針對某一區畫趨勢圖。如連結右半邊,不過使用者點選區域並給予時間範圍(小則三天,多至十年!)才畫,預設是不顯示的。
對了,每天只爬前一天已確定的資料,沒有更新預報這件事,所以寫入動作非常少,讀取相對多很多(比如無聊一直切換各區“十年”來的趨勢圖?)。
粗略的設計是每區建一份 table,欄位有日期以及當天最低溫、最高溫、平均溫,每日於各區的 table 新增一筆資料,而日期則為連接各 table 的 key。
有沒有更好的設計呢?或者看見了什麼缺失?跪求詳細 Orz
懇請路過高手不吝指教 =)
P.S. 日後還想練習非關聯式資料庫,但目前無經驗作判斷(僅以 Heroku 是否支援作依據XD )。我該嘗試鍵值資料庫如 Redis,還是文檔資料庫如 MongoDB、CouchDB?或者其他?
歡迎各方意見,小弟先行謝過~