簡體   English   中英

關系數據庫和OO語言

[英]Relational databases and OO languages

在典型的ASP.NET Web應用程序體系結構中,我們使用諸如C#的OO語言和諸如SQL服務器之類的關系數據庫來獲取數據。

我正在讀一本關於Linq的書,上面寫着“問題是OO編程語言和關系數據庫之間存在差距”

作者究竟想要暗示什么?

編輯:謝謝你的答案。 我不確定我理解LINQ如何解決這個問題。 我可能錯了,但似乎LINQ是用於數據庫通信的API,就像ADO.NET一樣

它們是非常不同的數據模型和做事方式。 這是一個相當宗教的論點,沒有任何季度,也沒有任何憐憫。

一切都在這里: 對象關系阻抗不匹配

面向對象編程是關於有效地建模行為。 關系模型是關於有效地建模數據。

這導致了非常不同的模型,這些模型在某些領域是不兼容的。 它被稱為物體關系阻抗不匹配。 谷歌吧

特德紐瓦德寫了一篇相當不錯的文章,稱為計算機科學的越南 如果你願意,你可以忽略大部分的越南部分。

至於LINQ如何適應方程式:它並沒有解決不匹配問題,但它提供了一種方法,可以更輕松地與數據庫進行通信,從而減輕至少部分痛苦。

RDBMS的一個基石是規范化 - 出於我的觀點,從來沒有相同的數據位不止一個地方。

對於對象,可以合理地假設您的SalesInvoice obj可能由多個發票行對象和客戶對象,交貨地址等以及隨之而來的方法組成。

在一個和另一個之間跳躍是很困難的。 以交貨地址為例,我們將其存儲在銷售發票表中,如果與客戶相同,如果不同,該怎么辦? 我們有送貨地址表嗎?

這是一個復雜的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM