做過乙個 ansi-sql相容 事物化 分布式 記憶體資料庫,還只是用於某內部專案而不需要實現得特別完整的情況下,寫了我好一段時間晝夜不分。
簡單來說還是幾個步驟:
1. 學習:了解資料庫中各個概念,弄不清概念接下來就是一頭霧水。
2. 實踐:從使用資料庫開始,至少使用過幾款資料庫後,最好是在實際專案中使用,才能對各個概念有實際的印象。
3. 借鑑:讀現有資料庫的源**,強烈推薦 sqlite 的**。
4. 準備:根據已有知識,來決定自己要乙個用於什麼目的的資料庫,需要什麼特性,比起其他資料庫有什麼優劣,如何實現。使用什麼語言,自己是不是熟悉這門語言的特性,這些都很重要。
5. 原型:資料庫這種大體量的東西,千萬不可能一口氣吃成大胖子,一次性寫出成品資料庫是很難的。可以先開發乙個原型,擁有資料庫的主要特性。
6. 重構:現在你已經跳入過很多坑,在重構中你已經可以規避其中大多數。不要無限地重構,這樣會沒完沒了。
7. 迭代:設計公升級迭代的路徑很重要,如果你想做乙個越來越成熟的產品的話。
原型階段,個人經驗一兩個月就行了。但重構階段和迭代階段會非常漫長,挖坑容易填坑難。
我設計的雖然是記憶體資料庫,但是分布式特性,所以網路 i/o 以及分布式相關的內容成為了很多坑,我是一遍讀別人**一遍讀**度過的。寫到後面突然需求要加持久化和備份的功能,又落入了磁碟 i/o 坑,苦不堪言。一上來準備充足還是有必要的,當然寫了這玩意對我也有很大的幫助。
看到題主是 acmer,有必要說點別的:
一定要寫文件,否則別人沒法用,時間長了你自己也不知道自己在幹嘛,雖然寫文件很煩。
一定要寫測試,自動化測試是任何可靠的大型專案所必須的。完善的測試也能說服別人使用你的資料庫。
搞 acm 對資料庫演算法優化應該會起到很大的幫助。但 acmer 也要養成良好的工程習慣,否則面對十萬行的**,一堆 a b c d 的變數絕對是無法維護的。注釋、文件和測試都是相當***的,但是面對軟體工程,是非常必須的。
導資料庫步驟
1 匯出庫 exp 資料庫使用者名稱 密碼 資料庫名 file 匯出檔案路徑 例如 exp dev dev egovsid file e dbback dev20120828.dmp 2 使用system登入資料庫 3 刪除以前使用者,若使用者在使用,在tools sessions裡kill掉程序 ...
資料庫設計步驟
目錄 資料庫設計步驟 1.需求分析階段 2.概要設計階段 繪製e r圖 3.詳細設計階段 1.需求分析階段 分析客戶業務需求,特別是資料處理方面的需求。2.概要設計階段 繪製資料庫的e r模型圖。確認需求文件的正確定和完整性 3.詳細設計階段 將e r圖轉換為多張資料庫表。進行邏輯設計,確定各張表的...
oracle資料庫匯入資料步驟
我們在資料庫匯入資料時,常規步驟如下 登入使用者system管理員 必須步驟 建立表空間 非必須步驟 建立使用者 create user esb user identified by esb user default tablespace test 非必須步驟 建立角色 create role es...