一、Python的字典和數(shù)據(jù)庫(kù)有什么區(qū)別
1、Python 中的字典是哈希表(hash tables)的一種抽象數(shù)據(jù)類(lèi)型的具體實(shí)現(xiàn)。 字典存在于內(nèi)存中。
如果沒(méi)有將字典的數(shù)據(jù)持久化(寫(xiě)入到文件或數(shù)據(jù)庫(kù)),隨著程序運(yùn)行的結(jié)束,數(shù)據(jù)就會(huì)消失。
字典主要用途:利用字典key的少數(shù)性,和 根據(jù)key 查找(Get Item)時(shí)間復(fù)雜度為O(1)的特性來(lái)應(yīng)用。
例子:利用字典統(tǒng)計(jì)英文文章中單詞出現(xiàn)的數(shù)量。
????? 利用字典來(lái)構(gòu)建圖結(jié)構(gòu)的鄰接表表示。
2、數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)是有組織的數(shù)據(jù)收集,通常以電子方式從計(jì)算機(jī)系統(tǒng)存儲(chǔ)和訪(fǎng)問(wèn)。在數(shù)據(jù)庫(kù)更復(fù)雜的地方,它們通常使用正式的設(shè)計(jì)和建模技術(shù)進(jìn)行開(kāi)發(fā)。
數(shù)據(jù)庫(kù)管理系統(tǒng) (DBMS) 是與最終用戶(hù)、應(yīng)用程序和數(shù)據(jù)庫(kù)本身交互以捕獲和分析數(shù)據(jù)的軟件。DBMS 軟件還包含為管理數(shù)據(jù)庫(kù)而提供的核心設(shè)施。數(shù)據(jù)庫(kù)、DBMS和相關(guān)應(yīng)用程序的總和可以稱(chēng)為“數(shù)據(jù)庫(kù)系統(tǒng)”。通常,術(shù)語(yǔ)“數(shù)據(jù)庫(kù)”也用于松散地指代任何DBMS,數(shù)據(jù)庫(kù)系統(tǒng)或與數(shù)據(jù)庫(kù)關(guān)聯(lián)的應(yīng)用程序。
計(jì)算機(jī)科學(xué)家可以根據(jù)數(shù)據(jù)庫(kù)管理系統(tǒng)支持的數(shù)據(jù)庫(kù)模型對(duì)它們進(jìn)行分類(lèi)。關(guān)系數(shù)據(jù)庫(kù)在 1980 年代占主導(dǎo)地位。這些將數(shù)據(jù)建模為一系列表中的行和列,并且絕大多數(shù)使用 SQL 來(lái)寫(xiě)入和查詢(xún)數(shù)據(jù)。在 2000 年代,非關(guān)系數(shù)據(jù)庫(kù)開(kāi)始流行,稱(chēng)為 NoSQL,因?yàn)樗鼈兪褂貌煌牟樵?xún)語(yǔ)言。
數(shù)據(jù)庫(kù)是通常從計(jì)算機(jī)系統(tǒng)以電子方式存儲(chǔ)和訪(fǎng)問(wèn)的數(shù)據(jù)的有組織的集合。 在數(shù)據(jù)庫(kù)更復(fù)雜的地方,通常使用正式的設(shè)計(jì)和建模技術(shù)來(lái)開(kāi)發(fā)它們。
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是與最終用戶(hù),應(yīng)用程序和數(shù)據(jù)庫(kù)本身進(jìn)行交互以捕獲和分析數(shù)據(jù)的軟件。 DBMS軟件還包含為管理數(shù)據(jù)庫(kù)而提供的核心功能。 數(shù)據(jù)庫(kù),DBMS和關(guān)聯(lián)的應(yīng)用程序的總和可以稱(chēng)為“數(shù)據(jù)庫(kù)系統(tǒng)”。 通常,術(shù)語(yǔ)“數(shù)據(jù)庫(kù)”還用于寬松地指代任何DBMS,數(shù)據(jù)庫(kù)系統(tǒng)或與數(shù)據(jù)庫(kù)關(guān)聯(lián)的應(yīng)用程序。
計(jì)算機(jī)科學(xué)家可以根據(jù)他們支持的數(shù)據(jù)庫(kù)模型對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行分類(lèi)。關(guān)系數(shù)據(jù)庫(kù)在1980年代占主導(dǎo)地位。 這些模型數(shù)據(jù)是一系列表中的行和列,并且絕大多數(shù)使用SQL來(lái)編寫(xiě)和查詢(xún)數(shù)據(jù)。 在2000年代,非關(guān)系數(shù)據(jù)庫(kù)開(kāi)始流行,被稱(chēng)為NoSQL,因?yàn)樗鼈兪褂貌煌牟樵?xún)語(yǔ)言。
延伸閱讀:
二、什么是數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)就是英文的“database”翻譯來(lái)的,data + base,故名思義就是數(shù)據(jù)的根源,數(shù)據(jù)的基礎(chǔ)。那么為什么要有數(shù)據(jù)庫(kù)呢,數(shù)據(jù)庫(kù)首先是個(gè)計(jì)算機(jī)軟件,在所謂數(shù)據(jù)庫(kù)誕生之前,常用方法可能是程序員自己寫(xiě)一個(gè)小程序來(lái)完成數(shù)據(jù)處理分析這樣的工作。
伴隨著計(jì)算機(jī)的普及,越來(lái)越多的場(chǎng)景開(kāi)始使用計(jì)算機(jī),產(chǎn)生了越來(lái)越多的數(shù)據(jù),也催生了越來(lái)越多的數(shù)據(jù)分析需求。為了降低數(shù)據(jù)分析的門(mén)檻,讓更多人能夠更方便高效地管理分析數(shù)據(jù),工程師們就打造了一種專(zhuān)門(mén)的軟件來(lái)幫助人們對(duì)數(shù)據(jù)進(jìn)行合理的存儲(chǔ)以提高存取效率,提供易用的接口和豐富的分析算法以方便使用,集成有效的管理工具以提高數(shù)據(jù)安全性等等,這就是數(shù)據(jù)庫(kù),也被稱(chēng)為數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,Database management system)。
數(shù)據(jù)庫(kù)是一整套數(shù)據(jù)管理體系,包括數(shù)據(jù)存儲(chǔ)的模型、數(shù)據(jù)組織的架構(gòu)、數(shù)據(jù)分析的算法、數(shù)據(jù)管理的工具以及數(shù)據(jù)訪(fǎng)問(wèn)的接口等等。