看板 PHP 關於我們 聯絡資訊
如題,最近在練習架部落格,只徒手寫了很簡單的PHP. 看到網路上的教學,大部份都是用資料庫來存資料。 少數是直接用檔案系統。 目前我是檔案系統用得很順;因為學校的空間不給用資料庫……。 也不會用資料庫。 想請問資料庫有什麼優點? 為什麼大部份的部落格軟體都是用資料庫? -- 一位記者問總理:「請問總理先生,現在的中國人都窮吧?」不少人納悶:怎麼提這種問題?大家都關注總理怎樣回答。總理肯定地說:「不是的!」全場嘩然,議論紛紛。總理看出了大家的疑惑,補充說了一句:「當官的不窮。」頓時掌聲雷動。總理的機智打動了在場的所有人,掌聲經久不息。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.170.68 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1440380310.A.C3C.html
y2468101216: 你沒有駕照就覺得騎腳踏車是最快的方法勒XD 08/24 09:52
Gold740716: 呃…好吧,所以資料庫好很多、很多? 08/24 09:54
y2468101216: 檔案系統有好處,蛋大部分的情況下都是資料庫樂勝 08/24 10:08
crossdunk: 很多啊 如果你要搜尋呢 08/24 10:08
Kenqr: 支援資料庫的免費網頁空間很多 08/24 11:08
tkdmaf: 搜尋、關連、條件、交易…不用資料庫很難做吧! 08/24 11:25
tkdmaf: 而且檔案系統處理的是php吧。資料庫有他的處理系統和架構 08/24 11:25
tkdmaf: 然後php處理資料庫應該算是各種語言中相對簡單的了。 08/24 11:26
MOONRAKER: 聽起來很像以前問人家為什麼要用資料結構。 08/24 11:54
asd56799001: 資料都存在資料庫比較好管理吧? 08/24 12:03
asd56799001: 之前做作業同學說幹嘛用資料庫直接在程式打就好了 08/24 12:03
asd56799001: 結果他寫到幾千行去了.... 08/24 12:04
shadowjohn: 不經一事不長一智 08/24 13:32
MOONRAKER: 我最近混用db和sess array的結果就類似上面。 08/24 14:26
aaa7513231: 你不懂資料庫省多少麻煩阿 資料多存點複雜點就懂了 08/24 23:21
my1938: 動態網頁然後不用資料庫?您還是去寫靜態網頁可能比較適合 08/24 23:29
my1938: 你… 08/24 23:29
my1938: 等經驗多了就不會這麼說了 08/24 23:31
MangoTW: 這問題還真難解釋,應該說從來沒有人這樣問過… 08/25 00:55
alog: 當你需要講求開發效率 08/25 05:44
alog: 還是系統架構需要多台同時同步跟負載 查詢上百萬筆的 08/25 05:45
alog: 資料 08/25 05:45
alog: 以及確保資料安全性(交易過程正確 08/25 05:45
alog: 還存取權限設計等 08/25 05:45
alog: 這些就是用資料庫的優勢 而且現在的時空不像以前那麼 08/25 05:46
alog: 繁瑣複雜 08/25 05:46
alog: 還是什麼功能不支援 08/25 05:47
alog: 資料庫管理資料比你用檔案系統的方式操作更為安全跟更 08/25 05:47
alog: 有效率 08/25 05:47
alog: 而且存取資料庫的過程跟你在開檔的過程沒啥差別 反而 08/25 05:48
alog: 筆記容易懂 08/25 05:48
alog: 另外資料庫因為都是有一套標準 所以團隊開發上要找人 08/25 05:49
alog: 或臨時上手 08/25 05:49
alog: 都比起你用檔案系統來的更有優勢 而且在存取資料上會 08/25 05:49
alog: 比較正確 08/25 05:49
alog: 學校不給資料庫原因我是認為學校的網管或老師對於資料 08/25 05:51
alog: 庫的存取規劃不太熟 08/25 05:51
alog: 所以不敢開放給你們用 08/25 05:52
alog: 說真的 現在vps很便宜 一個月不到二三百 可以自己租台 08/25 05:52
alog: 來練習 08/25 05:52
alog: 以上,分享一個看法。 手機打字 排版很怪 08/25 05:54
crossdunk: a大每次推文都可以回一篇文章了 ... 08/25 08:23
Gold740716: 大概了解了。請問alog大大需要幫修推文嗎? 08/25 13:20
ImNot5566: 推alog好有耐心 我記得寫檔案很難搞 資料庫明明就超好 08/25 17:25
sunnyvisit: 因為"資料庫"是相對於"檔案"來說更完整的解決方案。如 08/25 21:05
sunnyvisit: 果有時間有閒的話,一定可以把"使用檔案存取資料"的 08/25 21:05
sunnyvisit: 解決方案做得更完整啦。只是這個有值得你花時間解決 08/25 21:05
sunnyvisit: 嗎? 08/25 21:05
NioTW: 不知道原po怎麼處理:1班50個學生8科成績記錄這事?對了還 08/26 00:44
NioTW: 要加總、平均和分析 08/26 00:44
KawasumiMai: 一欄就是一個陣列,一個資料表就是二維 08/26 01:02
KawasumiMai: 然後一個資料庫大概就是三維,如果你有耐心的話可以 08/26 01:03
KawasumiMai: 土法煉鋼,不過資料庫有很多現成功能可用如SELECT 08/26 01:03
KawasumiMai: 這問題有點像,你可以用Word做表格並自己按計算機 08/26 01:04
KawasumiMai: 計算之後寫在每一格內,然後我們會說何不用Excel這樣 08/26 01:04
locklose: 檔案系統存取很難做Transaction,資料寫壞了難以還原 08/26 10:17
locklose: 假設要更新50筆資料,若更新時資料皆須有條件完成, 08/26 10:18
locklose: 那麼你起碼準備50份檔案的副本在每次更新資料時備用 08/26 10:19
locklose: 最後再把50個更動疊起來成一個檔案,資料庫則已處理 08/26 10:20
locklose: 你只需程式註明beginTransaction失敗時rollBack即可 08/26 10:22
MOONRAKER: 一班50個學生8科成績紀錄加總平均是哪裡有困難 做成績 08/26 17:41
MOONRAKER: 這種事情是有什麼偉大分析?舉這個例子有任何意義嗎 08/26 17:41
我覺得如果只是寫寫文章,用不到太複雜的技術。甚至可以全部用.html檔就好了。 像一些放在github上的部落格,或用octpress, hexo, 生成的。 但是每寫一次就要更新一次目錄頁,實在很麻煩。 所以寫了個簡單的腳本抓出文章標題、預覽。 每篇文章都要放上相同的頁首頁尾,也很麻煩, 所以寫了個產生頁首頁尾的腳本。 大大們提到的好處大概可以理解。但我不會用到太複雜的功能。 雖然我的首頁就想很久,到底要怎麼抓出文章的第一段……。 (有些文章是從網路上直接整頁複製下來,有頁首之類的在前頭,不能直接抓頭100個字) (後來我是抓出文檔的第一個逗號前的換行符,往後取400個字符。) 如果用資料庫,就是把文章標題、內文、註釋、metadata, 分開放, 要哪一個抓哪一個。 我覺得用檔案系統的好處是可以和本機一樣。 一篇文章一個檔案。直接同步就可以了。 (用git好像可以?) 大概這樣。 ※ 編輯: Gold740716 (36.226.140.188), 08/27/2015 16:34:39
NioTW: 以成績為例是要表達"同時"要出總合、各課平均的狀況,用 sq 08/27 23:09
NioTW: l 只要1句,用檔案要寫更多 08/27 23:09
NioTW: 回到問題本身為什麼部落格都採資料庫?因為除了發文還有回 08/27 23:14
NioTW: 應內容、觀看次數、分類(或標籤),這些都圍繞一篇文章,當 08/27 23:14
NioTW: 有多篇文章時資料庫處理就方便很多。 08/27 23:14
shadowjohn: 以前作數位相框時的確是為了一些些效能棄用sqlite 08/28 00:41
shadowjohn: 然後改用公司自刻的nvram~~~ 08/28 00:43
shadowjohn: 不過那也是作了很多測試驗證後決議的方法 08/28 00:45
shadowjohn: 閒置時將下一次可能會需要的東西載入到ram中預備 08/28 00:47
shadowjohn: 默默的紀錄使用者使用習慣然後依權重把東西載入 08/28 00:48
shadowjohn: 檔案作當然也ok,但IO可是最吃資源跟電的~ :) 08/28 00:49
shadowjohn: 反正輪子一堆了,挑一顆合適的吧,反正都會雷殘XD 08/28 00:52
allen501pc: 用SQLite 也可以用資料庫語法存取檔案 01/23 17:34