數據庫必知必會——初識數據庫

筆者:風起怨江南 出處:https://blog.csdn.net/JackMengJin 本文針對數據庫小白或最近準備面試的小夥伴,供大家交流學習,文章歡迎轉載,如果喜歡請點贊+關注,感謝支持!


 

一、初識數據庫

如今,要存儲和管理數據,就離不開數據庫。在數據存儲到數據庫後,就會通過數據庫管理系統對這些數據進行組織管理

數據管理:是指對各種數據進行分類組織編碼存儲檢索維護

1.1 數據管理的發展史

1.1.1 人工管理階段

時間:20實際50年代中期之前

背景:計算機硬件沒有磁盤、軟件沒有專門的管理數據的軟件

應用:僅限於科學技術方面

侷限:數據只能由計算和處理它的程序自行攜帶

人工管理階段的特點:

  • 數據不能長期保存
  • 程序本身管理數據
  • 數據不能共享
  • 數據不具有獨立性

1.1.2 文件系統階段

時間:20世紀50年代後期到20世紀60年代中期

背景:計算機硬件出現了磁盤,軟件出現了高級語言和操作系統,因此程序和數據有了一定獨立性

應用:不僅應用於科學技術,而且開始用於管理

革新程序和數據有獨立性,出現了程序文件和數據文件之分,也就是所謂的文件系統階段

文件系統階段的特點:

  • 數據可以長期保存
  • 數據由文件系統來管理
  • 數據冗餘大,共享性差
  • 數據獨立性差

1.1.3 數據庫系統階段

時間:20實際60年代後期至今

背景:網絡技術發展迅速,計算機軟硬件功能進步巨大

侷限:計算機需要管理規模巨大的數據,文件系統來管理數據已經遠遠無法滿足當時各種應用需求

革新:出現數據庫技術,特別是關係型數據庫技術

數據庫系統階段的特點:

  • 數據實現結構化
  • 數據實現了共享性
  • 數據獨立性強
  • 數據粒度變小

1.2 數據庫系統階段的概念

完全掌握數據庫系統階段的數據處理技術需要掌握以下這些概念。

1.2.1 數據庫(DataBase,DB)

數據庫是指長期保存在計算機的存儲設備上,按照一定規定組織起來,可以被各種用戶或應用共享的數據集合。

1.2.2 數據庫管理(DataBase Management System,DBMS)

數據庫管理是指一種操作和管理數據庫的大型軟件。

用於建立、使用和維護數據庫,對數據庫進行同意管理和控制,以保證數據庫的安全性和完整性。

用戶通過數據庫管理系統來訪問數據庫中的數據。

當前比較流行和常用的數據庫管理系統有以下幾個:

OracleMySQLSQL ServerDB2的等等。

1.2.3 數據庫系統

數據庫系統(DataBase System,DBS)是指在計算機系統中引入數據庫後的系統,通常由計算機硬件、軟件、數據庫管理系統和數據管理員組成。

在通常情況下,經常會用數據庫來表示它們使用的數據庫軟件。

這裏是有個很容易混淆的概念:

數據庫軟件應該爲數據庫管理系統,數據庫是通過數據庫管理系統創建和操作的容器。


1.3 數據庫技術經歷階段

數據庫系統管理數據階段,隨着時間的推移,又經歷了3個技術階段:

1.3.1 層次數據庫和網狀數據庫技術階段

層次數據庫代表爲IMS,1968年IBM爲阿波羅11號飛船順利登月提供了重要保障。

網狀數據庫代表爲IDS,其爲1961年美國通用電氣公司使用的數據庫。該階段的數據庫技術,支持三集模式結構用指針來表示數據之間的聯繫:數據定義語言和數據操縱語言相對獨立。

1.3.2 關係數據庫技術階段

關係數據庫技術的出現,可以說是數據庫系統管理數據的一個里程碑。

該技術特點:具有嚴格的數學理論,概念簡單清晰,便於使用。

關係數據庫技術的代表數據庫管理系統爲OracleDB2SQL ServerMySQL、和SyBaseInfomix等。

1.3.3 後關係數據庫技術階段

由於關係數據庫在數據模型、性能、擴展伸縮性上存在問題,所以出現了一些後關係數據庫的技術:

面向對象數據庫技術(ORDBMS)和結構化數據庫技術(NOSQL)。

ORDBMS技術:目前尚未完全成樹,但能很好的=地支持對數據和對象的管理,能夠很好地和麪向對象設計技術向融合。

NOSQL技術:打破了關係型數據庫與ACID理論相互統一的局面,利用NOSQL技術存儲數據時,不需要固定的表結構,因此在大型數據存取上具備了關係型數據庫無法比擬的性能優勢。


1.4 數據庫管理系統提供的功能

數據庫管理系統提供許多功能,可以通過SQL(結構化查詢語言)來定義和操作數據維護數據的完整性和安全性,以及進行各種數據庫的管理。

1.數據定義語言(Data Definition Language,DDL)

數據庫管理系統提供了數據定義語言定義數據庫涉及各種對象,定義數據的完整性約束、保密限制等約束。

2.數據操作語言(Data Manipulation Language,DML)

數據庫管理系統提供了數據操作語言實現對數據的操作。基本的數據操作有兩類:檢索(查詢)和更新(插入、刪除和更新)。

3.數據控制語言(Data Control Language,DCL)

