Mysql資料庫—初識資料庫
一、資料庫的概念
1.1 資料庫的組成
1.資料(data)
1)描述事物的符號記錄
2)包括數字,文字、圖形、影象、聲音、檔案記錄等
3)以“記錄”形式按統一格式進行儲存
2.表
1)將不同的記錄組織在一起
2)用來儲存具體資料
3.資料庫
1)表的集合,是儲存資料的倉庫
2)以一定的組織方式儲存的相互有關的資料集合
3)是按照資料結構來組織、儲存和管理資料的倉庫
1.2 資料庫的管理系統(DBMS)
DBMS是實現對資料庫資源有效組織、管理和存取的系統軟體
功能:資料庫的建立和維護功能、資料定義功能、資料操控功能、資料庫的執行管理功能、通訊功能
1.3 資料庫系統(DBS)
1.是一個人機系統,由硬體、OS、資料庫、DBMS、應用軟體和資料庫使用者組成
2.使用者可以通過DBMS或應用程式操作資料庫
二、資料庫系統發展史
2.1 第一代資料庫
1.自20世紀60年代起,第一代資料庫系統問世
2.是層次模型與網狀模型的資料庫系統
3.為統一管理和共享資料提供了有力的支撐
2.2 第二代資料庫
1.20世紀70年代初,第二代資料庫——關係資料庫開始出現
2.20世紀80年代初,IBM公司的關係資料庫系統DB2問世,開始逐步取代層次與網狀模型的資料庫,成為行業主流
3.到目前為止,關係資料庫系統仍佔領資料庫應用的主要地位
2.3第三代資料庫
1.自20世紀80年代開始,適應不同領域的新型資料庫系統不斷湧現
2.面向物件的資料庫系統,實用性強、適應面廣
3.20世紀90年代後期,形成了多種資料庫系統共同支撐應用的局面
4.一些新的元素被新增進主流資料庫系統中,例如:Oracle支援的“關係-物件"資料庫模型
2.4 當前主流使用
當前主流資料庫的使用方法為:SQL+NoSQL,能在高併發時,NoSQL能為SQL進行相應的減壓
三、當今主流資料庫
1、SQL Server (微軟公司產品)
1)面向Windows作業系統
2)簡單、易用
2.Oracle(甲骨文公司產品)
1)面向所有主流平臺
2)安全、完善、操作複雜
3.DB2 (IBM公司產品)
1)面向所有主流平臺
2)大型、安全、完善
4.MySQL(甲骨文公司收購)
1)免費、開源、體積小
四、關係型資料庫
4.1 組成部分
1.關係資料庫系統是基於關係模型的資料庫系統
2.關係模型的資料結構使用簡單易懂的二維資料表
3.關係模型可用簡單的"實體-關係"(E-R)圖來表示
4.E-R圖中包含了實體(資料物件)、關係和屬性三個要素
4.1 實體
也稱為例項,對應現實世界中可區別與其他物件的“事件”或“事物” ,如銀行客戶、銀行賬戶等
4.2 屬性
實體所具有的某一特性,一個實體可以有多個屬性 ,如“銀行客戶”實體集中的每個實體均具有姓名、住址、電話等屬性
4.3 聯絡
實體集之間的對應關係稱為聯絡,也稱為關係,如銀行客戶和銀行賬戶之間存在“儲蓄”的關係
4.4 組成
所有實體機實體之間聯絡的集合構成了一個關係型資料庫
4.2 儲存結構
1.關係資料庫的儲存結構是二維表格
2.每個二維表中:
1)行:記錄,描述一個物件的資訊
2)列:欄位,描述物件的一個屬性
4.3 應用
1.儲存的往往是字元、字串、數值、布林值等
2.代表有:Mysql (Oracle公司) 、SQL server (微軟) 、access (微軟公司office產品)、oracle、DB2 (IBM公司) 、 sybase (sybase)等等
五、非關係型資料庫
1.非關係資料庫也稱為NoSQL (Not Only SQL)
2.儲存資料不以關係模型為依據,不需要固定的表格式
3.非關係型資料庫的優點
1)資料庫可高併發讀寫
2)對海量資料高效率儲存與訪問
3)資料庫具有高擴充套件性與高可用性
4.常用的非關係資料庫:Redis、mongoDB等
六、Mysql資料庫
6.1 簡介
1.一款深受歡迎的開源關係型資料庫
2.Oracle旗下的產品
3.遵守GPL協議,可以免費使用與修改
4.特點
1)效能卓越、服務穩定
2)開源、無版權限制、成本低
3)多執行緒、多使用者
4)基於C/S(客戶端/伺服器)架構
5)安全可靠
6.2 商業版與社群版
1.MySQL商業版是由MySQLAB公司負責開發與維護,需要付費才能使用 2.MySQL社群版是由分散在世界各地的MySQL開發者愛好者一起開發與維護,可以免費使用
3.兩者區別
1)商業版組織管理與測試環節更加嚴格,會比社群版更穩定
2)商業版不遵守GPL,社群版遵從GPL可以免費使用
3)商業版可獲得7*24小時的服務,社群版則沒有
6.3 產品陣營
1.第一陣營:5.0-5.1陣營,可說是早期產品的延續
2.第二陣營:5.4-5.7陣營,整合了MySQL AB公司、社群和第三方公司開發的儲存引擎,從而提高效能
3.第三陣營:6.0-7.1陣營,就是MySQL Cluster版本,為適應新時代對資料庫的叢集需求而開發,下載網址 - http://www.dev.mysql.com/downloads