database - 哪个先到 : database or application logic?

标签 database web-applications

在数据库驱动的 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/

相关文章:

java - 使用 Spring Tool Suite 部署 Spring Web 应用程序

处理默认排序顺序的 SQL 最佳实践

php - WHILE 中的 IF 语句不起作用

php - 如何从 C++ 调用 php-cgi

rest - REST 比 GraphQL 更适合的项目?

java - 对基于 tomcat Web 应用程序的用户角色的只读访问

javascript - 如何摆脱 Internet Explorer 7 在片段更改时重新加载

database - 维度模型中的事实表实际上是事件表吗?

sql - 如果oracle数据库中的某个表是空表统计的,那么如何恢复该表的原始统计信息呢?

javascript - 不允许添加除定义之外的值。 MongoDB