數據庫基礎
- 1.什么是數據庫?
- 2.為什么要學習數據庫?
- 3.主流的數據庫(了解)
- 4.服務器,數據庫,表之間的關系
- 5.數據的邏輯存儲
- 6.MYSQL架構
- 7.存儲引擎
1.什么是數據庫?
數據庫(Database,簡稱DB),長期存放在計算機內,有組織,可共享的大量數據的集合,是一個數據"倉庫"。用來存放管理數據。
2.為什么要學習數據庫?
看了數據庫的介紹,好像跟文件差不多?存儲數據用文件不是也一樣嗎? 文件有一些缺點:
- 安全性問題無法保證
- 不利于數據的查詢和管理
- 不利于存儲海量的數據
- 文件在程序中控制不方便
當然了文件的這些缺點就是數據庫的優點所在了。
3.主流的數據庫(了解)
? SQL Sever:微軟的產品,.Net程序員的最愛,中大型項目。
? Oracle:甲骨文產品,適合大型項目,復雜的業務邏輯,并發一般來說不如MySQL。
? MySQL:世界上最受歡迎的數據庫,屬于甲骨文,并發性好,不適合做復雜的業務。主要用在電商,SNS,論壇。對簡單的SQL處理效果好。
? PostgreSQL:加州大學伯克利分校計算機系開發的關系型數據庫,不管是私用,商用,還是學術研究使用,可以免費使用,修改和分發。
? SQLite:是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。
? H2:是一個用Java開發的嵌入式數據庫,它本身只是一個類庫,可以直接嵌入到應用項目中。
4.服務器,數據庫,表之間的關系
所謂安裝數據庫服務器,只是在機器上安裝了一個數據庫管理系統程序,這個管理程序可以管理多個數據庫,一般開發人員會針對每一個應用創建一個數據庫。
為保存應用中實體的數據,一般會在數據庫中創建多個表,以保存程序中實體的數據。
5.數據的邏輯存儲
基本上數據就是按照行與列的方式進行儲存的。
6.MYSQL架構
MYSQL的架構一共為四層 分別是:
1.連接層:負責處理客戶端接入,像用戶登錄、授權、連接管理等都在此進行。
2.服務層:是核心層,包含諸多關鍵功能模塊。SQL 接口接收客戶端 SQL 命令并返回結果;解析器對 SQL 進行詞法和語法分析等待
3.引擎層:決定表數據的讀寫和存儲方式,是較為重要的一層。服務層制定執行計劃后,由引擎層執行具體的數據讀寫操作。
4.存儲層:為上層服務提供基礎文件服務,存儲著日志、數據、索引等文件,與引擎層交互,是數據的物理存儲基礎
7.存儲引擎
我們一般就使用兩個。