- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我问的原因是我们想使用 MySQL 当前不支持的特定 CHECK 约束。如果没有这种类型的约束,使用外键和参照完整性的全部原因似乎会随着应用程序代码承担更多数据库的责任而减少。
如果我们要创建一个“哑”数据模型并将所有引用完整性检查移动到应用程序代码中的一个层,那么潜在的测试可能会更简单,因为引用完整性错误将被困在应用程序中而不是数据库中.它还可能会加速新模块的开发,因为它们在测试之前不一定必须参照完整(这是一个术语吗?)。
那么,在 MySQL 中坚持使用“适当”的数据模型并保留外键和“ON UPDATE CASCADE”语句等还有其他好处吗?
或者,我们应该放弃 MySQL 并转向其他东西吗?!
谢谢!
最佳答案
一些开发人员提倡在数据库中完全没有业务逻辑——你的愚蠢的数据存储。所以这绝对是一个有效的策略。
将约束(和其他业务逻辑)移出数据库让我担心的是,在任何地方强制执行约束都更加困难。每个应用程序中的每个开发人员都可能违反该约束。 DBA 也无能为力。
因此,我倾向于在数据库本身中包含这些规则。
关于php - 除了作为 'dumb' 数据存储之外,将 MySQL 用于任何其他用途有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8883574/
我正在使用智能/转储组件构建我的 Redux (NgRx) 应用程序,但我正在努力决定这些dumb组件应该有多“哑”...... 例如,我有一个智能组件(posts),它有一个dumb组件(post-
有什么方法可以像Vim中的ctrl + p一样在Eclipse中获得“哑”字补全吗? 例如,我经常写一个函数调用: x = getMeAnXPlease(); 然后输入定义: function get
人们可能会认为将 3 个字符的缩写转换为数字表示形式是一项简单的任务。 JavaScript 说“不!”。 $(selector).each(function() { // convert m
如果您需要生成从 1 到 N 的素数,“愚蠢”的方法是遍历从 2 到 N 的所有数字,并检查这些数字是否可以被目前找到的任何素数整除,即小于相关数字的平方根。 在我看来,Eratosthenes 筛法
我创建了一个标准结构的“智能变体”——系统提供了struct canmsg,这种类型的数据是从can设备中读取的,我经常处理这样的帧。 现在,为了更容易处理它们,我创建了一个子类:class TCan
我希望在 golang 中实现远程客户端它通过 nc 连接到 Linux 并启动 bash。所以我需要告诉 bash 我可以从它发送给我的 stdout 中解析哪些功能,以及我将如何将键码和其他内容发
我有一个包含 300,000 个单词及其出现频率的列表的文本文件。每行的格式为 Word:FequencyOfOccurence。我希望可以从 C# 代码中访问此信息。我无法对列表进行硬编码,因为它太
我必须解决 gettext 识别 ES6 模板字符串的限制,并且我考虑将模板字符串的“非内插值”作为编译步骤,以便只有代码中的“正常”字符串。 基本上我想实现的是改变这个 const adjectiv
看看这个简单的示例,其中 prop toggleData 将是映射到容器 props 的 redux thunk 操作。 这是将这样的函数传递给子“哑”组件的推荐方法吗?我在网上读到一篇文章说,从性能
好吧,我不是在谈论业务逻辑决策,而是 UI 决策。 例如,我正在渲染一个表格,其中一列显示日期时间?需要格式化的属性。因为该值可以为空,所以我需要在格式化之前检查它是否不为空。 如果我想迂腐一些,我会
有谁知道在 Google App Engine 中返回包装的 Model 实例的巧妙方法,该实例仅公开一些原始属性,并且不允许将实例保存回数据存储区? 我不是在寻找实际执行这些规则的方法,显然仍然可以
我已经设法了解了 C++ 的一些功能(for_each、映射函数、使用迭代器...),但是用于接收通用容器和迭代器的模板和函数参数列表的构造仍然让我难以理解。我有一个实际的例子,希望有人能为我说明:
当然,我想不出有什么理由让我想要覆盖一元&运算符,但在https://stackoverflow.com/a/4542813/368896中张贴者指出,关于某些类 X: ...unless X doe
文章中Better web typography in a few simple steps , 它说 Talking about apostrophes, the correct sign for
我希望这个问题不要被标记为主要是基于意见的,而是有一个客观的答案。 我已阅读 Introducing dumb-init, an init system for Docker containers ,
愚蠢的引用是那些直接出现的引用。智能引号 curl 并且它们 curl 在正确的方向。我认为规则如下: 如果引用位于单词开头,则会向右 curl 。 如果引号位于单词开头,后面跟着另一个引号或分组符号
所以我正在研究一种“中级”级别的 react 项目。我了解基础知识,但不知道某些事情的最佳实践。 让我们假设我正在将一个函数传递给一个“哑”组件,在这个dumb组件中有一个按钮,它是对父函数 Edit
我正在尝试从工作本地服务器导出一个相当复杂的 mySQL 数据库,上传到在线服务器,以便协作者只读其中的数据。 数据库有多个外键,每个表都有一个主键。然而,由于不会将任何数据添加到这个愚蠢的“影子”副
struct A { A(int a); }; struct B { B(); void b(std::shared_ptr a); }; int main() { A
我问的原因是我们想使用 MySQL 当前不支持的特定 CHECK 约束。如果没有这种类型的约束,使用外键和参照完整性的全部原因似乎会随着应用程序代码承担更多数据库的责任而减少。 如果我们要创建一个“哑
我是一名优秀的程序员,十分优秀!