在學習數據庫之前,應該先理解什么是數據。本節先介紹數據以及數據庫的概念,再對關系型數據庫和非關系型數據庫的優缺點進行分析。
描述事物的符號稱為數據。數據有多種表現形式,可以是數字,也可以是文字、圖形、圖像、聲音、語言等。在數據庫中數據表示記錄,例如,在學生管理數據庫中,記錄學生的信息包括學號、姓名、性別、年齡、籍貫和聯系電話等,這些信息就是數據。
信息是指對數據進行加工處理后提取的對人類社會實踐和生產活動產生決策影響的數據。信息就是數據中所包含的意義。未經過加工的數據只是一種原始材料,它的價值在于記錄了客觀世界的事實。
例如“2016010102,張三,男,26,山西,計算機學院,185\*\*\*\*\*\*\*\*”,對于這條學生記錄,了解其含義的人會得到這樣的信息:張三的學號是 2016010102,今年 26 歲,山西人,就讀于計算機學院,他的聯系電話是 185\*\*\*\*\*\*\*\*;而不了解其語義的人則無法理解其含義。所以,數據和信息是不可分的。
數據庫(Database)指長期存儲在計算機內的、有組織的、可共享的數據集合。通俗的講,數據庫就是存儲數據的地方,就像冰箱是存儲食物的地方一樣。在生活中,每個人都在使用數據庫。當我們在電話簿里查找名字時,就是在使用數據庫。在某個瀏覽器上進行搜索時,也是在使用數據庫。以及平時我們登錄網絡,也需要依靠數據庫驗證自己的名字和密碼。即便是在使用 ATM 機時,也要利用數據庫進行 PIN 碼驗證和余額檢查。
數據庫實際上就是一個文件集合,是一個存儲數據的倉庫,本質就是一個文件系統,數據庫是按照特定的格式把數據存儲起來,用戶可以對存儲的數據進行增刪改查操作。
在日常生活中,人們可以直接用中文、英文等自然語言描述客觀事物。在計算機中,則要抽象出對這些事物感興趣的特征,并組成一個記錄來描述。
數據庫管理系統(DBMS)是數據庫系統的核心軟件之一,是位于用戶與操作系統之間的數據管理軟件,用于建立,使用和維護數據庫。它的主要功能包括數據定義、數據操作、數據庫的運行管理、數據庫的建立和維護等幾個方面。
我們常說 XX 數據庫,其實實質上是 XX 數據庫管理系統。目前,較為流行的數據庫管理系統有MySQL、SQL Server、Oracle 和 DB2 等。
> 本教程主要介紹 MySQL 數據庫,可參考《常用數據庫介紹及數據庫優缺點淺析》一節簡單了解其它數據庫。
數據庫有兩種類型,分別是關系型數據庫和非關系型數據庫。
## 關系型數據庫
關系型數據庫是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。簡單說,關系型數據庫是由多張能互相連接的表組成的數據庫。
#### 優點
1. 都是使用表結構,格式一致,易于維護。
2. 使用通用的 SQL 語言操作,使用方便,可用于復雜查詢。
3. 數據存儲在磁盤中,安全。
#### 缺點
1. 讀寫性能比較差,不能滿足海量數據的高效率讀寫。
2. 不節省空間。因為建立在關系模型上,就要遵循某些規則,比如數據中某字段值即使為空仍要分配空間。
3. 固定的表結構,靈活度較低。
常見的關系型數據庫有?Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。
## 非關系型數據庫
非關系型數據庫又被稱為NoSQL(Not Only SQL ),意為不僅僅是 SQL。通常指數據以對象的形式存儲在數據庫中,而對象之間的關系通過每個對象自身的屬性來決定。
#### 優點
1. 非關系型數據庫存儲數據的格式可以是 key-value 形式、文檔形式、圖片形式等。使用靈活,應用場景廣泛,而關系型數據庫則只支持基礎類型。
2. 速度快,效率高。 NoSQL 可以使用硬盤或者隨機存儲器作為載體,而關系型數據庫只能使用硬盤。
3. 海量數據的維護和處理非常輕松。
4. 非關系型數據庫具有擴展簡單、高并發、高穩定性、成本低廉的優勢。
5. 可以實現數據的分布式處理。
#### 缺點
1. 非關系型數據庫暫時不提供 SQL 支持,學習和使用成本較高。
2. 非關系數據庫沒有事務處理,沒有保證數據的完整性和安全性。適合處理海量數據,但是不一定安全。
3. 功能沒有關系型數據庫完善。
常見的非關系型數據庫有?Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和HBase等。
- 數據庫入門
- 1.常用的數據庫
- 2.數據管理技術的3個發展階段
- 3.數據庫是什么?關系型數據庫和非關系型數據庫又是什么?
- 4.為什么要使用數據庫?
- 5.數據庫系統是什么?它由哪幾部分組成?
- 6.常用數據庫訪問接口簡介
- 7.數據庫的種類有哪些?
- 8.幾種常用的數據庫
- 9.MySQL是什么
- 10.MySQL適用于哪些場景?
- 11.學MySQL前,需要了解這些數據庫專業術語
- 12.MySQL客戶端和服務器架構(C/S架構)
- 13.明白了MySQL內部結構才能成為高手!
- 14.如何學習數據庫(新手必看)?
- 15.小白學習MySQL需要多長時間,能從事哪方面的工作?
- 16.當前市場對數據庫程序員的需求如何?待遇如何?
- 17.DBA到底要做什么,成為一名DBA需要具備什么能力?
- 一、數據庫的概念和常用工具
- 二、MySQL規范、配置及登錄退出操作
- 三、MySQL中的數據類型
- 四、數據庫增查改刪等操作
- 五、數據表增查改刪操作
- 六、MySQL數據增查改刪操作
- 七、MySQL存儲引擎
- 八、MySQL常用函數
- MySQL的安裝和配置
- 1.MySQL 5.7的新特性(新功能)
- 2.MySQL下載步驟詳解
- 3.MySQL安裝配置教程(Windows系統)
- 4.MySQL免安裝版配置教程
- 5.MySQL配置環境變量
- 6.安裝MySQL后,如何判斷是否已安裝成功
- 7.啟動MySQL服務的兩種方式(圖解)
- 8.登錄MySQL數據庫
- 9.對Linux MySQL軟件包的一些說明
- 10.Linux CentOS卸載MySQL(Linux安裝MySQL前的準備)
- 11.Linux安裝配置MySQL詳細步驟
- 12.MySQL my.cnf配置文件詳解
- 13.MySQL常用圖形化管理工具
- 14.MySQL安裝后的目錄結構介紹
- 15.MySQL數據庫文件存放目錄結構詳解
- 16.MySQL配置文件(my.ini)詳解
- 17.與其它數據庫不同,MySQL可以在不同的SQL模式下運行
- 18.MySql Command Line Client閃退原因及解決方案
- MySQL數據庫的基本操作
- 1.SQL是什么?它能做什么?
- 2.SQL的基本書寫規則
- 3.MySQL查看或顯示數據庫(SHOW DATABASES語句)
- 4.MySQL創建數據庫(CREATE DATABASE語句)
- 5.MySQL修改數據庫:ALTER DATABASE用法簡介
- 6.MySQL刪除數據庫(DROP DATABASE語句)
- 7.MySQL選擇數據庫(MySQL USE語句)
- 8.MySQL注釋:單行注釋和多行注釋
- 9.MySQL中SQL語句的大小寫規則
- 10.如何查看MySQL系統幫助?
- 11.看懂SQL錯誤代碼,提高學習效率!
- 數據庫高級
- 一、視圖的操作
- 二、觸發器的操作
- 三、事務的操作
- 四、索引的操作
- 五、存儲過程的操作
- 六、數據庫的優化方案
- 1.分庫、分表和索引
- 2.讀寫分離和查詢優化
- 3.join代替子查詢
- 4.盡量使用短小的事務
- 5.常用小技巧
- MySQL使用注意事項
- 1.字符亂碼及連接驅動