在应用程序中使用抽象层时,是否需要深入了解数据库?

时间:2010-09-15 05:58:20

标签: sql database model-view-controller database-design

大多数(如果不是全部)MVC框架在数据库上提供了一个抽象层,除了在一些非常特殊的情况下你不需要手工编写SQL代码。当然,您需要了解设计模型的基本知识,但我们需要深入了解如何优化查询,制作触发器和其他数据库内容。

2 个答案:

答案 0 :(得分:4)

阅读Joel Spolsky的The Law of Leaky Abstractions。在一个理想的世界中,数据抽象层隐藏了复杂性,但除非你理解复杂性,否则它泄漏的那一天你将完全陷入焦油状态。

答案 1 :(得分:3)

除非您是编写数据抽象层代码的人。

这就是它的全部意义。它上面的任何层都不需要知道数据库类型或结构是什么,或者即使有一个。

开始将数据库特定的东西拖回数据层进入业务逻辑是一个常见的错误。

酸测试是,如果您更改了数据库,请说从SQL到Oracle或MySQL,其余代码仍然有效。如果没有,那么您的数据层没有正确地执行其操作。