前一陣子跟大學同學在msn上敲著,談論我的論文題目是啥? 而資料庫反向工程又是啥?? 現在就來解說一下啥是資料庫反向工程吧~~ 資料庫反向工程,我會先把它給拆開來「資料庫」與「反向工程」 反向工程:主要是要分析「既存」的系統,去找出系統由哪些元素所組成,與這些元素之間存在著什麼關係,再用其他的方式將這些系統畫出其圖表來。 我常舉同一個例子,當我們在百貨公司看見皮夾時,想想當初它是怎麼被製做出來的, 先是設計師看市場的需求==>畫好設計圖(包含尺寸、顏色、材料…等)==>交給工廠去製作==>然後運送出去櫃上賣 (大概是如此) 而反向工程即是程序相反,把皮夾買回去,開始研究它的設計,用啥材料…等,再把它的完整設計圖畫出來。 資料庫的正向工程也有一套流程,與一般的系統一樣,目前分為六個步驟: 1.需求收集與分析(requirements collection and analysis) 2.概念設計(conceptual design) 3.邏輯設計(logical design) 4.實體設計(physical design) 5.資料庫實作(database Implementation) 6.資料庫運行和維護。 而資料庫反向工程就是回推回去,從「既有」的資料庫,去找出其table、Pk、Fk…等一直到畫出整個資料庫的ERD圖(也可以是別的圖)。 因為系統起用後,會因為不同的需求一直在變化,可能增加新的應用或刪除不必要的應用, 當資料庫的文件來不及更新或文件不見時,維護資料庫就比較麻煩,所以資料庫反向工程就可以應用上了。 參考文獻: Ramez Elmasri Shamkant B. Navathe(2005) Fundamentals of Database Systems, Pearson Education, Inc. Chikofsky,E.J. and J.H. Cross H, Reverse engineering and design recovery: A taxonomy, IEEE Software, 1990, 13-17. p.s推薦一本書「Fundamentals of Database Systems」這本很不錯,它有中文版的, 寫的很詳細。
創作者介紹
創作者 初學者 的頭像
sql2000

初學者

sql2000 發表在 痞客邦 留言(0) 人氣( 682 )