在数据库驱动的 asp.net web 应用程序流程中,最好的方法或推荐的最佳实践是什么?我的意思是先数据库还是先编码还是并排?
最佳答案
如果没有现有数据库,您的数据访问代码将无法编译 - 除非您 stub (或模拟)它。所以可能数据库是第一位的。
但是孤立地执行整个应用程序 block 并不是一个好主意。理想情况下,您应该携手设计和构建系统的各个部分——数据库和应用程序。这些分片应该是内聚的功能子集,可能比子系统更小。不可避免地,编码屏幕和业务规则的行为会在数据模型中引发问题。因此,最好有一位数据建模师或 DBA,他们乐于与开发人员一起以增量方式工作。
编辑
Stephanie 提出了一个非常中肯的观点:
"the core tables which are persisting your app's data really can't be piecemealed. Most of the data is known at project start. It has a form, you need to find it."
我同意核心实体在项目开始时是可知的,并且物理数据模型可以从该逻辑数据模型派生。但我认为不可能在一开始就完全确定任何表格的结构,即使是核心表格。这是因为在设计/构建阶段的开始,我们必须继续的是需求,如果历史告诉我们关于需求的一件事,那就是它们会改变。
因此,将需要新表,而一些现有表将变得过时。将有需要添加的列,需要修改的列,需要删除的列。这就是 Nature 为我们提供 ALTER TABLE 语句的原因。
我并不是建议我们不要设计我们的 table ,或者零碎地组装它们。我只是建议,当我们开始设计 HR 子系统时,我们需要考虑 EMPLOYEES 表和 SALARIES 表。在我们开始销售工作之前,我们不需要关心库存或订单。
关于database - 哪个先到 : database or application logic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3022541/