MySQL数据库基础理论
MySQL數據庫基礎理論
文章目錄
- MySQL數據庫基礎理論
- 一、數據庫的基本概念
- 1.數據庫的組成
- 1.1數據(Data):
- 1.2表:將不同的記錄組織在一起,用來存儲具體數據
- 1.3數據庫:
- 2.數據庫管理系統
- 3.數據庫系統
- 4.DBMS的工作模式
- 二、數據庫系統發展史
- 1.第一代數據庫(人工管理)
- 2.第二代數據庫(文件管理)
- 3、第三代數據庫(數據庫系統管理)
- 三、當今主流數據庫
- 四、關系型數據庫和非關系型數據庫
- 1.關系型數據庫
- 1.1 關系型數據庫介紹
- 1.2關系數據庫應用
- 2.非關系數據庫介紹
- 3.關系型數據庫和非關系型數據庫的區別
- 3.1關系數據庫
- 3.2關系數據庫優缺點
- 3.3非關系型數據庫(NoSQL)
- 五、MySQL數據庫介紹
- 1.MySQL商業版與社區版
- 2.MySQL產品陣營
- 總結
引言:本文講述的是數據庫的相關理念,數據庫管理系統是一個由相互關聯的數據集合和一組用訪問這些數據的程序組成,這個數據集合被稱之為數據庫其中包含了用戶訪問的所有信息,都需要存儲在里面
一、數據庫的基本概念
1.數據庫的組成
1.1數據(Data):
描述事務的符號記錄稱為數據(Data)。包括數字、文字、圖形、圖像、聲音、檔案記錄等,都是數據;以“記錄”形式按統一的格式進行存儲
數據是以"記錄"的形式按照統一的格式進行存儲的,而不是雜亂無章的,相同格式和類型的數據統一存放在一起,而不會把"人和"書"混在一起存儲,這樣,數據的存儲就能夠并然有序。
使用一些介質進行存儲,例如文字存在文檔中,數據庫可以完成數據持久化保存+快速提取,
數據如何保存:最外層–>mysql服務–>mysql數據庫–>數據表–>記錄為行,字段為列–>數據保存在一行行記錄中
1.2表:將不同的記錄組織在一起,用來存儲具體數據
? 記錄:行
? 字段(屬性):列
? 以行+列的形式就組成了表(數據存儲在表中)
? 關系數據庫的表由記錄組成,記錄由字段組成,字段由字符或數字組成,它可以供各種用戶共享,具有最小冗余度和較高的數據獨立性,它是統一管理的相關數據的集合
1.3數據庫:
? 表的集合,是存儲數據的倉庫
? 以一定的組織方式存儲的相互有關的數據集合
2.數據庫管理系統
數據庫.管理系統是實現對數據庫資源有效組織、管理和存取的系統軟件,它在操作系統的支持下,支持用戶對數據庫的各項操作
DBMS主要功能:
①、數據庫的建立和維護功能:包括建立數據庫的結構和數據的錄入與轉換、數據庫的轉儲與恢復、數據庫的重組與性能監視等功能
②數據定義功能:包括定義全局數據結構、局部邏輯數據結構、存儲結構、保密模式及信息格式等功能,保證存儲在數據庫中的數據正確、有效和相容,以防止不合語義的錯誤被輸入或輸出
③、數據操縱功能:包括數據查詢統計和數據更新兩個方面
④數據庫的運行管理功能:這是數據庫管理系統的核心部分,包括并發控制、存取控制、數據庫內部維護功能
⑤通信功能:DBMS與其他軟件系統之間的通信,如Access能與其他office組件進行數據交換
3.數據庫系統
數據庫系統(DatabaseSystem,DBS)是一個人機系統,一般由硬件、操作系統、數據庫、DBMS、應用軟件和數據庫用戶(包括數據庫管理員)組成,用戶可以通過DBMS操作數據庫,也可以通過應用程序操作數據庫
4.DBMS的工作模式
①、接受應用程序的數據請求和處理請求
②、將用戶的數據請求(高級指令)轉換為復雜機器代碼(底層指令)
③、實現對數據庫的操作
④、從數據庫的操作中接受查詢結果
⑤、對查詢結果進行處理(格式轉換)
⑥、將處理結果返回給用戶
二、數據庫系統發展史
1.第一代數據庫(人工管理)
- 自20世紀60年代起,第一代數據庫系統問世
- 是層次模型與網狀模型的數據庫系統
- 為統一管理和共享數據提供了有力的支撐
2.第二代數據庫(文件管理)
- 20世紀70年代初,第二代數據庫—關系數據庫開始出現
- 20世紀80年代初,IBM公司的關系數據庫系統DB2上市,開始逐步取代層次與網狀模型的數據庫,成為行業主流
- 到目前為止,關系數據庫系統仍占領數據庫應用的主要地位
3、第三代數據庫(數據庫系統管理)
- 自20世紀80年代開始,適應不同領域的新型數據庫系統不斷涌現
- 面向對象的數據庫系統,實用性強、適應面廣
- 20世紀90年代后期,形成了多種數據庫系統共同支撐應用的局面
- 一些新的元素被添加進主流數據庫系統中
例如:Oracle支持的“關系對緣”數據庫模型,一些新的元素被添加進主流數據庫系統中。
引申: SQL + NoSQL組合使用(NoSQL非關系型數據庫)
web——》redis ——》mysqlCPU——》緩存—》內存
三、當今主流數據庫
SQL Server(微軟公司產品):面向Windows操作系統;簡單、易用
Oracle(甲骨文公司產品):面向所有主流平臺;安全、完善、操作復雜
DB2(IBM公司產品):面向所有主流平臺;大型、安全、完善
MySQL(甲骨文公司收購):免費、開源、體積小
四、關系型數據庫和非關系型數據庫
1.關系型數據庫
1.1 關系型數據庫介紹
關系數據庫系統是基于關系模型的數據庫系統
關系模型的數據結構使用簡單易懂的二維數據表
每一行稱為一條記錄,用來描述一個對象的信息;每一行稱為一個字段,用來描述對象的一個屬性
關系模型可用簡單的"實體-關系-屬性"來表示
**實體:**也稱為實例,對應現實世界中可區別于其他對象的"事件"或"事物";如銀行客戶、銀行賬戶等
**屬性:**實體所具有的某一特性,一個實體可以有多個屬性,如"銀行客戶"實體集中的每個實體均具有姓名、住址、電話等屬性
**聯系:**實體集之間的對應關系稱為聯系,也稱為關系;如銀行客戶和銀行賬戶之間存在"儲蓄"的關系
所有實體及實體之間聯系的集合構成一個關系數據庫
1.2關系數據庫應用
| Oracle,MySQL | 12306用戶信息系統 |
| SQLServer\Sybase | 淘寶賬號系統 |
| Informix、access | 聯通手機號信息系統 |
| DB2、FoxPRO | 銀行用戶賬號系統 |
| PostgreSQL | 網站用戶信息系統 |
2.非關系數據庫介紹
①、非關系數據庫也被稱作NoSQL(Not Only SQL)
②、存儲數據不以關系模型為依據,不需要固定的表格式
非關系型數據庫的優點
- 數據庫可高并發讀寫
- 對海量數據高效率存儲與訪問
- 數據庫具有高擴展性與高可用性
3.關系型數據庫和非關系型數據庫的區別
3.1關系數據庫
關系數據庫結構是二維數據庫表,二維表當中每個字段(列)用來描述對象的一個屬性,每個記錄(行)用來描述一個對象的信息(完整信息),關系數據庫寫到哪里也就是存儲在硬盤當中讀寫系統就會受到的Io限制或者瓶頸
3.2關系數據庫優缺點
優點:
①、易于維護,都是使用表結構,格式一致
②、使用方便,sQL語言通用,可用于復雜查詢
③、復雜操作,支持sQL,可用于一個表以及多個表之間非常復雜的查詢
缺點:
①、讀寫性能較差,尤其是海量數據的高效率讀寫
②、固定的表結構,靈活度稍欠
③高并發讀寫需求,傳統關系型數據庫來說,硬盤I/O是一個很大的瓶頸
3.3非關系型數據庫(NoSQL)
MongoDB 、Redis(內存數據庫/緩存數據庫)K-V鍵值對、與之類似的Memcache,K-V鍵值對redis-memecache對比:
**相同點:**存儲高熱數據(在內存中高速運行)
**不同點:**redis可以做持久化,可以存儲對象
非關系型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合,可以是文檔或者鍵值對等
優點:
①、格式靈活:存儲數據的格式可以是key,value形式,文檔形式、圖片形式等等;文檔形式、圖片形式等等
②、使用靈活,應用場景廣泛,而關系型數據庫則只支持基礎類型
③、速度快:nosql可以使用硬盤或者隨機存儲器作為載體,而關系型數據庫只能使用硬盤
④、高擴展性;
⑤、成本低,nosql數據庫部署簡單,基本都是開源軟件
缺點:
①、不提供sql支持,學習和使用成本較高
②、無事務處理
③、數據結構相對復雜,復雜查詢方面稍欠
五、MySQL數據庫介紹
一款深受歡迎的開源關系型數據庫,Orcale旗下的產品;遵守GPL協議,可以免費使用與修改
特點:
- 性能卓越、服務穩定
- 開源、無版權限制、成本低
- 多線程、多用戶
- 基于C/S(客戶端/服務器)架構
- 安全可靠
安全可靠的原因是mysql日志文件能備份,恢復;不怕數據丟失,是mysql最核心部分
1.MySQL商業版與社區版
MySQL 商業版是由MySQL AB公司負載開發與維護,需要付費才能使用
MySQL 社區版是由分散在世界各地的MySQL開發者、愛好者一起開發與維護,可以免費使用
商業版與社區版的區別
①、商業版組織管理與測試環節更加嚴格,比社區版更穩定
②、商業版不遵守GPL,社區版遵從GPL可以免費使用
③、商業版可獲得7*24小時的服務,社區版則沒有
2.MySQL產品陣營
①、第一陣營:5.0-5.1陣營,可以說是早期產品的延續
②、第二陣營:5.4-5.7陣營,整合MySQL AB公司、社區和第三方公司開發的存儲引擎,從而提高性能
③第三陣營:6.0-7.1陣營,就是MySQL Cluster版本,為適應新時代對數據庫的集群需求而開發
**下載網址:**http://www.dev.mysql.com/downloads
總結
上述文章內容主要講述了數據庫的基本概念,數據庫系統發展歷史,當前主流數據庫有哪些;關系數據庫喝非關系數據庫的區別以及MySQL數據庫,描述主流的數據庫系統
總結
以上是生活随笔為你收集整理的MySQL数据库基础理论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习接口和代码之 KNN
- 下一篇: 为机器学习占地14