[請益] 請問為什麼要用資料庫?好處是什麼?

看板PHP作者 (項為之強)時間8年前 (2015/08/24 09:38), 8年前編輯推噓13(13062)
留言75則, 18人參與, 最新討論串1/1
如題,最近在練習架部落格,只徒手寫了很簡單的PHP. 看到網路上的教學,大部份都是用資料庫來存資料。 少數是直接用檔案系統。 目前我是檔案系統用得很順;因為學校的空間不給用資料庫……。 也不會用資料庫。 想請問資料庫有什麼優點? 為什麼大部份的部落格軟體都是用資料庫? -- 一位記者問總理:「請問總理先生,現在的中國人都窮吧?」不少人納悶:怎麼提這種問題?大家都關注總理怎樣回答。總理肯定地說:「不是的!」全場嘩然,議論紛紛。總理看出了大家的疑惑,補充說了一句:「當官的不窮。」頓時掌聲雷動。總理的機智打動了在場的所有人,掌聲經久不息。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.170.68 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1440380310.A.C3C.html

08/24 09:52, , 1F
你沒有駕照就覺得騎腳踏車是最快的方法勒XD
08/24 09:52, 1F

08/24 09:54, , 2F
呃…好吧,所以資料庫好很多、很多?
08/24 09:54, 2F

08/24 10:08, , 3F
檔案系統有好處,蛋大部分的情況下都是資料庫樂勝
08/24 10:08, 3F

08/24 10:08, , 4F
很多啊 如果你要搜尋呢
08/24 10:08, 4F

08/24 11:08, , 5F
支援資料庫的免費網頁空間很多
08/24 11:08, 5F

08/24 11:25, , 6F
搜尋、關連、條件、交易…不用資料庫很難做吧!
08/24 11:25, 6F

08/24 11:25, , 7F
而且檔案系統處理的是php吧。資料庫有他的處理系統和架構
08/24 11:25, 7F

08/24 11:26, , 8F
然後php處理資料庫應該算是各種語言中相對簡單的了。
08/24 11:26, 8F

08/24 11:54, , 9F
聽起來很像以前問人家為什麼要用資料結構。
08/24 11:54, 9F

08/24 12:03, , 10F
資料都存在資料庫比較好管理吧?
08/24 12:03, 10F

08/24 12:03, , 11F
之前做作業同學說幹嘛用資料庫直接在程式打就好了
08/24 12:03, 11F

08/24 12:04, , 12F
結果他寫到幾千行去了....
08/24 12:04, 12F

08/24 13:32, , 13F
不經一事不長一智
08/24 13:32, 13F

08/24 14:26, , 14F
我最近混用db和sess array的結果就類似上面。
08/24 14:26, 14F

08/24 23:21, , 15F
你不懂資料庫省多少麻煩阿 資料多存點複雜點就懂了
08/24 23:21, 15F

08/24 23:29, , 16F
動態網頁然後不用資料庫?您還是去寫靜態網頁可能比較適合
08/24 23:29, 16F

08/24 23:29, , 17F
你…
08/24 23:29, 17F

08/24 23:31, , 18F
等經驗多了就不會這麼說了
08/24 23:31, 18F

08/25 00:55, , 19F
這問題還真難解釋,應該說從來沒有人這樣問過…
08/25 00:55, 19F

08/25 05:44, , 20F
當你需要講求開發效率
08/25 05:44, 20F

08/25 05:45, , 21F
還是系統架構需要多台同時同步跟負載 查詢上百萬筆的
08/25 05:45, 21F

08/25 05:45, , 22F
資料
08/25 05:45, 22F

