1. 程式人生 > >SQL發音考(搜尋SQL-86標準)

SQL發音考(搜尋SQL-86標準)

exchange local block .org where .html wikipedia tps ont

據我觀察,中國的開發者創造了一種獨特的SQL發音:/‘s??kl/,既好聽,又好讀,挺好的。但是今年我開始做數據庫相關的工作,作為一個專業人士,決定對SQL發音進行一些考證。

直接說結論吧,很多人沿用了/?si?kw?l/這個讀音,因為這門語言以前叫做“SEQUEL”。但更官方一些的讀音應該是ISO標準規定的/??s?kju???l/。這個說法的依據是,有好事者給Don Chamberlin(SQL語言發明者之一)發郵件[1],內容如下:

Hello Don,

I’m sorry to waste your time with such a silly question, but I’ve often heard SQL pronounced S-Q-L or as Sequel. I’ve also seen the official pronunciation listed both ways. According to wikipedia, you and Raymond Boyce created the language and it was shortened to SQL after some legal dispute. So my question is, is there an official pronunciation to SQL? Thank you for your time.

– Pat

To my delight, he replied back:

Hi Pat,

Since the language was originally named SEQUEL, many people continued to pronounce the name that way after it was shortened to SQL. Both pronunciations are widely used and recognized. As to which is more “official”, I guess the authority would be the ISO Standard, which is spelled (and presumably pronounced) S-Q-L.

Thanks for your interest,
Don Chamberlin

看到Don的郵件後,我好像也感受到了一點Pat當時的激動心情。於是在wiki上找到了ISO 9075的下載地址,然而在翻個底朝天後,並沒有找到規定發音的內容。

首先就懷疑是標準的版本不對,事實果然如此,因為又在網上發現了這句話:"The 1986 ANSI SQL standard declared the official pronunciation of SQL to be "es queue el"." [2]。說是在1986年,還是ANSI標準的時候規定的讀音。

這個86版的古董並不好找,首先wiki上的dialects裏SQL-86的連接是灰的,然後又聽到了一個不幸的傳聞:"Being unable to find a copy and having ANSI unwilling to sell a copy, it seems that SQL-86 is lost in the age of the internet."[3]。

最後我實在沒辦法放棄了找SQL-86這條路,還是放在博客上,借助網友的力量一起搜尋吧。如果沒有這個標準,其實以上的考據全是站不住腳的,比如Don的郵件可能是杜撰的,網上的只言片語更是不能作為依據。

不過不要傷心,在找到SQL-86之前,我們還是可以通過官方資料來“證明”SQL的發音的。打開這個頁面https://www.iso.org/standard/63555.html,它是ISO/IEC 9075-1:2016標準官方的銷售頁面,大概1160元,[提示]不要點"Buy"。

繼續往下看商品介紹,第一段的最後,寫的是"an SQL-implementation"而不是"a SQL-implementation",這基本說明官方發音應該是/??s?kju???l/。

後記

MySQL的讀音是遵守ISO標準的,"The official way to pronounce MySQL” is My Ess Que Ell” (not my sequel”), but we do not mind if you pronounce it as my sequel” or in some other localized way."。[4]

而Oracle依然是復古發音/?si?kw?l/。"SEQUEL later became SQL (still pronounced "sequel")."。[5]

[Warning] 去Oracle面試的話,千萬不要用ISO發音,因為有人因此被拒了(10年前):"If you can‘t pronounce it correctly, then I have doubts as to your ability to use it correctly."[6]

參考資料:

[1] http://patorjk.com/blog/2012/01/26/pronouncing-sql-s-q-l-or-sequel/

[2] http://www.learn.geekinterview.com/database/sql/sql-standardization.html

[3] https://dba.stackexchange.com/questions/168595/where-can-i-find-the-first-standardization-of-sql-sql-86

[4] https://dev.mysql.com/doc/refman/5.7/en/what-is-mysql.html

[5] https://docs.oracle.com/cd/B19306_01/server.102/b14200/intro001.htm#i1712

[6] https://community.oracle.com/thread/632585?start=15&tstart=0

SQL發音考(搜尋SQL-86標準)