PHP學習還在繼續中,不過在一些大型PHP交流論壇遇到一些朋友對最基本的數據庫概念並不清楚,便產生寫此文的念頭!
(一)概念
資料庫是一中資訊的集合,每個集合都包含一條或多條形式統一的記錄,記錄由字段構成.通常將集合稱為表,將記錄稱為表中的行.
數據庫一般分為:平面文件資料庫(TEXT),層次化資料庫,網路資料庫,關係資料庫(mysql),物件與物件關係型資料庫!
(二)關係型資料庫是程式設計師開發軟體的解放
由於平件文件資料庫,必須直接與作業系統聯繫,當應用程式需要編輯這種資訊時,必須確保字段與有正確的形式.這種形式的接口代價昂貴,因為她需要一種第3代語言(3GL),需要有掌握高度技能的人員進行長時間的開發!比如程式設計師必須考慮資料的邏輯和物理表示,例如要從文件裡讀取一個整數,程式設計師需要知道它是寫成文字形式還是二進位形式。資料在文件和應用程式之間流動時,必須遵循一定的約定。所以平面文件資料庫程式的高效性一般取決於程式設計師的辛勤與水平!相對於MYSQL由於實現了資料的獨立性,也實現了結構的獨立性!因此程式設計師無須承受資料管理的負擔!拋開了很多資料庫處理的內部細節!這便是RDBMS產生最重要的理由!也是她普及的理由!
(三)優秀的程式--物件關係資料庫模型
資料庫模型裡,MYSQL是一種關係型資料庫,但是關係模型並不是MYSQL的專利,資料庫理論的革新正在繼續,先進技術的一些基本原理也可以用於關係模型,如果你是精通3GL的程式設計師,使用平面文件資料庫不僅可以開發出優秀的程式!而且在基層資料處理,程式控制,資源利用上,都有很大的優勢! 如果需要對大量資料進行頻繁的讀寫!,可以使用定位指針讀取指定的數據,定長索引, 所謂的負載問題,迎刃而解,控制起來也非常靈活,方便,安全問題,層次化與網絡模型的並發性模型都可以利用!當然最重要的是程式設計師的敏覺性,設計完善的索引表,是置關重要的!
而MYSQL的優勢主要在於他的物理存儲:MYLSAM表支持3種行方式以及定長行思想對數據處理靈活,並利用文件描述符來讀寫表,系統記憶體方面的緩衝和快取等都是MYSQL快速的資料處理能力原因!同時你可以利用實體儲存帶來的方便對資料進行修復,碎片整理等!
相信只要你擁有優秀的資料庫模型,無論你採用什麼類型的資料庫,你所開發的一定是優秀的程式!