譯文:物件/關係阻抗已經被解決了嗎?
這是JavaLobby上的一篇文章,現將大意翻譯如下:
http://www.javalobby.org/java/forums/t54475.html
At last with JDO and EJB, with Hibernate and TopLink, with Kodo and OJB, there is no longer any need to write SQL, or even use a relational database. So where's the catch?
終於我們使用JDO和EJB,或者Hibernate和TopLink,或者Kodo和OJB等,再也不需要寫任何SQL語句,甚至無需使用關聯式資料庫了,那麼這些都是目的嗎?
關聯式資料庫最初勝出是因為相對基於檔案的分層資料庫系統,並不是關聯式資料庫有更好的效能或效率等,而是他的關係模型。而SQL語句是自己成功的犧牲品。
什麼是面向程式設計的潛在缺點呢?我們喜歡將每件事分類,將它們放入合資,然後創造抽象概念來表達它們,而無需關注細節,我們可以很有效地使用這種構造方法:我們能分類這個地球上任何組織、國家 家庭等,然後可以明白它們的相似點like,如飛機類似bus,也是交通工具等。
但是我們不知道,這種方式也有不能表達的情況。模型系統並不適合在所有系統,每套方法論有自己的應用範圍。物件導向程式設計是基於人類豐富自由的行為,也就是說OO是基於人類認識世界的角度出發的,但是有時客觀事物並不是以人的認識意志存在的。
實際上,關係模型是一種正規的數學模型符號。數學上的抽象是有用的,它們能夠幫助我們幫助我們以普通意義上方式解決問題難點。關聯式資料庫在解決資料問題時是有效的。
Relational databases are a formal mathematical representation that is useful when solving data problems
SQL是一種代表或操控關係代數學的標準,這個亮點使得物件導向程式設計和關聯式資料庫的阻抗存在變得現實(注:這裡沒有提到面向資料庫程式設計,關聯式資料庫應該回到它的特長關係資料處理層面上。)This highlights the true impedance mismatch between object oriented programming and relational databases
譯者注:看來這兩種矛盾是兩種思維方式的衝突,不是技術本質衝突。
作者最後認為:透過消滅SQL,也許失去了一種操作關係資料的方法,也許將來你需要操作它們時,無從下手了。
譯者注:本文主要觀點是在當前物件導向分析方法全面勝利,佔據程式設計主流時提出的一個客觀提醒,雖然O/R mapping工具幫助我們更加純潔了程式設計的物件化,解決一些兩者阻抗問題,這樣我們使用OO分析程式設計更加順手方便,但是並不是說,關聯式資料庫完全退出了,它還在資料持久方面有其價值,在處理關係資料有其特殊價值。
相關文章
- 你真的已經搞懂JavaScript了嗎?JavaScript
- 智慧數字經營3.0,已經普及了嗎?
- hibernate物件關係的翻譯稿物件
- 驀然回首:Java已經過時了嗎?Java
- 【譯】使用 Room 定義物件間的關係OOM物件
- 和數傳媒:區塊鏈技術難題“三元悖論”已經被解決了區塊鏈
- 你已經用上 5G 網路了嗎?
- C# 中的 ref 已經被放開,或許你已經不認識了C#
- 深度學習已經觸到天花板了嗎深度學習
- 你的程式設計技巧已經過時了嗎?程式設計
- 物件導向程式設計程式碼詳解(依賴關係,關聯關係,組合關係)物件程式設計
- 已經解決java.lang.OutOfMemoryErrorJavaError
- 被寄予厚望的 Serverless,爭議和問題都解決了嗎?Server
- iPhone 7還沒上市 6s就已經被冷落了iPhone
- lucene join解決父子關係索引索引
- depmod解決模組依賴關係
- 已經學會並解決的事情
- 你的網路被DNS劫持了嗎?dns 被劫持怎麼解決DNS
- 蘋果的創新力已經不如微軟了嗎?華爾街給出了答案蘋果微軟
- 解決rpm包依賴關係
- 解讀數倉中的資料物件及相關關係物件
- 你已經毀了JavaScriptJavaScript
- Eloquent 關係圖例(譯)
- 解決excel兩表之間資料關聯關係,知道這幾招就夠了Excel
- 你已經用 SharedPrefrence 的 apply() 替換 commit() 了嗎?APPMIT
- 魅族手機已經來了 智慧手錶還會遠嗎?
- 中國市場已經淪陷 蘋果在印度會被華為再次打敗嗎蘋果
- 離職,問題就解決了嗎?
- [譯]PC盛世已經終結
- 聯想天津光纖被挖斷問題已解決,佈置了異地伺服器伺服器
- 本機被dns劫持了的解決方法DNS
- objc系列譯文(7.2):值物件OBJ物件
- 政經關係斷想
- java物件關係對映ROMJava物件
- 人類和強人工智慧的關係(人類會被滅掉嗎?)人工智慧
- 已經有JBUILDER9了??UI
- 【04】確定物件被使用之前已先被初始化物件
- httpWebRequest請求錯誤,基礎連線已經關閉: 連線被意外關閉HTTPWeb