我喜歡數據庫設計,目前我正在開發SQL Server 2008中的一個,我不喜歡製作像'person_exist'或'get_person_data'這樣的簡單程序。你如何處理涉及數據庫數據的功能和過程?我做對了嗎?處理存儲過程和函數
0
A
回答
0
個人而言,我傾向於直接在SQL中爲「簡單」數據編寫查詢,而不是爲它們創建單獨的過程。如果一個查詢像SELECT * FROM person
一樣簡單,爲什麼要花費所有的樣板來創建一個正式的DB過程呢?另外,許多ORM框架可以直接生成這些簡單的查詢。我會保留適用於數據庫層的更復雜查詢的程序/函數。
當然,這只是我的看法,我已經看到它在兩個方面都完成。您也可以爭辯說,您應該爲每個數據庫查詢創建一個過程,函數或視圖,以便在數據庫端進行的更改可以與客戶端應用程序完全隔離。這種方法有一些優點,但創建所有這些「簡單」程序將會更有用。
1
基礎上,OP的評論:
的事情是,這個數據庫將 使用其他開發人員,他們 不會知道數據庫本身...
思考在編寫程序時設置基礎!
小心創建程序的方式會導致需要循環使用它們。如果應用程序需要在循環中調用相同的過程N次以獲取數據,則性能將比應用程序可以進行單一調用並獲得完整的單個結果集數據的性能低得多。想想,一個過程調用來獲取標題數據和一個調用來獲取所有的孩子的詳細信息(不是每個孩子的調用循環)。
這是一個常見問題,我看到很多人在設計「API」類型的存儲過程時陷入了困境。
+0
+1,因爲這不能強調不夠。不幸的是,它完全不符合OOP設計,所以它通常在路邊...... – 2010-09-27 21:07:33
相關問題
- 1. 存儲過程和函數
- 2. SQL存儲過程和錯誤處理
- 3. 存儲過程和錯誤處理
- 4. 如何處理存儲過程?
- 5. 處理存儲過程中的超時
- 6. C# - 批處理執行存儲過程
- 7. MySQL存儲過程錯誤處理
- 8. 存儲過程中的錯誤處理
- 9. db2存儲過程異常處理
- 10. 存儲過程中的錯誤處理
- 11. 如何編寫處理存儲過程
- 12. 異常處理存儲過程
- 13. 存儲過程對象多處理Manager.dict()
- 14. 存儲過程如何處理索引?
- 15. Oracle存儲過程在PHP處理
- 16. MySql存儲過程如何處理?
- 17. 處理超過8000個字符的存儲過程參數
- 18. 從另一個存儲過程捕獲/處理/處理來自另一個存儲過程的存儲過程中的多個數據集
- 19. iphone數據處理 - 存儲和查詢
- 20. spring&plsql存儲過程 - 異常處理和事務
- 21. 執行Oracle存儲過程時處理Int32.MinValue和NULL
- 22. No_Data_Found異常處理刪除和更新存儲過程
- 23. Apache的駱駝 - JDBC存儲過程和事務處理疑惑
- 24. 如何使用ASP.NET和Oracle數據提供程序處理Oracle存儲過程?
- 25. PHP和數據庫:視圖,函數和存儲過程性能
- 26. Silverlight的數據存儲過程和存儲過程
- 27. 上傳數據後通過存儲過程處理數據通過sql * loader
- 28. ASP.NET - 數據庫存儲過程中的錯誤處理
- 29. 如何處理存儲過程中的NULL參數
- 30. 當我調用存儲過程時處理可選參數
感謝您的回答,事情是這個數據庫將被其他開發者使用,他們不會知道數據庫本身... – 2010-09-27 17:34:55