看板 Programming 關於我們 聯絡資訊
※ 引述《yeagen (天使)》之銘言: : 大家好 : 想請問,該怎麼寫出一個簡單的資料庫 : 網路上有沒有什麼資料,還是關鍵字,可以讓我找到相關資訊的 教你一個簡單版的 1. 要會用fopen 並且寫入資料要用wb 2. 要會用struct跟malloc開動態結構陣列 將每一筆資料 都放在struct定義的動態結構陣列 EX: struct bucket { int PK; String Name; ... }; 1.用for迴圈開struct陣列幾筆資料就開幾個 2.用for迴圈將讀取到的資料放入struct裡面 3.用for迴圈將struct資料依照型別存入fopen內的檔案 建議這三個流程要寫3個for迴圈分開,開發上會容易的多 在struct的{....}內的變數集合叫metadata, 那些變數的型別叫data schema 之後在讀取那個資料庫檔案都要依照那個struct的格式讀取 做到這樣就已經夠為一個簡易的儲存資料了 要做到新增、簡易查詢、修改 還ok 光這樣其實就有很多活的功能要設計了,像是data schema寫成活的, 例如說主鍵只需要3bits那就要這樣寫int PK:3; (希望我沒記錯) 以及matadata寫成活的EX: 自由的可以擴充欄位 (struct內容) 以暫存器的角度來看data structure其實沒有什麼是不可以辦到的。 做XML簡易版的就更簡單了,自定義的標籤,也不需要struct 完完全全都是字串處理,這樣就夠了, 但是實際上,XML讀起來是建在一顆Tree裡面 DBMS的書裡面,說真的,不用程式設計的觀點來看其實很難融會貫通的... 只有在背一些莫名其妙的規則..然後不知道背後的涵意 然後很多的功能,像是叢集式index,span bucket等的 用嘴巴說都比較容易= = -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.133.9.148
yeagen:謝謝你~~如果要上google查相關資料 219.84.15.178 02/11 05:23
yeagen:就是您說的這些流程 219.84.15.178 02/11 05:24
yeagen:要下什麼關鍵字呢? 219.84.15.178 02/11 05:24
wa120:以前我老師跟我說,去抓mysql的程式碼XD 140.133.9.148 02/11 08:32
Foremanytz:database system concepts 111.255.11.57 02/11 08:32
annheilong:我覺得...去學學mysql之後 大概就會寫120.126.194.175 02/11 13:21
annheilong:了 你要先知道資料庫怎麼使用吧?120.126.194.175 02/11 13:22
clliu168:會 mysql 跟寫資料庫是兩回事. 有些資料114.137.228.241 02/11 17:34
clliu168:庫課程的最後 project 就是寫一個小型的114.137.228.241 02/11 17:34
clliu168:資料庫. 這篇其實給了很不錯的方向了,應114.137.228.241 02/11 17:35
clliu168:該想一下就可以寫出一個基本的小 DB114.137.228.241 02/11 17:35
clliu168:至於去 trace mysql code? 你去看看裡面114.137.228.241 02/11 17:36
clliu168:的 code, 應該就會放棄了. 如果只是一個114.137.228.241 02/11 17:36
clliu168:作業,上面這個已經夠了114.137.228.241 02/11 17:36
annheilong:恩..我的意思是說看mysql的功能 61.228.134.85 02/12 09:44
annheilong:自己做出一個有類似功能的"簡易資料庫" 61.228.134.85 02/12 09:45
wa120:老實講 這也是我剛學資料庫DBMS的疑惑218.175.103.190 02/12 17:33
wa120:但是隨著經驗的累積 就大概知道該怎麼做...218.175.103.190 02/12 17:33
wa120:你先以XML的資料庫關鍵字會比較好找218.175.103.190 02/12 17:34
wa120:因為它只是一個DOM的解析器 然後再做一個架218.175.103.190 02/12 17:35
wa120:構 而且 現在非常多的東西都是用XML218.175.103.190 02/12 17:36
wa120:所以找到的資料會非常豐富 實作的部份又比218.175.103.190 02/12 17:37
wa120:較容易218.175.103.190 02/12 17:37