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