自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

27歲發(fā)明SQL以后,上帝把他帶走了

開發(fā) 開發(fā)工具
1974年,圖靈獎(jiǎng)獲得者查爾斯·巴赫曼參加一次數(shù)據(jù)庫(kù)會(huì)議,遇到了埃德加·科德。科德還沒(méi)有圖靈獎(jiǎng)加身,但其關(guān)系數(shù)據(jù)庫(kù)卻如同一輪紅日從東方升起,圖靈獎(jiǎng)是早晚的事兒。

 [[379288]]

1974年,圖靈獎(jiǎng)獲得者查爾斯·巴赫曼參加一次數(shù)據(jù)庫(kù)會(huì)議,遇到了埃德加·科德。

科德還沒(méi)有圖靈獎(jiǎng)加身,但其關(guān)系數(shù)據(jù)庫(kù)卻如同一輪紅日從東方升起,圖靈獎(jiǎng)是早晚的事兒。

一位是網(wǎng)狀數(shù)據(jù)庫(kù)的領(lǐng)袖,另外一位是關(guān)系數(shù)據(jù)庫(kù)的旗手, 兩位大宗師展開了一場(chǎng)火星撞地球般的論戰(zhàn)。

 

對(duì)于現(xiàn)在的程序員來(lái)說(shuō),MySQL,Oracle等關(guān)系數(shù)據(jù)庫(kù)是司空見慣的事情。

在數(shù)據(jù)庫(kù)的課本上,幾乎通篇介紹關(guān)系數(shù)據(jù)庫(kù), 層次數(shù)據(jù)庫(kù)和網(wǎng)狀數(shù)據(jù)庫(kù)僅僅是作為數(shù)據(jù)庫(kù)歷史的一個(gè)小小的點(diǎn)綴。

但是在70年代,新生的關(guān)系數(shù)據(jù)庫(kù)卻飽受質(zhì)疑。

因?yàn)楫?dāng)時(shí)大家都認(rèn)為,程序員應(yīng)該是數(shù)據(jù)結(jié)構(gòu)的導(dǎo)航者, 程序員能在網(wǎng)狀數(shù)據(jù)庫(kù)中記住每條記錄和其他記錄之間的關(guān)系,然后通過(guò)“指針”在各條記錄之間導(dǎo)航訪問(wèn)。

 

科德的想法完全不同:程序員不應(yīng)該接觸底層的物理結(jié)構(gòu)。

應(yīng)該有個(gè)更高層的、聲明式的語(yǔ)言來(lái)訪問(wèn)數(shù)據(jù),完全和數(shù)據(jù)庫(kù)的底層數(shù)據(jù)存儲(chǔ)方式隔離。

用聲明式的語(yǔ)言來(lái)描述查詢,那數(shù)據(jù)庫(kù)能不能“聰明地”把它轉(zhuǎn)化成底層的物理查詢呢?

 

要知道,高級(jí)語(yǔ)言(如Fortran)的編譯器,可是費(fèi)了很大的勁才被開發(fā)出來(lái)。

1972年,IBM招兵買馬,決定攻下這座山頭。

IBM以科德所在的加州圣何塞研究院為中心,開發(fā)一套關(guān)系數(shù)據(jù)庫(kù)的原型產(chǎn)品。

加入這個(gè)原型項(xiàng)目的有兩個(gè)年輕的博士生,他們兩個(gè)一起將會(huì)做出一個(gè)名垂青史的偉大貢獻(xiàn)。

 

張伯倫和博伊斯都非常認(rèn)可科德的關(guān)系模型。

覺得這個(gè)想法既簡(jiǎn)單又優(yōu)美,只有一個(gè)缺點(diǎn):太數(shù)學(xué)化了!

 

基于關(guān)系模型,科德提出的查詢方案更加讓人生畏。

 

張伯倫和博伊斯決定把數(shù)學(xué)部分給隱藏起來(lái)。

他們把關(guān)系稱為表,然后把復(fù)雜的數(shù)學(xué)符號(hào)替換成簡(jiǎn)單的英語(yǔ)SELECT FROMWHERE, 這樣普通人都能理解。

 

最終,晦澀的關(guān)系代數(shù)和關(guān)系演算變成了非專業(yè)人士都能理解的英語(yǔ)。

 

他倆把這門語(yǔ)言叫做 SEQUEL:Structured English Query Language ,既結(jié)構(gòu)化的英語(yǔ)查詢語(yǔ)言。

后來(lái),由于SEQUEL已經(jīng)是一家英國(guó)公司的商標(biāo),兩人靈機(jī)一動(dòng),改名為更簡(jiǎn)單,更容易記憶的SQL

 

在當(dāng)時(shí),IBM還沒(méi)有把SEQUL給產(chǎn)品化的想法,于是允許張伯倫和博伊斯把論文在一個(gè)技術(shù)會(huì)議上發(fā)表。

他們倆通過(guò)擲硬幣的方式來(lái)確定誰(shuí)去宣讀論文,最后博伊斯贏了。

 

但不幸的是,會(huì)議之后僅僅一個(gè)月, 博伊斯便因?yàn)槟X瘤去世,年僅27歲。

 

博伊斯的貢獻(xiàn)還不僅僅是SQL,他和科德合作,建立了一個(gè)數(shù)據(jù)庫(kù)課本上必講的概念:BCNF范式。

 

痛失摯友的張伯倫繼續(xù)前行,完成博伊斯的遺志。