08/25 05:45, , 23F
以及確保資料安全性(交易過程正確
08/25 05:45, 23F

08/25 05:45, , 24F
還存取權限設計等
08/25 05:45, 24F

08/25 05:46, , 25F
這些就是用資料庫的優勢 而且現在的時空不像以前那麼
08/25 05:46, 25F

08/25 05:46, , 26F
繁瑣複雜
08/25 05:46, 26F

08/25 05:47, , 27F
還是什麼功能不支援
08/25 05:47, 27F

08/25 05:47, , 28F
資料庫管理資料比你用檔案系統的方式操作更為安全跟更
08/25 05:47, 28F

08/25 05:47, , 29F
有效率
08/25 05:47, 29F

08/25 05:48, , 30F
而且存取資料庫的過程跟你在開檔的過程沒啥差別 反而
08/25 05:48, 30F

08/25 05:48, , 31F
筆記容易懂
08/25 05:48, 31F

08/25 05:49, , 32F
另外資料庫因為都是有一套標準 所以團隊開發上要找人
08/25 05:49, 32F

08/25 05:49, , 33F
或臨時上手
08/25 05:49, 33F

08/25 05:49, , 34F
都比起你用檔案系統來的更有優勢 而且在存取資料上會
08/25 05:49, 34F

08/25 05:49, , 35F
比較正確
08/25 05:49, 35F

08/25 05:51, , 36F
學校不給資料庫原因我是認為學校的網管或老師對於資料
08/25 05:51, 36F

08/25 05:51, , 37F
庫的存取規劃不太熟
08/25 05:51, 37F

08/25 05:52, , 38F
所以不敢開放給你們用
08/25 05:52, 38F

08/25 05:52, , 39F
說真的 現在vps很便宜 一個月不到二三百 可以自己租台
08/25 05:52, 39F

08/25 05:52, , 40F
來練習
08/25 05:52, 40F

08/25 05:54, , 41F
以上,分享一個看法。 手機打字 排版很怪
08/25 05:54, 41F

08/25 08:23, , 42F
a大每次推文都可以回一篇文章了 ...
08/25 08:23, 42F

08/25 13:20, , 43F
大概了解了。請問alog大大需要幫修推文嗎?
08/25 13:20, 43F

08/25 17:25, , 44F
推alog好有耐心 我記得寫檔案很難搞 資料庫明明就超好
08/25 17:25, 44F

08/25 21:05, , 45F
因為"資料庫"是相對於"檔案"來說更完整的解決方案。如
08/25 21:05, 45F

08/25 21:05, , 46F
果有時間有閒的話,一定可以把"使用檔案存取資料"的
08/25 21:05, 46F

08/25 21:05, , 47F
解決方案做得更完整啦。只是這個有值得你花時間解決
08/25 21:05, 47F

08/25 21:05, , 48F
嗎?
08/25 21:05, 48F

08/26 00:44, , 49F
不知道原po怎麼處理:1班50個學生8科成績記錄這事?對了還
08/26 00:44, 49F

08/26 00:44, , 50F
要加總、平均和分析
08/26 00:44, 50F

08/26 01:02, , 51F
一欄就是一個陣列,一個資料表就是二維
08/26 01:02, 51F

08/26 01:03, , 52F
然後一個資料庫大概就是三維,如果你有耐心的話可以
08/26 01:03, 52F

08/26 01:03, , 53F
土法煉鋼,不過資料庫有很多現成功能可用如SELECT
08/26 01:03, 53F

08/26 01:04, , 54F
這問題有點像,你可以用Word做表格並自己按計算機
08/26 01:04, 54F

08/26 01:04, , 55F
計算之後寫在每一格內,然後我們會說何不用Excel這樣
08/26 01:04, 55F

08/26 10:17, , 56F
檔案系統存取很難做Transaction,資料寫壞了難以還原
08/26 10:17, 56F

08/26 10:18, , 57F
假設要更新50筆資料,若更新時資料皆須有條件完成,
08/26 10:18, 57F

08/26 10:19, , 58F
那麼你起碼準備50份檔案的副本在每次更新資料時備用
08/26 10:19, 58F

08/26 10:20, , 59F
最後再把50個更動疊起來成一個檔案,資料庫則已處理
08/26 10:20, 59F

08/26 10:22, , 60F
你只需程式註明beginTransaction失敗時rollBack即可
08/26 10:22, 60F

08/26 17:41, , 61F
一班50個學生8科成績紀錄加總平均是哪裡有困難 做成績
08/26 17:41, 61F

08/26 17:41, , 62F
這種事情是有什麼偉大分析?舉這個例子有任何意義嗎
08/26 17:41, 62F
我覺得如果只是寫寫文章,用不到太複雜的技術。甚至可以全部用.html檔就好了。 像一些放在github上的部落格,或用octpress, hexo, 生成的。 但是每寫一次就要更新一次目錄頁,實在很麻煩。 所以寫了個簡單的腳本抓出文章標題、預覽。 每篇文章都要放上相同的頁首頁尾,也很麻煩, 所以寫了個產生頁首頁尾的腳本。 大大們提到的好處大概可以理解。但我不會用到太複雜的功能。 雖然我的首頁就想很久,到底要怎麼抓出文章的第一段……。 (有些文章是從網路上直接整頁複製下來,有頁首之類的在前頭,不能直接抓頭100個字) (後來我是抓出文檔的第一個逗號前的換行符,往後取400個字符。) 如果用資料庫,就是把文章標題、內文、註釋、metadata, 分開放, 要哪一個抓哪一個。 我覺得用檔案系統的好處是可以和本機一樣。 一篇文章一個檔案。直接同步就可以了。 (用git好像可以?) 大概這樣。 ※ 編輯: Gold740716 (36.226.140.188), 08/27/2015 16:34:39

08/27 23:09, , 63F
以成績為例是要表達"同時"要出總合、各課平均的狀況,用 sq
08/27 23:09, 63F

08/27 23:09, , 64F
l 只要1句,用檔案要寫更多
08/27 23:09, 64F

08/27 23:14, , 65F
回到問題本身為什麼部落格都採資料庫?因為除了發文還有回
08/27 23:14, 65F

08/27 23:14, , 66F
應內容、觀看次數、分類(或標籤),這些都圍繞一篇文章,當
08/27 23:14, 66F

08/27 23:14, , 67F
有多篇文章時資料庫處理就方便很多。
08/27 23:14, 67F

08/28 00:41, , 68F
以前作數位相框時的確是為了一些些效能棄用sqlite
08/28 00:41, 68F

08/28 00:43, , 69F
然後改用公司自刻的nvram~~~
08/28 00:43, 69F

08/28 00:45, , 70F
不過那也是作了很多測試驗證後決議的方法
08/28 00:45, 70F

08/28 00:47, , 71F
閒置時將下一次可能會需要的東西載入到ram中預備
08/28 00:47, 71F

08/28 00:48, , 72F
默默的紀錄使用者使用習慣然後依權重把東西載入
08/28 00:48, 72F

08/28 00:49, , 73F
檔案作當然也ok,但IO可是最吃資源跟電的~ :)
08/28 00:49, 73F

08/28 00:52, , 74F
反正輪子一堆了,挑一顆合適的吧,反正都會雷殘XD
08/28 00:52, 74F

01/23 17:34, , 75F
用SQLite 也可以用資料庫語法存取檔案
01/23 17:34, 75F
文章代碼(AID): #1LsdMMmy (PHP)