1樓:網友
感覺做過acm的話,應該完全沒問題。最開始只要做乙個超大的雜湊表就可以了。只要能實現字串做鍵,字串儲存值就好。
然後對外的查詢介面就只要get, put和delete(畢竟加上socket再改改輸出形式就可以用http來訪問了。然後你再考慮怎麼讓你的雜湊表支援多種型別的值,想想怎麼去儲存你資料的型別資訊(後設資料)嘛。既然有了後設資料來儲存型別資訊,就能夠新增型別和對查詢內容進行檢查了,同時這個時候也有必要擴充一下查詢語句,比如加一些create schema之類的。
put的時候也可以考慮把對應的新增的內容與型別做個對映(想想sql的insert。這個時候可以考慮優化儲存了,相同型別的資料可以放在一起組織,可以做成連續存放的,提高查詢效率。於是我們可以直接根據型別獲得所對應的全部改型別的資料,然後我們就能擴充套件查詢,get取到對應型別的全部資料。
然後你就可以考慮擴充更多的查詢語句了,比如過濾資料(對應sql的where),結果分組(group by)、聚合查詢(count、sum)、關聯查詢(join)以及各種限制(distinct、top、limit等)。然後你是不是發現越寫越煩,東西太做不好做下去了?這個時候把你處理查詢的部分寫成乙個專門的parser吧,最好照著tutorial d優化一下你的查詢語言,再跟sql比比到底誰醜。
然後去思考一下為什麼關係模型發展到現在的這個樣子,以及為什麼現在大部分資料庫都沒有嚴格的遵守它。順便把你的儲存結構用b+樹做個優化。然後把database system concept上的高階話題乙個個吃透。
2樓:網友
無事務, 單執行緒, 僅存在於記憶體的資料庫。該狀態下的資料庫, 其實就是乙個」索引結構」+」語法分析器」.語法分析器分析sql語句, 然後根據邏輯, 去執行相應的操作。
索引結構則是用來快速查詢。由於該版本僅存在於記憶體, 所以只要你會一些常見的索引演算法, 即可完成, 可以稱之為」簡易記憶體資料庫」.如你會b+樹演算法, 就可以實現乙個b+樹, bt.
它實現了兩個介面, ,value) -void, -value.再實現乙個」語法分析器」.如來了一條語句」insert into student value (tony, 22, 123)」.
語法分析器」分析該語句, 將value包裹一下, 選取乙個該value的鍵值key.然後呼叫 , value). 之後執行」read from student …」其實也就是分析一下, 然後執行<>
大學裡用什麼資料庫好?
3樓:雲南新華電腦學校
個人電腦配置不顯著的話建議使用mysql(小型資料庫)開百始鍛鍊,一步一步提公升技術。將來使用什坦唯輪麼數度據庫的話可能都是根據公司需求而定,任何資料庫都需要你多實踐多瞭解知學習才行。 證書的話你能考取dba那是相當不錯的道讓信,需要你有很多知識積累和工作經驗才山羨行,慢慢努力吧。
大學生如何實現自己的成才夢
大學生活我們獨自在外,首先學會的就是要肆攜虛自己照顧好自己。很多的大學生在家裡有了在家長呵護下的習慣,出門在外也照顧不了自己。因此大學生想要實現自我成長,就得能夠照顧了自己。把自己的衣食起居照顧好,這樣才能培養我們的良隱槐好習慣。做人是最基本也是最重要的。大學中學做人顯得更為重要。在學校能夠團結同學...
用資料庫做小型裝置管理系統,用資料庫做一個小型裝置管理系統
課題1.裝置管理資訊系統 包括的實體型別有 n 固定資產 資產編號,資產名稱,型號規格,計量單位,價值,製造廠,出廠日期 n 部門 部門編號,部門名稱,負責人 n 折舊單 折舊單編號,年折舊率,年折舊額,開始使用日期,全部使用年限,已使用年數,尚可使用年限 n 大修理單 修理單編號,修理日期,修理時...
oracle資料庫如何實現遠端訪問另一例程資料庫表
你好!僅供參考 我這裡用的是pl sql連線的,首先在oracle安裝檔案下,配置和移植工具 ner configeration assistant中,設定好要訪問的的服務名 即oracle伺服器的名稱 和主機名 即要遠端連線的oracle資料庫的ip地址 設定好之後,再開啟配置和移植工具 net ...