数据库开发与数据模型构建的关键要点
1. 迁移工具的局限性
迁移工具目前仅支持数据定义语言(DDL)的一小部分。尽管可以在 Ruby 迁移代码中混入自定义 DDL,但这会使代码量大幅增加,且结果远不如直接使用 DDL 语句简洁。
迁移工具存在诸多不足,且不断变化。例如,Rails 2.1 解决了多个开发者同时编写迁移时的命名问题,但即便如此,也不能保证迁移工具能完全替代 DDL。因为 DDL 是专门为数据定义而设计的。
因此,建议使用普通的 SQL DDL 语句来构建和操作数据库模式。开发者应理解 SQL DDL,即使组织使用迁移工具,也应掌握其最新技术,同时要明白底层原理,以便在需要时能编写 DDL。很多用 DDL 容易实现的操作,迁移工具可能无法完成,过度依赖迁移工具而忽略 DDL 会有损失。
2. 破除数据库相关的误区
- 关于引用完整性的必要性 :有部分 Web 开发者认为引用完整性相关内容是不必要的开销,认为应用层检查足以保护数据,数据库级约束会使应用变慢。这些人往往是 MySQL 的忠实用户,因为早期 MySQL 不支持引用完整性,直到 5.0 版本才添加该功能。实际上,企业级应用需要引用完整性以及其他成熟关系型数据库管理系统(RDBMS)的功能,如视图、事务、触发器和隔离等。所以,不能因为 MySQL 曾经缺乏该功能就认为不需要它。
- 引用完整性在生产环境的作用 :有人认为引用完整性只是开发阶段的辅助工具,生产环境中可以去掉。这种想法是错误的。引用完整性约束有助于发现应用程序的错误,但在将用户引入系统之前,不可能找出
超级会员免费看
订阅专栏 解锁全文
2304

被折叠的 条评论
为什么被折叠?



