生活随笔
收集整理的這篇文章主要介紹了
数据库理论知识
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、什么是數(shù)據(jù)庫(kù)
- 二、數(shù)據(jù)庫(kù)的4個(gè)基本概念
- 三、數(shù)據(jù)庫(kù)的特點(diǎn)
- 四、數(shù)據(jù)庫(kù)工作流程
- 五、數(shù)據(jù)庫(kù)分類
- 1.關(guān)系型數(shù)據(jù)庫(kù)
- 1)關(guān)系型數(shù)據(jù)庫(kù)介紹
- 2)關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)
- 3)關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)
- 4)關(guān)系型數(shù)據(jù)庫(kù)代表
- 5)關(guān)系型數(shù)據(jù)庫(kù)的應(yīng)用
- 2.非關(guān)系型數(shù)據(jù)庫(kù)
- 1)非關(guān)系型數(shù)據(jù)庫(kù)介紹
- 2)非關(guān)系型數(shù)據(jù)庫(kù)代表
- 3)非關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)
一、什么是數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)是存放數(shù)據(jù)的倉(cāng)庫(kù)。它的存儲(chǔ)空間很大,可以存放百萬(wàn)條、千萬(wàn)條、上億條數(shù)據(jù)。但是數(shù)據(jù)庫(kù)并不是隨意地將數(shù)據(jù)進(jìn)行存放,是有一定的規(guī)則的,否則查詢的效率會(huì)很低。當(dāng)今世界是一個(gè)充滿著數(shù)據(jù)的互聯(lián)網(wǎng)世界,充斥著大量的數(shù)據(jù)。即這個(gè)互聯(lián)網(wǎng)世界就是數(shù)據(jù)世界。數(shù)據(jù)的來(lái)源有很多,比如出行記錄、消費(fèi)記錄、瀏覽的網(wǎng)頁(yè)、發(fā)送的消息等等。除了文本類型的數(shù)據(jù),圖像、音樂(lè)、聲音都是數(shù)據(jù)。
數(shù)據(jù)庫(kù)是一個(gè)按數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)和管理數(shù)據(jù)的計(jì)算機(jī)軟件系統(tǒng)。數(shù)據(jù)庫(kù)的概念實(shí)際包括兩層意思:
數(shù)據(jù)庫(kù)是一個(gè)實(shí)體,它是能夠合理保管數(shù)據(jù)的“倉(cāng)庫(kù)”,用戶在該“倉(cāng)庫(kù)”中存放要管理的事務(wù)數(shù)據(jù),“數(shù)據(jù)”和“庫(kù)”兩個(gè)概念結(jié)合成為數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的新方法和技術(shù),它能更合適的組織數(shù)據(jù)、更方便的維護(hù)數(shù)據(jù)、更嚴(yán)密的控制數(shù)據(jù)和更有效的利用數(shù)據(jù)。
數(shù)據(jù)庫(kù)作為最重要的基礎(chǔ)軟件,是確保計(jì)算機(jī)系統(tǒng)穩(wěn)定運(yùn)行的基石。
二、數(shù)據(jù)庫(kù)的4個(gè)基本概念
數(shù)據(jù)(Data):數(shù)據(jù)是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象。官方解釋為描述事務(wù)的符號(hào)記錄稱為數(shù)據(jù),它可以是數(shù)字、文字、圖形、圖像、音頻、視頻等。數(shù)據(jù)有多種表現(xiàn)形式,他們都可以經(jīng)過(guò)數(shù)字化后存入計(jì)算機(jī)。記錄是計(jì)算機(jī)中表示和存儲(chǔ)數(shù)據(jù)的一種格式或一種方法。數(shù)據(jù)庫(kù)(DataBase,DB):顧名思義,數(shù)據(jù)庫(kù)就是存放數(shù)據(jù)的倉(cāng)庫(kù),只不過(guò)這個(gè)倉(cāng)庫(kù)是在計(jì)算機(jī)存儲(chǔ)設(shè)備上,而且數(shù)據(jù)是按照一定的格式存放的。嚴(yán)格的講,數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)中、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí)按一定的數(shù)據(jù)模型組織、描述、存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易拓展性,并可為各種用戶共享。概括的講,數(shù)據(jù)庫(kù)數(shù)據(jù)具有永久存儲(chǔ)、有組織、可共享三個(gè)基本特點(diǎn)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System,DBMS):數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)介于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。它的主要功能包含以下幾個(gè)方面: - 數(shù)據(jù)定義
- 數(shù)據(jù)組織、存儲(chǔ)、管理
- 數(shù)據(jù)操縱
- 數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理
- 數(shù)據(jù)庫(kù)的建立和維護(hù)
數(shù)據(jù)庫(kù)系統(tǒng)(DataBase System,DBS):數(shù)據(jù)庫(kù)系統(tǒng)是由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)及其應(yīng)用開(kāi)發(fā)工具、應(yīng)用程序和數(shù)據(jù)庫(kù)管理員(DataBase Administrator,DBA)組成的存儲(chǔ)、管理、處理、維護(hù)數(shù)據(jù)的系統(tǒng)。
三、數(shù)據(jù)庫(kù)的特點(diǎn)
數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)的共享性高、冗余度低且易擴(kuò)充數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理和控制
四、數(shù)據(jù)庫(kù)工作流程
用戶通過(guò)應(yīng)用程序發(fā)起數(shù)據(jù)庫(kù)的處理請(qǐng)求(增刪改查)數(shù)據(jù)庫(kù)管理系統(tǒng)將處理請(qǐng)求轉(zhuǎn)換為機(jī)器語(yǔ)言實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)及數(shù)據(jù)的操作在處理完畢后將結(jié)果通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)返回給用戶
五、數(shù)據(jù)庫(kù)分類
1.關(guān)系型數(shù)據(jù)庫(kù)
1)關(guān)系型數(shù)據(jù)庫(kù)介紹
關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)是基于關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)使用簡(jiǎn)單易懂的二維數(shù)據(jù)表關(guān)系模型可用簡(jiǎn)單的“實(shí)體-關(guān)系”(E-R)圖來(lái)表示E-R圖中包含了實(shí)體(數(shù)據(jù)對(duì)象)、聯(lián)系和屬性三個(gè)要素
實(shí)體:客觀存在并可相互區(qū)別的事物成為實(shí)體。實(shí)體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系,例如一個(gè)學(xué)生、一個(gè)部門(mén)、一門(mén)課等都是實(shí)體。
實(shí)體集:同一類型的實(shí)體的集合稱為實(shí)體集。例如,全體學(xué)生就是一個(gè)實(shí)體集。
屬性:實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以有若干個(gè)屬性來(lái)刻畫(huà)。例如,學(xué)生實(shí)體可以由學(xué)號(hào)、姓名、性別、出生年月、所在院系、入學(xué)時(shí)間等屬性組成,這些屬性表征了一個(gè)學(xué)生。
聯(lián)系:在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反應(yīng)為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系,實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。實(shí)體之間的聯(lián)系有一對(duì)一、一對(duì)多、多對(duì)多等多種類型。
一 對(duì)一聯(lián)系:如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有1個(gè)(可以沒(méi)有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系,記為1:1。例如,一個(gè)班級(jí)只有一個(gè)班長(zhǎng),而一個(gè)班長(zhǎng)只在一個(gè)班級(jí)中任職,則班級(jí)與班長(zhǎng)之間具有一對(duì)一聯(lián)系。一對(duì)多聯(lián)系:如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n>=0)與之聯(lián)系;反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多有1個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有一對(duì)多聯(lián)系,記為1:n。例如,一個(gè)班級(jí)有n個(gè)學(xué)生,而每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí),則班級(jí)與學(xué)生之間具有一對(duì)多聯(lián)系。多對(duì)多聯(lián)系:如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n>=0)與之聯(lián)系;反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m>=0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對(duì)多聯(lián)系,記為m:n。例如,一個(gè)學(xué)生可以選修多門(mén)課程,而一門(mén)課程可以有多個(gè)學(xué)生選修,則課程與學(xué)生之間具有多對(duì)多聯(lián)系。
2)關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)
關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)是二維表格。
在每個(gè)二維表中:
- 每一行稱為一條記錄,用來(lái)描述一個(gè)對(duì)象的信息。
- 每一列稱為一個(gè)字段,用來(lái)描述對(duì)象的一個(gè)屬性。
3)關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
易于維護(hù):都是使用表結(jié)構(gòu),格式一致;使用方便:SQL語(yǔ)言通用,可用于復(fù)雜查詢;復(fù)雜操作:支持SQL,可用于一個(gè)表以及多個(gè)表之間非常復(fù)雜的查詢。
缺點(diǎn):
讀寫(xiě)性能比較差,尤其是海量數(shù)據(jù)的高效率讀寫(xiě);固定的表結(jié)構(gòu),靈活度稍欠;高并發(fā)讀寫(xiě)需求,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),硬盤(pán)I/O是一個(gè)很大的瓶頸。
4)關(guān)系型數(shù)據(jù)庫(kù)代表
Oracle,MySQLSQLServer、SybaseInformix、accessDB2、FoxPRO
5)關(guān)系型數(shù)據(jù)庫(kù)的應(yīng)用
12306鐵路購(gòu)票系統(tǒng)淘寶賬號(hào)系統(tǒng)銀行用戶賬號(hào)系統(tǒng)
2.非關(guān)系型數(shù)據(jù)庫(kù)
1)非關(guān)系型數(shù)據(jù)庫(kù)介紹
非關(guān)系數(shù)據(jù)庫(kù)也被稱作NoSQL (Not Only SQL)
存儲(chǔ)數(shù)據(jù)不以關(guān)系模型為依據(jù),不需要固定的表格式。
2)非關(guān)系型數(shù)據(jù)庫(kù)代表
Redis、Memcache:緩存型數(shù)據(jù)庫(kù)mongoDB:文檔型數(shù)據(jù)庫(kù)Elasticsearch(ES):索引型數(shù)據(jù)庫(kù)
3)非關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
數(shù)據(jù)庫(kù)可高并發(fā)讀寫(xiě)。對(duì)海量數(shù)據(jù)高效率存儲(chǔ)與訪問(wèn)。nosql可以使用硬盤(pán)或者隨機(jī)存儲(chǔ)器作為載體,而關(guān)系型數(shù)據(jù)庫(kù)只能使用硬盤(pán)數(shù)據(jù)庫(kù)具有高擴(kuò)展性與高可用性。成本低:nosql數(shù)據(jù)庫(kù)部署簡(jiǎn)單,基本都是開(kāi)源軟件。格式靈活,存儲(chǔ)數(shù)據(jù)的格式可以是key/value(鍵值對(duì))形式、文檔形式、圖片形式等等,使用靈活,應(yīng)用場(chǎng)景廣泛,而關(guān)系型數(shù)據(jù)庫(kù)則只支持基礎(chǔ)類型。
缺點(diǎn):
不提供sql支持,學(xué)習(xí)和使用成本較高;無(wú)事務(wù)處理;數(shù)據(jù)結(jié)構(gòu)相對(duì)復(fù)雜,復(fù)雜查詢方面稍欠。
總結(jié)
以上是生活随笔為你收集整理的数据库理论知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。