Linux 文本格式显示折线图,linux 折线图
可以這樣回答:emmm 怎么說呢。
數據庫就是用來存儲數據的倉庫,就像我們生活中存放物品的容器一樣,但是容器也有通用和專用之分,比如塑料袋就是通用容器,因為塑料袋可以裝各種東西:即可以裝糖果,也可以裝鉛筆。但我們也可以選擇一種更合適的存儲方式:用糖果盒來裝糖果,用筆筒來裝鉛筆。糖果盒和筆筒就是專用容器。數據和物品一樣,也可以采用通用或者專用的存儲方式,各有利弊,SQL就是通用數據庫,NoSQL就是專用數據庫,這就是他倆的區別。
集合論與關系代數
可是為什么SQL可以做到通用呢?世界上的數據結構千千萬,為啥SQL可以滿足各種需求而且半個世紀都不過時?
雖然說唯一不變的就是變化,計算機行業一直在發生裂變,但是有些基本的東西是永遠不變的,或者說變化很慢:當今世上最流行的編程語言JavaScript仍然遵守著60年前Lisp語言的標準,現代操作系統Windows,OSX,Linux都來自于共同祖先Unix。
數據庫的發展也是一樣,無論形式怎樣變化,其本質都是圍繞集合論與關系代數來設計的。基本理論決定一切,在軟件行業只要掌握了基礎數學理論,就掌握了一切變化的規律,這就是SQL永不過時的秘密。
一切都是線性表
軟件學家認識到,整個計算機行業都是建立在對數據的一維利用上:無論是內存,外存還是網絡,存儲和傳輸的都是一維數據。一維數據也就是線性表,所有復雜的數據結構都建立在線性表之上,任何二維,三維的數據結構也是由線性表組成的。線性表俗稱列表,從“人類本質是復讀機”理論上看,世間萬物都是由列表(集合)組成的。
在宇宙間,一個技術文明等級的重要標志,是它能夠控制和使用的微觀維度。對于基本粒子的一維使用,從我們那些長毛裸·體的祖先在山洞中生起篝火時就開始了,對化學反應的控制,就是在一維層次上操控微觀粒子。當然,這種控制也是從低級到高級,從篝火到后來的蒸汽機,再到后來的發電機;現在,人類對微觀粒子一維控制的水平已達到了頂峰,有了計算機和納米材料。但這一切,都局限于對微觀維度的一維控制,在宇宙間一個更高級的文明看來,篝火和計算機、納米材料等等是沒有本質區別的,同屬于一個層次。
------《三體I:地球往事》
科幻小說《三體》劉慈欣
基于這個理論(或者說世界觀),集合論被拿來研究數據庫了,比如我們數學課本上的集合要求集合的元素具有互異性和無序性:因為要互異,我們有了數據庫的唯一性主鍵;因為要無序,數據庫的排序就交給索引來做了。
集合論是數學本身的一個分支,數據庫科學出現后,為了研究集合與集合之間的關系,衍生出了一門新的分支:關系代數。
關系代數研究的是二維線性表之間可以發生的各種操作,也就是表格語言,最基本的操作包括矩陣學中的水平分割和垂直分割:分別對應選擇和投影。SQL(結構化查詢語言)就是關系代數的一個實現,所以SQL數據庫也叫關系數據庫,關系代數和sql的對應關系如下圖:
盡管SQL的語法一直飽受吐槽:凌亂而易引歧義,還不是很優雅。但由于SQL的數學基礎很穩固,SQL才能夠一直流行到現在。但并不是說NoSQL的基礎不穩固,相反NoSQL是對具體結構做具體分析,NoSQL的數學基礎往往更簡單,更牢固。
表格與圖表的統一
無論是表格還是各種統計圖在數據上都是統一的,都是二維列表(也可以叫列表的列表),一個表格可以無損地轉化成一個柱狀圖,折線圖,雷達圖,餅圖。。。所以表格可以看成是一種特殊的圖表。著名的前端框架ag-grid就是在這個理論上誕生的:
關系代數,SQL,NoSQL,線性表,統計圖,表格,ag-grid這些研究的都是集合,都是列表,都是最本質,永恒不變的東西,所以才有那么多學者投入到這個永不過時的領域。
就這樣啦~ mua!
(完)
總結
以上是生活随笔為你收集整理的Linux 文本格式显示折线图,linux 折线图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 强化学习—— 蒙特卡洛树(Monte C
- 下一篇: linux系统shell知识点,linu