標籤:
MySQL基本概念
一、 資料庫系統概述(注:概述均摘自清華出版的Mysql書籍):
資料庫系統由硬體部分和軟體部分構成,硬體主要用於儲存資料庫中的資料,包括電腦、存放裝置。軟體部分則包括DBMS、支援DBMS啟動並執行作業系統等。
1、資料庫系統中主要的3個組成部分:
(1)、資料庫:用於儲存資料的地方。
(2)、資料庫管理系統:用於管理資料庫的軟體。
(3)、資料庫應用程式:為了提高資料系統的處理能力所使用的管理資料庫的的軟體。
資料庫(Database System)提供了一個儲存空間用於儲存各種資料,可以將資料庫視為一個儲存資料的容器。一個資料庫可以包含多個檔案,一個資料庫系統中包含多個資料庫。
理解:你可以把資料庫系統想成Windows系統,在系統中可以有多個磁碟(資料庫),磁碟中可以有多個檔案夾(資料庫表),檔案夾中有多個檔案(資料)。
資料庫管理系統(DataBase Management System,DBMS)是使用者建立,管理和維護資料庫時所使用的軟體位於使用者與作業系統之間,對資料庫進行統一管理。DBMS能定義資料庫儲存結構,提供資料的的操作機制,維護資料庫的安全性、完整性和可靠性。
資料庫應用程式(DataBase Application)雖然已經有了DBMS,但在很多的情況下DBMS,無法滿足對資料庫管理的要求,資料庫應用程式的使用可以滿足對資料庫管理的更高要求還可以是資料庫管理過程更加直觀和友好。資料庫應用程式負責與DBMS進行通訊,訪問和管理DBMS中的資料。允許使用者插入、修改、刪除資料庫的資料。
註:資料庫系統的訪問過程:
2、SQL語句
對資料庫進行查詢和修改操作的語言叫SQL。在MySQL中輸入相關命令,MySQL軟體可以接受命令,並做出相應的操作。SQL是一種專門用來與資料庫通訊的語言。
SQL語句包含以下4個部分:
(1)資料定義:DROP、CREATE、ALTER等語句。
(2)資料操作:INSERT、DELETE、UPDATE語句。
(3)資料查詢:SELECT語句。
(4)資料控制:GRANT、REVOKE、COMMIT等語句。
二 、資料庫分類:
2.1、關係型資料庫:是指採用了關聯式模式來組織資料的資料庫。
簡單來說,關聯式模式指的就是二維表格模型,而一個關係型資料庫就是由二維表及其之間的聯絡所組成的一個資料群組織。
關聯式模式中常用的概念:
- 關係:可以理解為一張二維表,每個關係都具有一個關係名,就是通常說的表名
- 元組:可以理解為二維表中的一行,在資料庫中經常被稱為記錄
- 屬性:可以理解為二維表中的一列,在資料庫中經常被稱為欄位
- 域: 屬性的取值範圍,也就是資料庫中某一列的取值限制
- 關鍵字:一組可以唯一標識元組的屬性,資料庫中常稱為主鍵,由一個或多個列組成
- 關係模式:指對關係的描述。其格式為:關係名(屬性1,屬性2, ... ... ,屬性N),在資料庫中成為表結構
2.2、非關係型資料庫:非關係型資料庫嚴格上不是一種資料庫,是一種資料結構化儲存方法的集合。
概念:非關係型資料庫提出另一種理念,例如,以索引值對儲存,且結構不固定,每一個元組可以有不一樣的欄位,每個元組可以根據需要增加一些自己的索引值對,這樣就不會局限於固定的結構,可以減少一些時間和空間的開銷。使用這種方式,使用者可以根據需要去添加自己需要的欄位,這樣,為了擷取使用者的不同資訊,不需要像關係型資料庫中,要對多表進行關聯查詢。僅需要根據id取出相應的value就可以完成查詢。但非關係型資料庫由於很少的約束,他也不能夠提供像SQL所提供的where這種對於欄位屬性值情況的查詢。並且難以體現設計的完整性。他只適合儲存一些較為簡單的資料,對於需要進行較複雜查詢的資料,SQL資料庫顯的更為合適。
2.2.1、非關係型資料庫的分類:
概念:由於非關係型資料庫本身天然的多樣性,以及出現的時間較短,因此,不想關係型資料庫,有幾種資料庫能夠一統江山,非關係型資料庫非常多,並且大部分都是開源的。這些資料庫中,其實實現大部分都比較簡單,除了一些共性外,很大一部分都是針對某些特定的應用需求出現的,因此,對於該類應用,具有極高的效能。依據結構化方法以及應用場合的不同,主要分為以下幾類:
key-value資料庫的主要特點即使具有極高的並發讀寫效能,Redis,Tokyo Cabinet,Flare就是這類的代表
這類資料庫的特點是,可以在海量的資料中快速的查詢資料,典型代表為MongoDB以及CouchDB
這類資料庫想解決的問題就是傳統資料庫存在可擴充性上的缺陷,這類資料庫可以適應資料量的增加以及資料結構的變化
三、 MySQL概覽:
概念:MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體之一。
MySQL架構 :
概念:主從式架構或可以叫用戶端-伺服器結構簡稱(C/S)結構。是一種網路的架構,通常在該網路架構下分為用戶端和伺服器。當用戶端使用者發起請求,伺服器端收到請求並處理,然後將處理結果發送給使用者。
例如:當客戶想要在噹噹網上買書時,網頁瀏覽器被當成一個用戶端,同時,噹噹網的電腦、資料庫和應用程式等被當成用戶端。當客戶的瀏覽器(用戶端)向噹噹網(伺服器)請求搜尋資料庫相關圖書時,噹噹網伺服器從噹噹網資料庫中找出所有相關的資料,結合網頁發送給客戶的瀏覽器。
MySql基本概念