數據庫管理系統提供了數據控制語言實現對數據庫的控制,包含數據完整性控制、數據安全性控制和數據庫的恢復等。


1.5 什麼SQL

SQL,發音爲字母S-Q-L或sequel,是Structure Query Laguage(結構化查詢語句)的縮寫,是目前廣泛使用的關係數據庫標準語言。

時間:由IBM在20世紀70年代開發出來,被作爲IBM關係數據庫System R的原型關係語言,實現關係數據庫中信息的檢索。

特點:簡單易學、功能豐富、使用靈活。

地位:SQL被美國國家標準局(ANSI)確定爲關係型數據庫語言的美國標準,後來又被國際標準化組織(ISO)採納爲關係數據庫語言的國際標準。

影響:SQL標準出臺,使得所有數據庫生產廠家都退出了各自支持的SQL的數據庫管理系統。

功能:SQL具有數據庫管理系統的所有功能,主要功能如下:數據定義語言、數據操作語言和數據控制語言。

SQL具有如下優點:

  • SQL不是某個數據庫供應商的專有語言,所有數據庫管理系統都支持SQL,學習了SQL就能與所有數據庫進行交互。
  • SQL簡單易學,由描述性很強的英語單詞組成,數量不多。
  • SQL高度非過程化,即SQL進行數據庫操作,只需指出做什麼,不需要指明怎麼做,存取路徑的選擇和操作的執行由數據庫管理數據系統自動完成。

二、MySQL數據庫管理系統

注:後文中MySQL來代替MySQL數據庫管理系統。

2.1 開源中的傑出代表——MySQL

開源,就是開放資源(Open Source)的意思。開源即是自由的化身,提倡一種公開、自由的精神。

最早起源於1997年在加州召開的一個研討會,會議上有各樣的黑客大佬和程序員,通過了一個新的術語:開源。

開源的轉折點:1998年,網景公司正式宣佈其發佈的Navigator瀏覽器的源代碼,此事也成爲了開源軟件發展歷史的轉折點。

由於開源所提倡的公開自由的精神,爲軟件行業及非軟件行業帶來了巨大的參考價值。雖然獲取到開放軟件的源碼是免費的,但是對源碼的使用、修改卻需要遵循該開源軟件所作的許可聲明。常用的許可方式包括BSD、Apache Licence、GPL等。其中GNU的GPL爲最常用的許可證之一。

在開源文化強力帶動下,產生出強大的開源操作系統Linux,還有Apache服務器,Perl程序語言、MySQL數據庫等等。


2.2 MySQL發展歷史

最早追溯到1979年,由Monty Widenius用BASIC設計了一個報表工具,後又將該工具使用C語言重寫,移植到UNIX平臺,當時還只是一個底層的面向報表的存儲引擎。工具名叫Unireg。

1985年三個瑞典人David Axmark、Allan Larsson和Michael Widenius成立了一家公司,這就是MySQL AB的前身。並設計一個利用索引順序存取數據的方法,也就是ISAM存儲引擎核心算法的前身。

MySQL是一款免費開源、小型、關係型數據庫管理系統。2008年被SUN公司收購,並於2009年又被Oracle收購。

MySQL雖然免費,但與商業數據庫一樣,具有數據庫系統的通用性,提供了數據的存取、增加、修改、刪除或更加複雜的數據操作。

同時MySQL是關係型的數據庫系統,支持標準的結構化查詢語言,同時MySQL爲客戶提供了不同的程序接口和鏈路庫,如C、C++、Java、PHP等。

由於MySQL體積小、速度快、總體擁有成本低,尤其是開源的特點,許多中小型網站爲了降低網站總體擁有的成本,而選擇了MySQL作爲網站數據庫。

截至當前時間,已經可以下載mySQL.8.0.19版本。


2.3 常見數據庫管理系統

常見的數據庫管理系統產品主要是OracleIBMMicrosoftSybase等公司的產品。

2.3.1 Oracle數據庫管理系統

Oracle數據庫管理系統被認爲是業界目前比較成功的關係型數據庫管理系統

  • 公司:Oracle公司1983年推出
  • 特點:運行穩定、功能齊全、性能超羣,技術方面遙遙領先

2.3.2 DB2數據庫管理系統

DB2數據庫管理系統是一款支持多媒體、Web關係型數據庫管理系統

  • 特點:滿足大中型公司的需要,可以靈活服務於中小型電子商務解決方案

2.3.3 SQL Sever數據庫管理系統

SQL Server數據庫管理系統是一款功能比較全面,效率比較高,可以作爲大中型企業或單位的數據庫管理系統。

  • 公司:Microsoft公司
  • 特點:繼承了Microsoft軟件產品的界面友好、易學易用的特點,與其他大型數據庫管理系統產品相比,操作性和交互性方面獨樹一幟

2.3.4 PostgreSQL數據庫管理系統

PostgreSQL數據庫管理系統是一款最富特色的自由數據庫管理系統,也是最強大的自由庫管理系統。

  • 特點:支持世界上最豐富的數據類型,是自由軟件數據庫管理系統中唯一支持事務,子查詢、多版本並行控制系統、數據完整性檢查等特性的自由軟件

下一篇內容講mySQL數據庫下載和安裝。

本文部分內容參考《MySQL數據庫應用從入門到精通》等相關資料編寫,供大家學習交流。

獲得免費的學習資料請添加微信公衆號——風起怨江南,謝謝大家的關注和支持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章