[問題] 有沒有人試寫過簡單資料庫?

看板C_and_CPP作者 (卡到陰再密我)時間9年前 (2015/02/16 15:33), 9年前編輯推噓6(6036)
留言42則, 18人參與, 最新討論串1/1
想問單機版的小型資料庫寫法? 該不會....只要處理: 存檔資料、抓取資料? (也=一般printf、scanf之類而已?) 然後頂多再做個壓縮過程? (反正單機版不用處理網路部份的話) 不會這麼簡單吧? -- ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1424072037.A.7E8.html

02/16 15:35, , 1F
看需求
02/16 15:35, 1F

02/16 15:45, , 2F
關聯? 檢索? 只有讀寫功能的話 要DB幹嘛? bin/text就好了
02/16 15:45, 2F

02/16 15:46, , 3F
請先定義「簡單」
02/16 15:46, 3F

02/16 16:03, , 4F
ㄚ,對了,可能還要學會處理hook部份(常駐程式)
02/16 16:03, 4F

02/16 16:06, , 5F
所謂「簡單」,大致是指:具備基本SQL雛形(存、搜、刪...)
02/16 16:06, 5F

02/16 16:07, , 6F
也就是取代不用程式語法(print,scanf)改用自有語法(通用
02/16 16:07, 6F

02/16 16:08, , 7F
型式語言),讓不需要學會寫程式,也可以簡單使用
02/16 16:08, 7F

02/16 16:18, , 8F
早抱定答案還明知故問。
02/16 16:18, 8F

02/16 16:31, , 9F
不就是excel
02/16 16:31, 9F

02/16 16:44, , 10F
sqlite
02/16 16:44, 10F

02/16 18:31, , 11F
NoSQL
02/16 18:31, 11F

02/16 18:54, , 12F
單純 key/value 又沒有 transaction 之類的,用 B tree
02/16 18:54, 12F

02/16 19:02, , 13F
不過我還是完全不知道你要什麼。
02/16 19:02, 13F

02/16 19:21, , 14F
先問一個問題: 能不能下SQL?
02/16 19:21, 14F

02/16 19:22, , 15F
樓上這是關鍵問題: 如果要能的話直接拿 sqlite 來用就好
02/16 19:22, 15F

02/16 19:27, , 16F
唔, 看了推文提的需求, 找個像 sqlite 的東西來用比較快
02/16 19:27, 16F

02/16 20:06, , 17F
你怕人不會寫的話 幫他寫個ORM前端不就好了....
02/16 20:06, 17F

02/16 20:07, , 18F
你後端幫使用者解決掉SQL語法 前端讓使用者簡單的ORM
02/16 20:07, 18F

02/16 20:08, , 19F
目前最簡單最常用的就 C++ ODB Qt有一套不錯的忘了名字
02/16 20:08, 19F

02/16 20:09, , 20F
不過ODB很醜 我個人是寧可自己寫啦....
02/16 20:09, 20F

02/16 20:16, , 21F
QxOrm? 用了可能是世界上最肥的兩個 C++ libs 的神 lib
02/16 20:16, 21F

02/16 20:48, , 22F
你這形容詞怎麼跟我朋友形容的一樣 XDDDDD
02/16 20:48, 22F

02/16 20:48, , 23F
反正Qt本來就臃腫 也不差這一圈肥油了
02/16 20:48, 23F

02/16 22:51, , 24F
熱力學查表
02/16 22:51, 24F

02/17 00:31, , 25F
call 7zip A_A!
02/17 00:31, 25F

02/17 10:31, , 26F
再簡單你都要寫 query parser
02/17 10:31, 26F

02/17 17:52, , 27F
sqlite直接拿來用了 何必自己寫
02/17 17:52, 27F

02/17 19:25, , 28F
scrappy + leveldb?
02/17 19:25, 28F
ok,來貢獻一下,其實我的思考點是: 既然SQL是一種通用式語法? => 那麼必然會有很多可重複性 => 於是想把這些重複性高的較基礎用法,給「象形化」 (多少也跟國中就讀過六頂思考帽有關係,還有意象思考法) 例如: 想用↑代表提取 (觀念裡面更喜歡pop-up這個概念)(私下想成pop) (中文的話,pop是像「探囊取物」一樣輕鬆的意思,跟英文原意不同) 其餘: ↓代表存入、S代表要搜尋、$代表別的東西... 用以取代傳統Select或Insert或Update等文字 (因為這樣又好像寫程式了) 例如應該可做到 : 當使用者剛key完"insert"的字就自動轉成↓符號 就算初步還沒法形成較佳化的概念,(象形表), 但反正這部份也只是類似一個簡單Macro/define對照表而已,日後隨時可轉換! 為來應該也可能,用1個符號就可以取代整行Query (好啦,這些都不是重點,我只是在偷渡介紹兩本書) ※ 編輯: pizzafan (36.237.123.81), 02/18/2015 09:02:59

02/18 09:03, , 29F
希望未來加入者更多,讓別人去寫的意思...^^a
02/18 09:03, 29F

02/18 09:45, , 30F
你講的就是ORM啊.... 不過要弄起來絕非你說的那麼單純
02/18 09:45, 30F

02/18 10:15, , 31F
我真的這方面很貧乏,從沒碰過ORM
02/18 10:15, 31F

02/18 15:26, , 32F
大概看得懂你想做什麼, 但完全不懂做這個的用意為何
02/18 15:26, 32F

02/18 15:27, , 33F
這概念上和 compiler/interpreter 不是一樣嗎
02/18 15:27, 33F

02/18 23:39, , 34F
其實ORM的主要概念就是把SQL語法藏起來,讓你能輕易地
02/18 23:39, 34F

02/18 23:39, , 35F
經由對一個物件設值跟transcation來完成對資料庫的操作
02/18 23:39, 35F

02/18 23:40, , 36F
各種語言其實都有ORM的實作,C++就參考我剛提到的那兩
02/18 23:40, 36F

02/18 23:40, , 37F
個,Java則是可以參考ORMLite跟Hibernate
02/18 23:40, 37F

02/18 23:41, , 38F
在Java裡面實作ORM相對輕鬆, C++實作ORM是一個頗困難的
02/18 23:41, 38F

02/18 23:41, , 39F
挑戰,真興趣的話可以試試看時做一個
02/18 23:41, 39F

02/18 23:43, , 40F
ODB本身用大量pragma 並不是一個很好的範例
02/18 23:43, 40F

02/21 21:21, , 41F
聽起來是一個沒修過資料庫的人在肖想改良查詢語言。
02/21 21:21, 41F
※ 編輯: pizzafan (36.237.124.29), 02/22/2015 12:04:49

02/23 23:22, , 42F
轉符號請愛用 Emacs XD
02/23 23:22, 42F
文章代碼(AID): #1KuPrbVe (C_and_CPP)