他被任命為System R的技術(shù)經(jīng)理,在System R中實(shí)現(xiàn)SQL, 同時(shí)用來(lái)證明關(guān)系數(shù)據(jù)庫(kù)的能力:能不能勝任商業(yè)的事務(wù)處理。

于此同時(shí),為了同一個(gè)目的, UC Berkeley也在開發(fā)一個(gè)叫做Ingres的關(guān)系數(shù)據(jù)庫(kù), 不過(guò)他們提出了一套自己的查詢語(yǔ)言:QUEL

 

到了80年代, 計(jì)算機(jī)的價(jià)格持續(xù)下降,終于到了一個(gè)臨界點(diǎn):大量的公司都可以購(gòu)買計(jì)算機(jī)和軟件,把他們的紙質(zhì)表格放到計(jì)算機(jī)中存儲(chǔ)。

對(duì)數(shù)據(jù)庫(kù)的需求開始激增, 由于“表”非常容易理解,開發(fā)基于關(guān)系數(shù)據(jù)庫(kù)的程序變得簡(jiǎn)單,System R 和 Ingres 都獲得了成功, 但是SQL和QUEL到底誰(shuí)能一統(tǒng)江湖呢?

 

這時(shí)候,在科德所在的城市圣何塞,一個(gè)叫Larry的年輕人改變了天平的平衡。

 

Larry 立刻和他兩個(gè)朋友一起成立了一個(gè)小公司,開發(fā)基于VAX小型機(jī)的關(guān)系數(shù)據(jù)庫(kù)。

深受張伯倫和博伊斯論文影響的他自然選擇了SQL。

 

1979年,Oracle正式問(wèn)世,Larry憑借“關(guān)系”,成功地把數(shù)據(jù)庫(kù)賣給了多個(gè)美國(guó)政府部門。

 

Oracle 在美國(guó)政府中的應(yīng)用非常成功,以至于美國(guó)政府發(fā)布了一個(gè)聯(lián)邦信息處理標(biāo)準(zhǔn),指定在聯(lián)邦數(shù)據(jù)庫(kù)中要使用SQL,而不是別的查詢語(yǔ)言!

你絕對(duì)想不到吧,現(xiàn)在惡名累累的Oracle居然對(duì)SQL的普及做過(guò)重大的貢獻(xiàn)。

很快,SQL被ANSI, ISO等重磅機(jī)構(gòu)采納為正式標(biāo)準(zhǔn)。

 

得到官方認(rèn)證的SQL擊敗了QUEL,成為了最終的勝利者。

 

到了90年代,連Ingres自己也放棄了QUEL ,開始擁抱SQL。

 

關(guān)系數(shù)據(jù)和SQL在八九十年代橫掃市場(chǎng),占據(jù)了主流。

科德于1983年獲得圖靈獎(jiǎng)。張伯倫于1988年獲得ACM 軟件系統(tǒng)獎(jiǎng)。

 

90年代后期,一個(gè)新的數(shù)據(jù)格式出現(xiàn)了:XML

XML非?;馃?,大家恨不得什么都要和XML扯上關(guān)系。

 

這種數(shù)據(jù)格式和關(guān)系數(shù)據(jù)庫(kù)大相徑庭,它也面對(duì)這樣一個(gè)問(wèn)題,如何從中進(jìn)行查詢。

張伯倫發(fā)揮自己的專長(zhǎng),為它定義了一套新的查詢語(yǔ)言 XQuery。

 

但是時(shí)間證明,XML并沒(méi)有成為廣泛使用的數(shù)據(jù)存儲(chǔ)格式, 所以XQuery也就沒(méi)有像SQL那樣被廣泛使用。

 

SQL經(jīng)過(guò)多年的發(fā)展,產(chǎn)生了廣泛的影響力,成功地占據(jù)了廣大程序員的心智。

很多產(chǎn)品為了降低學(xué)習(xí)成本,雖然底層不是關(guān)系數(shù)據(jù)庫(kù),也努力向SQL靠近,尤其是SELECT、FROM 、 WHERE、Order By、Group等核心概念。

 

SQL成了數(shù)據(jù)查詢的王者。

直到有一天,有個(gè)叫NoSQL的家伙帶著一幫小弟出現(xiàn)了。

 

NoSQL將會(huì)在下周和朋友們見面,敬請(qǐng)期待!

 

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專欄
相關(guān)推薦

2021-01-23 20:00:53

程序員技能開發(fā)者

2016-03-11 19:01:15

2022-08-26 14:58:30

編程代碼

2015-03-18 10:04:06

LyftUber

2009-08-12 09:27:31

Google搜索

2020-04-17 10:05:05

自動(dòng)駕駛特斯拉人工智能

2013-03-18 15:27:54

中興通信蒙古國(guó)

2013-05-15 10:23:03

云計(jì)算發(fā)展警察突擊互聯(lián)網(wǎng)

2013-05-17 10:02:50

SEOmoz創(chuàng)始人按時(shí)下班

2017-12-16 12:31:34

程序員跳樓身亡

2020-08-04 11:30:15

開發(fā)鼠標(biāo)發(fā)明

2009-07-23 09:41:32

程序員職業(yè)發(fā)展

2021-03-16 10:21:42

互聯(lián)網(wǎng)工程師技術(shù)

2022-06-15 17:55:43

IE瀏覽器Windows微軟

2018-01-26 14:41:04

編程Python開發(fā)

2014-08-20 13:35:26

流量170卡

2012-11-21 11:14:06

Windows 1.0

2022-11-05 20:29:22

科技

2016-03-07 10:59:07

電子郵件

2009-06-19 19:20:13

DRAM芯片IEEE榮譽(yù)勛章
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)