譯文:物件/關係阻抗已經被解決了嗎?
這是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分析程式設計更加順手方便,但是並不是說,關聯式資料庫完全退出了,它還在資料持久方面有其價值,在處理關係資料有其特殊價值。
相關文章
- 【譯】使用 Room 定義物件間的關係OOM物件
- 智慧數字經營3.0,已經普及了嗎?
- 物件導向程式設計程式碼詳解(依賴關係,關聯關係,組合關係)物件程式設計
- 雲ERP真的已經玩不轉了嗎?
- 和數傳媒:區塊鏈技術難題“三元悖論”已經被解決了區塊鏈
- C# 中的 ref 已經被放開,或許你已經不認識了C#
- 你已經拋棄了你的“天賦”嗎?
- 你已經用上 5G 網路了嗎?
- 深度學習已經觸到天花板了嗎深度學習
- 解讀數倉中的資料物件及相關關係物件
- 被寄予厚望的 Serverless,爭議和問題都解決了嗎?Server
- JSON 與 JS 物件的關係JSON物件
- java物件關係對映ROMJava物件
- 你的網路被DNS劫持了嗎?dns 被劫持怎麼解決DNS
- 解決excel兩表之間資料關聯關係,知道這幾招就夠了Excel
- GIL 已經被殺死了麼?
- 5. JPA物件繼承關係物件繼承
- 本機被dns劫持了的解決方法DNS
- 離職,問題就解決了嗎?
- 聯想天津光纖被挖斷問題已解決,佈置了異地伺服器伺服器
- Hibernate (開源物件關係對映框架)物件框架
- 【物件導向依賴關係概念總結】物件導向程式設計的五種依賴關係物件程式設計
- 微帶阻抗
- win10提示為了對電腦進行保護已經阻止怎麼解決Win10
- 投入上百人、經歷多次雙 11,Flink 已經足夠強大了嗎?
- MyBatis加強(1)~myBatis物件關係對映(多對一關係、一對多關係)、延遲/懶載入MyBatis物件
- 2019年,TensorFlow被拉下馬了嗎?
- 域名被牆怎麼解決,域名被牆怎麼解決,解決方案
- flutter doctor提示安裝flutter dart外掛,實際已經安裝了的解決辦法FlutterDart
- 《大富翁10》遭遇差評,“強手棋”玩法真的已經過時了嗎?
- Kubernetes 已經成為雲原生時代的安卓,這就夠了嗎?安卓
- 【JRebel 作者出品--譯文】Java class 熱更新:關於物件,類,類載入器Java物件
- 只知道ajax?你已經out了
- 已經收到滿意的 offer 了
- 被廣泛使用的OAuth2.0的密碼模式已經廢了,放棄吧OAuth密碼模式
- Java中類與物件的關係與區別Java物件
- 網站存在漏洞被駭客入侵了怎麼解決網站
- 7.Hibernate一對多關係建立與錯誤解決
- 5G跟音訊,有關係嗎?音訊