第2章 數(shù)據(jù)模型與查詢語(yǔ)言

數(shù)據(jù)模型與查詢語(yǔ)言

語(yǔ)言的邊界就是世界的邊界.

消除數(shù)據(jù)重復(fù)是數(shù)據(jù)庫(kù)規(guī)范化的核心思想.

融合關(guān)系模型與文檔模型是未來(lái)數(shù)據(jù)庫(kù)發(fā)展的一條很好的路徑。

數(shù)據(jù)模型

關(guān)系模型

關(guān)系模型與1970年由Edgar Codd提出。關(guān)系模型:數(shù)據(jù)被組織成關(guān)系(relations),在SQL中被稱為表(table),其中每個(gè)關(guān)系都是元組(tuples)的無(wú)序集合(在SQL中被稱為行)

關(guān)系數(shù)據(jù)庫(kù)的核心在于商業(yè)數(shù)據(jù)處理。

SQL是現(xiàn)在最著名的數(shù)據(jù)模型。

關(guān)系模型的目標(biāo)就是將實(shí)現(xiàn)細(xì)節(jié)隱藏在更簡(jiǎn)潔的接口后面。

網(wǎng)絡(luò)模型 vs 層次模型 vs 關(guān)系模型 vs NoSQL

對(duì)象數(shù)據(jù)庫(kù) vs XML數(shù)據(jù)庫(kù)

文檔模型

NoSQL 這個(gè)名字是不恰當(dāng)?shù)?,因?yàn)樗鋵?shí)并不代表具體的某些技術(shù),它最初只是作為一個(gè)吸引人眼球的Twitter標(biāo)簽頻頻出現(xiàn)在2009年的開(kāi)源、分布式及非關(guān)系數(shù)據(jù)庫(kù)的見(jiàn)面會(huì)上?,F(xiàn)在其含義已經(jīng)被逆向解釋為“不僅僅是SQL”。

采用NoSQL數(shù)據(jù)庫(kù)有這樣幾個(gè)驅(qū)動(dòng)因素:

  • 更好的擴(kuò)展性需求,包括支持超大數(shù)據(jù)集或超高寫入吞吐量
  • 關(guān)系模型不能很好的支持一些特定的查詢操作
  • 對(duì)關(guān)系模式一些限制性感到沮喪,渴望更具動(dòng)態(tài)和表達(dá)力的數(shù)據(jù)模型

文檔數(shù)據(jù)庫(kù)是某種方式的層次模型:即在其父記錄中保存了嵌套記錄(例如:一對(duì)多關(guān)系)。但在表示多對(duì)一和多對(duì)多的關(guān)系上,二者并沒(méi)有根本的不同。

關(guān)系數(shù)據(jù) VS 文檔數(shù)據(jù)庫(kù)

支持文檔數(shù)據(jù)模型的主要論點(diǎn)是模式靈活,由于局部性而帶來(lái)較好的性能。關(guān)系模型則強(qiáng)在聯(lián)結(jié)操作,多對(duì)一和多對(duì)多關(guān)系更簡(jiǎn)潔的表達(dá)上。

對(duì)于高度關(guān)聯(lián)的數(shù)據(jù),文檔模型不太適合,關(guān)系模型可以勝任,而圖模型則是最為自然的。

數(shù)據(jù)查詢語(yǔ)言

SQl是一種聲明式查詢語(yǔ)言,而IMS和CODASYL則是命令式。

使用聲明式的CSS樣式表比用JavaScript命令式地操作樣式要好得多。

MapReduce是一個(gè)相當(dāng)?shù)讓拥哪P?,用于在?jì)算集群上分布式執(zhí)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容