1、数据库是什么?关系型数据库和非关系型数据库又是什么?
在學(xué)習(xí)數(shù)據(jù)庫之前,應(yīng)該先理解什么是數(shù)據(jù)。本節(jié)先介紹數(shù)據(jù)以及數(shù)據(jù)庫的概念,再對關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的優(yōu)缺點進(jìn)行分析。
描述事物的符號稱為數(shù)據(jù)。數(shù)據(jù)有多種表現(xiàn)形式,可以是數(shù)字,也可以是文字、圖形、圖像、聲音、語言等。在數(shù)據(jù)庫中數(shù)據(jù)表示記錄,例如,在學(xué)生管理數(shù)據(jù)庫中,記錄學(xué)生的信息包括學(xué)號、姓名、性別、年齡、籍貫和聯(lián)系電話等,這些信息就是數(shù)據(jù)。
信息是指對數(shù)據(jù)進(jìn)行加工處理后提取的對人類社會實踐和生產(chǎn)活動產(chǎn)生決策影響的數(shù)據(jù)。信息就是數(shù)據(jù)中所包含的意義。未經(jīng)過加工的數(shù)據(jù)只是一種原始材料,它的價值在于記錄了客觀世界的事實。
例如“2016010102,張三,男,26,山西,計算機學(xué)院,185********”,對于這條學(xué)生記錄,了解其含義的人會得到這樣的信息:張三的學(xué)號是 2016010102,今年 26 歲,山西人,就讀于計算機學(xué)院,他的聯(lián)系電話是 185********;而不了解其語義的人則無法理解其含義。所以,數(shù)據(jù)和信息是不可分的。
數(shù)據(jù)庫(Database)指長期存儲在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。通俗的講,數(shù)據(jù)庫就是存儲數(shù)據(jù)的地方,就像冰箱是存儲食物的地方一樣。在生活中,每個人都在使用數(shù)據(jù)庫。當(dāng)我們在電話簿里查找名字時,就是在使用數(shù)據(jù)庫。在某個瀏覽器上進(jìn)行搜索時,也是在使用數(shù)據(jù)庫。以及平時我們登錄網(wǎng)絡(luò),也需要依靠數(shù)據(jù)庫驗證自己的名字和密碼。即便是在使用 ATM 機時,也要利用數(shù)據(jù)庫進(jìn)行 PIN 碼驗證和余額檢查。
數(shù)據(jù)庫實際上就是一個文件集合,是一個存儲數(shù)據(jù)的倉庫,本質(zhì)就是一個文件系統(tǒng),數(shù)據(jù)庫是按照特定的格式把數(shù)據(jù)存儲起來,用戶可以對存儲的數(shù)據(jù)進(jìn)行增刪改查操作。
在日常生活中,人們可以直接用中文、英文等自然語言描述客觀事物。在計算機中,則要抽象出對這些事物感興趣的特征,并組成一個記錄來描述。
數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫系統(tǒng)的核心軟件之一,是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件,用于建立,使用和維護數(shù)據(jù)庫。它的主要功能包括數(shù)據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)庫的運行管理、數(shù)據(jù)庫的建立和維護等幾個方面。
我們常說 XX 數(shù)據(jù)庫,其實實質(zhì)上是 XX 數(shù)據(jù)庫管理系統(tǒng)。目前,較為流行的數(shù)據(jù)庫管理系統(tǒng)有 MySQL、SQL Server、Oracle 和 DB2 等。
數(shù)據(jù)庫有兩種類型,分別是關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。
關(guān)系型數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。簡單說,關(guān)系型數(shù)據(jù)庫是由多張能互相連接的表組成的數(shù)據(jù)庫。
優(yōu)點
- 都是使用表結(jié)構(gòu),格式一致,易于維護。
- 使用通用的 SQL 語言操作,使用方便,可用于復(fù)雜查詢。
- 數(shù)據(jù)存儲在磁盤中,安全。
缺點
- 讀寫性能比較差,不能滿足海量數(shù)據(jù)的高效率讀寫。
- 不節(jié)省空間。因為建立在關(guān)系模型上,就要遵循某些規(guī)則,比如數(shù)據(jù)中某字段值即使為空仍要分配空間。
- 固定的表結(jié)構(gòu),靈活度較低。
常見的關(guān)系型數(shù)據(jù)庫有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。
非關(guān)系型數(shù)據(jù)庫
非關(guān)系型數(shù)據(jù)庫又被稱為 NoSQL(Not Only SQL ),意為不僅僅是 SQL。通常指數(shù)據(jù)以對象的形式存儲在數(shù)據(jù)庫中,而對象之間的關(guān)系通過每個對象自身的屬性來決定。
優(yōu)點
- 非關(guān)系型數(shù)據(jù)庫存儲數(shù)據(jù)的格式可以是 key-value
形式、文檔形式、圖片形式等。使用靈活,應(yīng)用場景廣泛,而關(guān)系型數(shù)據(jù)庫則只支持基礎(chǔ)類型。 - 速度快,效率高。 NoSQL 可以使用硬盤或者隨機存儲器作為載體,而關(guān)系型數(shù)據(jù)庫只能使用硬盤。
- 海量數(shù)據(jù)的維護和處理非常輕松。
- 非關(guān)系型數(shù)據(jù)庫具有擴展簡單、高并發(fā)、高穩(wěn)定性、成本低廉的優(yōu)勢。
- 可以實現(xiàn)數(shù)據(jù)的分布式處理。
缺點
- 非關(guān)系型數(shù)據(jù)庫暫時不提供 SQL 支持,學(xué)習(xí)和使用成本較高。
- 非關(guān)系數(shù)據(jù)庫沒有事務(wù)處理,沒有保證數(shù)據(jù)的完整性和安全性。適合處理海量數(shù)據(jù),但是不一定安全。
- 功能沒有關(guān)系型數(shù)據(jù)庫完善。
常見的非關(guān)系型數(shù)據(jù)庫有 Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等。
總結(jié)
以上是生活随笔為你收集整理的1、数据库是什么?关系型数据库和非关系型数据库又是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8、实例:日期查询
- 下一篇: 3、常用数据库访问接口简介