1. 程式人生 > 其它 >Linux--MySQL資料庫基本瞭解

Linux--MySQL資料庫基本瞭解

Linux--MySQL資料庫基本瞭解

一、資料庫的基本概念

二、資料庫系統發展史

三、當今主流資料庫介紹

四、關係資料庫

五、關係資料庫應用

六、非關係資料庫

七、MySQL資料庫介紹

八、MySQL商業版與社群版

九、MySQL產品陣營

十、MySQL資料庫自動補全命令的三種方式

一、資料庫的基本概念

1.資料(Data)
• 描述事物的符號記錄
• 包括數字,文字,圖形,影象,聲音,檔案記錄等
• 以“記錄”形式按統一的格式進行儲存

2.表
• 將不同的記錄組織在一起
• 用來儲存具體資料

3.資料庫
• 表的集合,是儲存資料的倉庫
• 以一定的組織方式儲存的相互有關的資料集合

4.資料庫管理系統(DBMS)
• 是實現對資料庫資源有效組織、管理和存取的系統軟體

5.資料庫系統
• 是一個人機系統,由硬體、os、資料庫、DBMS、應用軟體和資料庫使用者組成

• 使用者可以通過DBMS或應用程式操作資料庫

二、資料庫系統發展史

1.第一代資料庫
• 自20世紀60年代起,第一代資料庫系統問世

• 是層次模型與網狀模型的資料庫系統

• 為統一管理和共享資料提供了有力的支撐

2.第二代資料庫
• 20世紀70年代,第二代資料庫—關係資料庫開始出現

• 20世紀80年代,IBM公司的關係資料庫系統DB2問世,開始逐步取代層次與網狀模型的資料庫,成為行業主流

• 到目前為止,關係資料庫系統仍佔領資料庫應用的主要地位

3.第三代資料庫
• 自20世紀80年代開始,適應不同領域的新型資料庫系統不斷湧現

• 面向物件的資料庫系統,實用性強,適應面廣

• 20世紀90年代後期,形成了多種資料庫系統共同支撐應用的局面

• 一些新的元素被新增進主流資料庫系統中
例如,Oracle支援的 “關係-物件"資料庫模型

三、當今主流資料庫介紹

1.SQL Server (微軟公司產品)
• 面向Windows作業系統
• 簡單、易用

2.Oracle (甲骨文公司產品)
• 面向所有主流平臺,
• 安全、完善,操作複雜

3.DB2 (IBM公司產品)
• 面向所有主流平臺
• 大型、安全、完善

4.MySQL (甲骨文公司收購)
• 免費、開源、體積小

四、關係資料庫

• 關係資料庫系統是基於關係模型的資料庫系統
• 關係模型的資料結構使用簡單易懂的二_維資料表
• 關係模型可用簡單的“實體關係”(E-R) 圖來表示
• E-R圖中包含了實體(資料物件)、關係和屬性三個要素

1.實體
• 也稱為例項,對應現實世界中可區別於其它物件的“事件”或“事物”
♢如銀行客戶、銀行賬戶等

2.屬性
• 實體所具體的某一特性,一個實體可以有多個屬性
♢ 如“銀行客戶”實體集中的每個實體均具有姓名、住址、電話等屬性

3.聯絡
• 實體集之間的對應關係稱為聯絡,也稱為關係
♢如銀行客戶和銀行賬戶存在“儲蓄”的關係

4.所有實體及實體之間聯絡的集合構成一個關係資料庫
5.關係資料庫的儲存結構是二維表格
6.在每個二維表中
• 每一行稱為一條記錄,用來描述一個物件的資訊

• 每一列稱為一個欄位,用來描述物件的一個屬性

五、關係資料庫應用

1.關係資料庫
• Oracle , MySQL
• SQLServer、Sybase
• Informix、access
• DB2、FoxPRO

2.應用舉例
• 12306使用者資訊系統
• 淘寶賬號系統
• 聯通手機號資訊系統
• 銀行使用者賬號系統
• 網站使用者資訊系統

六、非關係資料庫

1.非關係資料庫也被稱作NoSQL (Not Only SQL)
2.儲存資料不以關係模型為依據,不需要固定的表格式
3.非關係型資料庫的優點
• 資料庫可高併發讀寫
• 對海資料高效率儲存與訪問
• 資料庫具有高擴充套件性與高可用性

4.常用的非關係資料庫:Redis、mongoDB等

七、MySQL資料庫介紹

1.一款深受歡迎的開源關係型資料庫

2.Oracle旗下的產品

3.遵守GPL協議,可以免費使用與修改

4.特點

• 效能卓越、服務穩定
• 開源、無版權限制、成本低
• 多執行緒、多使用者
• 基於C/S (客戶端/伺服器)架構
• 安全可靠

八、MySQL商業版與社群版

1.MySQL商業版是由MySQL AB公司負責開發與維護,需要付費才能使用
2.MySQL社群版是由分散在世界各地的MySQL開發者、愛好者一起開發與維護,可以免費使用
3.兩者區別
• 商業版組織管理與測試環節更加嚴格,蚍社群版更穩定
• 商業版不遵守GPL,社群版遵從GPL可以免費使用
• 商業版可獲得7*24小時的服務,社群版則沒有

九、MySQL產品陣營

1.第一陣營: 5.0-5.1陣營,可說是早期產品的延續
2.第二陣營: 5.4-5.7陣營, 整合了MySQL AB公司、社群和第三方公司開發的儲存引擎,從而提高效能
3.第三陣營: 6.0-7.1陣營, 就是MySQL Cluster版本,為適應新時代對資料庫的叢集需求而開發
4.下載網址
●http://www.dev.mysql.com/downloads

十、MySQL資料庫自動補全命令的三種方式

方式一:臨時使用自動補全功能

mysql -u root -p --auto-rehash

方式二:永久使用自動補全功能

vi /etc/my.cnf

[mysql]
auto-rehash

方式三:使用軟體mycli實現自動補全功能

yum -y install epel-release     #官方源安裝
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-develdb4 -devel libpcap-devel xz-devel gcc

wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz

mkdir ~/.pip/

cat > ~/.pip/pip.conf <<EOF
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com
EOF

yum -y install libffi-devel zlib* python-devel openssl-devel
tar -zxvf Python-3.9.0.tgz
cd Python-3.9.0/ 
./configure --prefix=/usr/local/python --with-ssl
make && make install

ln -s /usr/local/python/bin/python3 /usr/bin/

echo 'export PATH=/usr/local/python/bin:$PATH' >> /etc/profile
source /etc/profile

pip3 install mycli
mycli -u root -p <密碼>