1.數據庫是什么
簡單來說,數據庫是用于存儲數據和管理數據的軟件。數據庫可以提供遠程服務,通過遠程連接來使用數據庫,因此數據庫也被稱為數據庫服務器!
2.為什么要使用數據庫
存儲數據用文件就可以了,為什么還要弄一個數據庫呢?
文件保存數據存在以下幾個缺點:
- 文件的安全性問題
- 文件不利于數據查詢和管理
- 文件不利于存儲海量數據
- 文件在程序中控制不方便
數據庫存儲介質:
- 磁盤
- 內測
為了解決上述問題,專家們設計出更加利于管理數據的團結——數據庫,它能更有效的管理數據!
3.數據庫的分類?
?數據庫大體可以分為關系型數據庫和非關系型數據庫
(1)關系型數據庫(RDBMS)
關系型數據庫是指采用了關系模型來組織數據的數據庫。 簡單來說,關系模型指的就是二維表格模型,而一個關系型數據庫就是由二維表及其之間的聯系所組成的一個數據組織。
常見的關系型數據庫有以下幾種:
- Oracle:甲骨文公司產品,適合大型項目,適用于做復雜的業務邏輯,收費較貴。
- MySQL:甲骨文公司收購的產品,不適合做復雜的業務,開源免費。
- SQL Server:微軟公司的產品,需要安裝部署在windows server上,適用于中大型項目,收費。
(2)非關系型數據庫?
非關系型數據庫不規定基于SQL實現,現在更多指的是NoSQL數據庫。
常見的非關系型數據庫有以下幾種:
- 基于鍵值對(Key-Value):如memcached、redis
- 基于文檔型:如mongodb
- 基于列族:如hbase
- 基于圖型:如neo4j?
(3)關系型數據庫與非關系型數據庫的區別
注:OLTP(On-Line Transaction Processing)是指聯機事務處理,OLAP(On-Line Analytical
Processing)是指聯機分析處理。
?
?4.MySQL的程序結構
MySQL本質上是一個“客戶端 - 服務器”結構的程序
簡稱CS結構(C代表client,S代表server)
客戶端和服務器是兩個獨立的程序,這兩個程序通過網絡進行通信
主動發起(request)網絡通信的一方稱為“客戶端”
被動接收(response)網絡通信的一方稱為“服務器”
5.計算機存儲數據的兩個關鍵環節
?兩個關鍵環節分別是:內存和硬盤
- 內存:存儲空間小,訪問速度快,成本更高,數據易失(掉電后數據會消失)
- 硬盤:存儲空間大,訪問速度慢,成本更低,持久存儲(掉電后數據仍存在)
對于數據庫而言,我們當然希望能夠持久存儲數據,對于數據存儲空間,需求也是比較大的,同時希望成本更低,能夠持久化存儲,數據庫于是就適合選擇使用硬盤來存儲數據了!