擺脫SQL的糾纏

來源:互聯網
上載者:User

在基於C/S架構以及涉及資料庫的應用系統中,程式員往往會把大量的SQL語句寫在應用程式端。這可能是出於幾個原因,其中之一或許是程式員的心理在起作用,他們往往想用自己熟悉的開發語言來控制整個應用系統,包括資料庫在內。他們一般會認為不使用PL/SQL或者Transact-SQL之類的內嵌的資料庫語言是一件很自然的事情。我確實也在圖書館或者書店看到很多基於執行個體的書籍就是這麼教大家做的。可是在我經曆了一個實際的基於資料庫的項目後,卻發現這實在是一種非常糟糕的系統架構,甚至可以用無藥可救來形容。

事實上,比較好的架構是:在資料庫端使用預存程序的形式(在Oracle中通常使用packages來封裝procedures和functions)來編寫大部分操作資料庫的代碼。而應用程式則只是通過調用這些預存程序來完成與資料庫的互動。也就是說預存程序是應用程式和資料庫之間的一個介面。只要預存程序的參數表保持不變,不管預存程序的實現怎麼變,應用程式都不用修改和重新編譯,這也體現了面向介面編程的優點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.