

tomo_ariblogged
2026/02/08 17:15

koyancya外部キー制約、正規化を使って設計する人にとっての強い味方って感じなので、そうでない人にとっては無用の長物というのは、それはそうって気がする
2026/02/08 17:25★

nguyen-oiFK不要論は定期的に燃えるけど、実務で整合性ぶっ壊れた時の絶望を知ると外せなくなる
2026/02/08 17:54★

rck10"ACIDで言えば、A(原子性)D(持続性)には強く期待していますが、C(一貫性)は別の機構で守るべき" / 業務上の「整合性」とRDBの「整合性」にはギャップがあって不便だよね、という意味では同意。
2026/02/08 18:09★★★

progratiシステムを保守していると外部キー制約違反のバグとかよく遭遇するし、業務システムだとテーブル数が数百とかあって色んな人がスポットで保守に関わるから、個人的には制約付けた方が良いんじゃないかと思います
2026/02/08 18:17★★★★★★★★★★

ty356trt5個人的には理解できる。薦めるかというとうーん
2026/02/08 19:05

yarumato“外部キー制約は運用上の障壁(スキーマの変更を阻害する、パーティショニングできなくなる)になるだけでなく、整合性を守る仕組みとしては力不足すぎる。不変条件はアプリ側に寄せるほうが合理的。”
2026/02/08 19:20

nippondanjiリレーショナルモデルが力不足って、リレーショナルモデルを理解してないだけではなかろうか。
2026/02/08 19:33★★★★★★

Chiseiルールベースの運用は守らない者が現れた時にダメージがでかいので制約ベースが安全です。
2026/02/08 19:55★★★★★★

dorapon2000“単に運用がつらいから制約を弱めようという話をしているのではなくて、システム全体のことを考えたらアプリに不変条件を記述することになるし、そのとき外部キー制約の出番はないよね、という風にご理解いただけ”
2026/02/08 20:18

Shinwikiwebのバックエンドにある時の相性の話?
2026/02/08 20:24

Ep7TUEiW多層防御というか多層障害発生対策は全然ありで、コスパも良い方かなと思う。コストには速度低減も含めたうえで
2026/02/08 20:25★★★★

fusionstarデータベース設計でシステム全体の整合性は保てないはわかるけど、アプリの条件がどうあれ外部結合の整合性は守られないと怖いよね。 アプリケーション層とデータ層の話を混ぜ返しているように見える。
2026/02/08 20:35★

kabochatori設計上では必要でも実務では邪魔。そんな外部キー。
2026/02/08 20:41

sirobuそのテーブル群を使って開発してるのが一つのチーム、一つのアプリ群ならそうかもしれないっすね
2026/02/08 20:58

soxandcityクリーンアーキテクチャとかではそうだよね。DBを気にしてモデリングなんてしないからな。
2026/02/08 21:00

hasidukiDB制約がドメイン制約として不十分なのは同意!!!!!!でも!!!!両方あってもいいよね!!!!!!
2026/02/08 21:01★★★★

baronhorseアプリ通さないこともあるしバグもあり得るからな。のり代程度でも入れといた方が良い
2026/02/08 21:03

deguchoテストデータ作りにくいんよな
2026/02/08 21:11★★

tsimo外部キー制約サポートがなかった時代からの古株のRailsユーザーが言いそう。
2026/02/08 21:49