探検
プログラマの雑談部屋 ★376
126仕様書無しさん
2025/11/15(土) 22:26:34.56 きれいなコードになるデータ構成がどんなのかデータだけ見てわかるのか?
127仕様書無しさん
2025/11/15(土) 22:29:45.41 最初は綺麗なんだよなぁ
頑張って設計したし
でも追加機能やら改修やらで綺麗にするとソースコードの修正範囲が大きくなるからツギハギして行くうちにゴミ化して来る
頑張って設計したし
でも追加機能やら改修やらで綺麗にするとソースコードの修正範囲が大きくなるからツギハギして行くうちにゴミ化して来る
128仕様書無しさん
2025/11/15(土) 22:36:28.64 事業会社なんかはサービスの売り上げ、
(当然だけど)ビジネスありきであるわけだから、求められるのは巧遅よりも拙速であり、データは自然と継ぎ足しに
コードはそうしたデータの尻拭い
結果としてのスパゲティ
>>126
少なくとも上記のような環境でなけりゃデータの設計しっかりするでしょ
(当然だけど)ビジネスありきであるわけだから、求められるのは巧遅よりも拙速であり、データは自然と継ぎ足しに
コードはそうしたデータの尻拭い
結果としてのスパゲティ
>>126
少なくとも上記のような環境でなけりゃデータの設計しっかりするでしょ
129仕様書無しさん
2025/11/15(土) 22:39:03.74 ・時間によってバージョン切り替えするようなマスタをどうやって設計しますか?
開始時間と終了時間の両方をカラム含めさせますか?
ビューを付けたほうがいいでしょうか?
・リカーシブな読み込み前提のテーブルを作ってもいいでしょうか?後々面倒はないでしょうか?
・レコードの版をどうやって管理しますか?結合するときに面倒はないでしょうか?
・論理削除使いますか?部分的に削除したのと、親ごと削除したのと区別が付きますか。削除した情報を見たいなんて要求があるとき、どうしますか?
開始時間と終了時間の両方をカラム含めさせますか?
ビューを付けたほうがいいでしょうか?
・リカーシブな読み込み前提のテーブルを作ってもいいでしょうか?後々面倒はないでしょうか?
・レコードの版をどうやって管理しますか?結合するときに面倒はないでしょうか?
・論理削除使いますか?部分的に削除したのと、親ごと削除したのと区別が付きますか。削除した情報を見たいなんて要求があるとき、どうしますか?
130仕様書無しさん
2025/11/15(土) 22:42:30.81 協力会社の技術力のあるエンジニアを信用して任せてたらその会社の他のプロジェクトが忙しくなってそちらに手を取られて、うちの仕事はそこの外注の初心者みたいなエンジニアに投げられてぐちゃぐちゃなコードを量産しまくられて挙句の果てに協力会社ごと逃げられたことがある。今でもその時のゴミコードでバグが発生してメンテする手間がかかっている。まぁその当時のうちの人間がすべてをレビューしてなかったのも問題だとは思うが(私はいなかったので知らん)
131仕様書無しさん
2025/11/15(土) 22:43:40.69 今はAIが全てのベストプラクティスをご存知なのでまだいい
当時はひとつひとつが鬼門だった
いや今でもサボったほうが楽なことが多くて後々地獄になる
簡単そうには見えるんだが
個々のSQLの膨らみ具合と
こんなはずじゃない勢いのテーブル増加を見て怖気づく
当時はひとつひとつが鬼門だった
いや今でもサボったほうが楽なことが多くて後々地獄になる
簡単そうには見えるんだが
個々のSQLの膨らみ具合と
こんなはずじゃない勢いのテーブル増加を見て怖気づく
132仕様書無しさん
2025/11/15(土) 22:48:21.17 >>128
まさにその状態の真っ只中にいる。とにかく責任者が思いついたらその機能を2-3日みたいなスパンで投入しないといけないのでじっくり設計とかしている暇はない。いまこれリリースしたらトラブル可能性ありますよと言ってもとにかく機能が欲しい、トラブっても動かしながら直せばいいみたいな感じ
まぁ結論としてはまともなエンジニアリングをしている会社で働こう!ということだなw
まさにその状態の真っ只中にいる。とにかく責任者が思いついたらその機能を2-3日みたいなスパンで投入しないといけないのでじっくり設計とかしている暇はない。いまこれリリースしたらトラブル可能性ありますよと言ってもとにかく機能が欲しい、トラブっても動かしながら直せばいいみたいな感じ
まぁ結論としてはまともなエンジニアリングをしている会社で働こう!ということだなw
133仕様書無しさん
2025/11/15(土) 22:51:46.60 うそです会社で設計したことない
ジジイなので記憶が改竄されてた
ジジイなので記憶が改竄されてた
134仕様書無しさん
2025/11/15(土) 22:52:00.47 >>131
テーブルやSQLが複雑になってももう気にしなくてもよいのでは?自分で書く時代は終わってAIに任せておけば複雑なSQLも一瞬で仕上げてくれるんだし。必死で勉強して大量にSQL書いてきたけど、まったくもってAIの書くスピードとSQLの内容のスマートさにはかなわんわ
テーブルやSQLが複雑になってももう気にしなくてもよいのでは?自分で書く時代は終わってAIに任せておけば複雑なSQLも一瞬で仕上げてくれるんだし。必死で勉強して大量にSQL書いてきたけど、まったくもってAIの書くスピードとSQLの内容のスマートさにはかなわんわ
135仕様書無しさん
2025/11/15(土) 22:54:25.35 ああそっか…
時代はかわったんだ…
時代はかわったんだ…
136仕様書無しさん
2025/11/15(土) 22:55:40.21 下剤効いて2kg出た
137仕様書無しさん
2025/11/15(土) 22:57:31.70 なにもさせてもらえなかった
社会に影響を与えるチャンスは
ことごとく足払いをかけられて潰されてきた
社会に影響を与えるチャンスは
ことごとく足払いをかけられて潰されてきた
138仕様書無しさん
2025/11/15(土) 22:58:56.11139仕様書無しさん
2025/11/15(土) 22:59:28.05 自分の状況は悪くはない
悪くはないが結局は社会に消されたんだ
悪くはないが結局は社会に消されたんだ
140仕様書無しさん
2025/11/15(土) 23:00:20.40 >>129
>時間によってバージョン切り替え
バージョンによって、じゃなくてマスタ切り替えではなくて?
>開始時間と終了時間の両方をカラム
判然とせんけどたぶんイエス
>ビューを付けたほうがいいでしょうか?
サービスによる
>リカーシブな読み込み前提のテーブルを作ってもいいでしょうか?
おつしるとおり軽々に取り入れるのではなく、運用上アンチパターン化することはないか設計時点で考えるべき
>レコードの版をどうやって管理しますか?
バージョンカラム?
危惧されている結合における面倒ごととは?
>論理削除使いますか?
>削除した情報を見たいなんて要求がある
このユースケース、要望なら当然論理
物理、保持期間は要件次第
>時間によってバージョン切り替え
バージョンによって、じゃなくてマスタ切り替えではなくて?
>開始時間と終了時間の両方をカラム
判然とせんけどたぶんイエス
>ビューを付けたほうがいいでしょうか?
サービスによる
>リカーシブな読み込み前提のテーブルを作ってもいいでしょうか?
おつしるとおり軽々に取り入れるのではなく、運用上アンチパターン化することはないか設計時点で考えるべき
>レコードの版をどうやって管理しますか?
バージョンカラム?
危惧されている結合における面倒ごととは?
>論理削除使いますか?
>削除した情報を見たいなんて要求がある
このユースケース、要望なら当然論理
物理、保持期間は要件次第
141仕様書無しさん
2025/11/15(土) 23:02:38.39142仕様書無しさん
2025/11/15(土) 23:33:11.05 テーブル数多くなってきたらGUIかORM使うのが普通になってくるってこと?
CLIとか素のSQL文の管理とかできる気がしないんだけど
CLIとか素のSQL文の管理とかできる気がしないんだけど
143仕様書無しさん
2025/11/15(土) 23:33:40.02 テーブル数多い時にね
144仕様書無しさん
2025/11/15(土) 23:36:16.42 GUIかORMて
145仕様書無しさん
2025/11/15(土) 23:38:29.74 納豆パン作ってみたらめちゃくちゃまずかった
大豆はまだ食えたんだが
大豆はまだ食えたんだが
146仕様書無しさん
2025/11/15(土) 23:40:05.32 お前らみたいに有能なプログラマーになりたいのでご教授くださいやがれ
147仕様書無しさん
2025/11/15(土) 23:40:23.36 ORMあっても簡単なER図書かない?
148仕様書無しさん
2025/11/15(土) 23:46:30.49 うんこが便器から飛び出しているかテストするときに
・うんこが完全に便器の中にある
・うんこが半分飛び出している
・うんこが完全に飛び出している
・うんこが便器をまたいで飛び出している
の境界テストをすればいいだけなのだが
センスのない奴にテスト仕様を書かせると
・うんこがちょっとだけ飛び出している
・うんこがなんとなく飛び出している
・うんこがすごく飛び出している
・うんこが隣の便器に飛び出している
などと、同じロジックを通るテストケースを大量に作り出す
・うんこが完全に便器の中にある
・うんこが半分飛び出している
・うんこが完全に飛び出している
・うんこが便器をまたいで飛び出している
の境界テストをすればいいだけなのだが
センスのない奴にテスト仕様を書かせると
・うんこがちょっとだけ飛び出している
・うんこがなんとなく飛び出している
・うんこがすごく飛び出している
・うんこが隣の便器に飛び出している
などと、同じロジックを通るテストケースを大量に作り出す
150仕様書無しさん
2025/11/16(日) 00:00:10.69151仕様書無しさん
2025/11/16(日) 00:01:08.24 テーブルは適度に非正規化しないとパフォーマンス落ちるやろ
152仕様書無しさん
2025/11/16(日) 00:05:21.69 長いけどチャッピーに聞いたらこう答えたんだけどどう思う?
ormを使わず生sqlだけでデータベース接続をする場合、どれくらいのテーブル数が適していますか
ChatGPT:
結論から言うと 「生SQLだけで運用できるテーブル数には明確な上限はない」 ですが、
実務的には 50〜150 テーブルが限界ラインになり、200〜300 を超えると生SQLだけは非推奨 になります。
その理由と基準を詳しく説明します。
ormを使わず生sqlだけでデータベース接続をする場合、どれくらいのテーブル数が適していますか
ChatGPT:
結論から言うと 「生SQLだけで運用できるテーブル数には明確な上限はない」 ですが、
実務的には 50〜150 テーブルが限界ラインになり、200〜300 を超えると生SQLだけは非推奨 になります。
その理由と基準を詳しく説明します。
153仕様書無しさん
2025/11/16(日) 00:05:49.15 ✅ 結論:生SQLだけでの運用に適したテーブル数の目安
■ 〜50テーブル
生SQLだけで十分運用可能
構造も把握しやすい
スキーマ変更時の影響範囲も小さい
■ 50〜150テーブル
チームと設計次第では生SQLのみでも運用できる
ただし クエリがスパゲッティ化し始めるゾーン
接続管理・トランザクション管理は手厚くする必要あり
■ 150〜300テーブル
生SQLだけだとかなりつらくなる
スキーマ変更時のクエリ修正の影響範囲が爆発する
どこで何のSQLが使われてるか管理しきれなくなる
→ ORMまたはQuery Builderを部分的に併用すべき
■ 300テーブル以上
生SQLだけはほぼ不可能
保守・修正コストが異常に高くなる
「どのSQLがどのテーブルに影響しているか」が分からなくなる
→ ORMまたは型付きRepository層が必須
■ 〜50テーブル
生SQLだけで十分運用可能
構造も把握しやすい
スキーマ変更時の影響範囲も小さい
■ 50〜150テーブル
チームと設計次第では生SQLのみでも運用できる
ただし クエリがスパゲッティ化し始めるゾーン
接続管理・トランザクション管理は手厚くする必要あり
■ 150〜300テーブル
生SQLだけだとかなりつらくなる
スキーマ変更時のクエリ修正の影響範囲が爆発する
どこで何のSQLが使われてるか管理しきれなくなる
→ ORMまたはQuery Builderを部分的に併用すべき
■ 300テーブル以上
生SQLだけはほぼ不可能
保守・修正コストが異常に高くなる
「どのSQLがどのテーブルに影響しているか」が分からなくなる
→ ORMまたは型付きRepository層が必須
154仕様書無しさん
2025/11/16(日) 00:06:20.23 🔥 生SQLだけで運用すると破綻する理由
1. スキーマ変更の影響範囲が手作業で対応しきれない
例:カラム名1つ変えるだけで数百ファイルに影響する可能性。
ORMならモデル1箇所を直せばよいが、生SQLでは全部探す必要がある。
2. SQLがどこで使われているかコード上から追えない
生SQLは散らばりやすい
grep 検索では限界がある
依存関係管理ができない
3. 型・補完などIDEの恩恵が受けにくい
コード補完が効かないため、ミスが多発する。
4. 複数人開発でバラバラのSQLが生まれる
JOINの仕方が人によって違う
N+1問題も起きやすい
共通化が難しい
5. テーブル数が増えるほどリファクタリング不能になる
300テーブルを生SQLで100%管理するのはほぼ無理。
1. スキーマ変更の影響範囲が手作業で対応しきれない
例:カラム名1つ変えるだけで数百ファイルに影響する可能性。
ORMならモデル1箇所を直せばよいが、生SQLでは全部探す必要がある。
2. SQLがどこで使われているかコード上から追えない
生SQLは散らばりやすい
grep 検索では限界がある
依存関係管理ができない
3. 型・補完などIDEの恩恵が受けにくい
コード補完が効かないため、ミスが多発する。
4. 複数人開発でバラバラのSQLが生まれる
JOINの仕方が人によって違う
N+1問題も起きやすい
共通化が難しい
5. テーブル数が増えるほどリファクタリング不能になる
300テーブルを生SQLで100%管理するのはほぼ無理。
155仕様書無しさん
2025/11/16(日) 00:07:10.27 🔧 実務では何が起きるか?
100テーブル → 「なんとかなる」
SQLが複雑になっても人間が把握できる
200テーブル → 「構造管理が苦しくなる」
影響範囲調査が辛い
スキーマ変更のたびに改修数が膨れ上がる
300テーブル以上 → 「保守不能に近い」
統一ルールなしだと破滅
SQLの共通化や自動生成が必須レベル
🎯 最適解(生SQL中心で行きたい場合)
生SQLを使いたいなら、以下の組み合わせが最強です:
RepositoryパターンでSQLを一箇所に集約
SQLテンプレートを作る(共通化)
Query Builderを併用(完全ORMは使わない)
型定義(TypeScript・Pydanticなど)をDBと同期
これらを入れれば 150〜200テーブルでも生SQL中心で耐えられる。
100テーブル → 「なんとかなる」
SQLが複雑になっても人間が把握できる
200テーブル → 「構造管理が苦しくなる」
影響範囲調査が辛い
スキーマ変更のたびに改修数が膨れ上がる
300テーブル以上 → 「保守不能に近い」
統一ルールなしだと破滅
SQLの共通化や自動生成が必須レベル
🎯 最適解(生SQL中心で行きたい場合)
生SQLを使いたいなら、以下の組み合わせが最強です:
RepositoryパターンでSQLを一箇所に集約
SQLテンプレートを作る(共通化)
Query Builderを併用(完全ORMは使わない)
型定義(TypeScript・Pydanticなど)をDBと同期
これらを入れれば 150〜200テーブルでも生SQL中心で耐えられる。
156仕様書無しさん
2025/11/16(日) 00:07:20.83 ✅ 最終結論
「生SQLだけ」でやりやすいテーブル数の目安は 〜100
150〜200でギリギリ、300以上は非推奨
ただし以下によって変わります:
チーム全員がSQLに強いか?
スキーマ変更が頻繁か?
分析系か、トランザクション系か?
Query Builder を併用するか?
「生SQLだけ」でやりやすいテーブル数の目安は 〜100
150〜200でギリギリ、300以上は非推奨
ただし以下によって変わります:
チーム全員がSQLに強いか?
スキーマ変更が頻繁か?
分析系か、トランザクション系か?
Query Builder を併用するか?
157仕様書無しさん
2025/11/16(日) 00:16:21.28158仕様書無しさん
2025/11/16(日) 00:29:29.27 5000超えも普通にあるだろ
200くらいが丁度いい
それって貴方の感想ですよね
200くらいが丁度いい
それって貴方の感想ですよね
159仕様書無しさん
2025/11/16(日) 00:55:05.72 テーブル数が300を超えていたら
その現場から逃げよう
その現場から逃げよう
160仕様書無しさん
2025/11/16(日) 01:22:46.92 >>153
自分の使っているフレームワークだとEntityとペアになったRepositoryクラスにORMを使って絞り込みとかの機能を持たせたメソッドを書くのが基本になってるな
自分の使っているフレームワークだとEntityとペアになったRepositoryクラスにORMを使って絞り込みとかの機能を持たせたメソッドを書くのが基本になってるな
161仕様書無しさん
2025/11/16(日) 01:26:04.73 >>154
ORM使っていても気をつけないとN+1問題は起きる。最近、人が書いたコードを修正したんだけど、参照しているエンティティを遅延ロードしていたおかげでクエリ数が爆発してた。
ORM使っていても気をつけないとN+1問題は起きる。最近、人が書いたコードを修正したんだけど、参照しているエンティティを遅延ロードしていたおかげでクエリ数が爆発してた。
162仕様書無しさん
2025/11/16(日) 01:26:07.52 機能境界とかでちゃんとDB分けたりネームスペース設定せい
163仕様書無しさん
2025/11/16(日) 01:26:36.43 深夜の背徳トリプルチーズバーガー
164仕様書無しさん
2025/11/16(日) 01:31:01.61 >>162
自分の使っているフレームワークとORMだと複数DBを使える可能性もあるようだけど、なんか面倒なことが起こりそうで誰も手を出さないわ。そもそも複雑に絡み合いすぎていて機能境界なんてないと思う
自分の使っているフレームワークとORMだと複数DBを使える可能性もあるようだけど、なんか面倒なことが起こりそうで誰も手を出さないわ。そもそも複雑に絡み合いすぎていて機能境界なんてないと思う
165仕様書無しさん
2025/11/16(日) 01:33:44.88 マイクロサービス化は?
166仕様書無しさん
2025/11/16(日) 03:21:10.50 MITからChatGPT活用頻度の高い人の脳活性が低いって研究が出た
167仕様書無しさん
2025/11/16(日) 07:09:25.48 DB分けたので大失敗した
168仕様書無しさん
2025/11/16(日) 08:15:36.48 あたまがぼんやりしてうごかない
169仕様書無しさん
2025/11/16(日) 08:22:39.70 >>168
もう引退しなよ。周りに負担がかかりすぎてる
もう引退しなよ。周りに負担がかかりすぎてる
170仕様書無しさん
2025/11/16(日) 08:29:51.77 彡 ⌒ ミ
(´・ω・`) ぼんやり見えてこないか眺めてる
(´・ω・`) ぼんやり見えてこないか眺めてる
171仕様書無しさん
2025/11/16(日) 08:33:42.05 本の誤記を連絡するページに飛んだらメールアドレス必須だったからやめた
誰も計算なんか真面目にやらないだろうからずーっと間違えたままなんだろうな
誰も計算なんか真面目にやらないだろうからずーっと間違えたままなんだろうな
172仕様書無しさん
2025/11/16(日) 08:38:00.20 捏造メアドでも届くは届くだろ
173仕様書無しさん
2025/11/16(日) 08:44:45.36 おっぱい
174仕様書無しさん
2025/11/16(日) 08:57:47.94 本の誤記に気がつく者だけが真実に辿り着く
もうそれでいいじゃないか
本を鵜呑みにして一生悩んでろだよ
そもそも正誤表を調べようなんて人も一握りだし
もうそれでいいじゃないか
本を鵜呑みにして一生悩んでろだよ
そもそも正誤表を調べようなんて人も一握りだし
175仕様書無しさん
2025/11/16(日) 10:39:05.17 ねむたいから寝る
頭もぼけてるし
もうしぬんじゃないかといつもおもう
頭もぼけてるし
もうしぬんじゃないかといつもおもう
176仕様書無しさん
2025/11/16(日) 10:40:35.33 前頭葉にダメージを負った人間の行動がおれにそっくりだった
177仕様書無しさん
2025/11/16(日) 11:14:10.60 顔認証のロック解除って、その人の実物大の顔写真があればできますか?
178仕様書無しさん
2025/11/16(日) 11:53:53.83 そんなものなくてもAIで生成した画像があればできるよ
179仕様書無しさん
2025/11/16(日) 12:01:44.76 お前らDBで例えばユーザ管理すりテーブル作るとするやん
社員番号なのか何なのか一意キーとして列作るなら
id
user_id
どっち使う?
社員番号なのか何なのか一意キーとして列作るなら
id
user_id
どっち使う?
180仕様書無しさん
2025/11/16(日) 12:04:29.92 user_id
181仕様書無しさん
2025/11/16(日) 12:04:39.49 idはサロゲートキーにしか使ってねえや
182仕様書無しさん
2025/11/16(日) 12:06:29.80 社員番号のような何かはuser_idに入れる。
idはレコードそのものユニークIDを入れる列名として定着してるから、そこに社員番号を入れるのはもはや嫌がらせに近い。
idはレコードそのものユニークIDを入れる列名として定着してるから、そこに社員番号を入れるのはもはや嫌がらせに近い。
183仕様書無しさん
2025/11/16(日) 12:08:28.96 userテーブルの主キーはidだろ
テーブル名がuserだからuser_idは冗長だわ
外部キーとして使う時はuser_idだけど
テーブル名がuserだからuser_idは冗長だわ
外部キーとして使う時はuser_idだけど
184仕様書無しさん
2025/11/16(日) 12:09:42.50 そんなことより、ユーザ管理すりテーブル
が何なのか気になるわ
が何なのか気になるわ
185仕様書無しさん
2025/11/16(日) 12:10:11.32 やめておけ
せめてスキーマ内では
同じカラムは同じものを表せるように調整しろ
せめてスキーマ内では
同じカラムは同じものを表せるように調整しろ
186仕様書無しさん
2025/11/16(日) 12:10:28.23 同じカラム名
187仕様書無しさん
2025/11/16(日) 12:12:54.68 ねえ
188仕様書無しさん
2025/11/16(日) 12:16:32.59 じゃあuserテーブルの属性に全部user_のプレフィックスつけるのかよ
user_name
user_gender
user_email
user_address
user_rank
user_name
user_gender
user_email
user_address
user_rank
189仕様書無しさん
2025/11/16(日) 12:17:03.89 なんでそう極端なんだよ
190仕様書無しさん
2025/11/16(日) 12:20:43.96 db設計むずすぎ
191仕様書無しさん
2025/11/16(日) 12:20:58.75 一貫性がある方がいい
idにだけuser_ついてるとなんか気持ち悪い
idにだけuser_ついてるとなんか気持ち悪い
192仕様書無しさん
2025/11/16(日) 12:23:35.94 idにだけuserというか、idとuser_idが両方あるのが現代では普通だと思う
なので選択肢がない
なので選択肢がない
193仕様書無しさん
2025/11/16(日) 12:25:04.46 日本語で整理した時どうしてた?
194仕様書無しさん
2025/11/16(日) 12:32:49.84 Userテーブルのidなんだからuser.idだろ
user_idは他テーブルの外部キーだろ
user_idは他テーブルの外部キーだろ
195仕様書無しさん
2025/11/16(日) 12:33:10.08 idは主キーとして使うと思うけど、これが例えば設計の過程で他に会員番号みたいなものがあってこれを主キーにできる場合はそれをコードでも想像しやすいuser_numberとか使うけど、これがドメインで使われる言葉じゃなくてシステムの都合で必要に迫られて生成した項目の場合はそのままidで使うかな
196仕様書無しさん
2025/11/16(日) 12:46:51.30 >>192
だな。ORM使ってるとすべてのテーブルにidがあることが前提だからな
もちろん別のカラム名をidの代わりに利用することも可能だけど面倒なだけなので普通はやらない
ORM使わなくて自分でSQLがりがり書くなら好きなカラム名で良いが、いまどきみんなidがあること前提で読もうとするから不思議に思われるかもな
いつからだろうな。俺はRailsからだけど
だな。ORM使ってるとすべてのテーブルにidがあることが前提だからな
もちろん別のカラム名をidの代わりに利用することも可能だけど面倒なだけなので普通はやらない
ORM使わなくて自分でSQLがりがり書くなら好きなカラム名で良いが、いまどきみんなidがあること前提で読もうとするから不思議に思われるかもな
いつからだろうな。俺はRailsからだけど
197仕様書無しさん
2025/11/16(日) 12:48:43.99 >>196
使用するフレームワークのORMに従ったらそうなるだけだろ
使用するフレームワークのORMに従ったらそうなるだけだろ
198仕様書無しさん
2025/11/16(日) 12:49:24.64 じゃあ例えば受注と明細みたいなヘッダーディテール形式
明細レコードには受注IDが入る
受注テーブルの名前をOrderだとすると明細テーブルに入る受注IDは
order_id
parent_id
どっち使う?
明細レコードには受注IDが入る
受注テーブルの名前をOrderだとすると明細テーブルに入る受注IDは
order_id
parent_id
どっち使う?
199仕様書無しさん
2025/11/16(日) 12:51:25.32 受注IDなんだからorder_idにきまってる
200仕様書無しさん
2025/11/16(日) 13:17:14.07 基本はドメインで使われる言葉(又はその英訳)をそのまま使うだな
ユビキタス言語
ユビキタス言語
201仕様書無しさん
2025/11/16(日) 13:34:20.84 DoctrineかRubyOnRailsかは忘れたが、id列はデータの種類やAppドメインとは無関係な内部値にするべきという考え方が広まってな
orderテーブルだとしてもid列はただのrow idであってorder idではないのさ
orderテーブルだとしてもid列はただのrow idであってorder idではないのさ
202仕様書無しさん
2025/11/16(日) 13:40:57.31 知らない土地で目を覚ましたらスマホも財布も貸与PCも全部盗まれてるって夢を見た
203仕様書無しさん
2025/11/16(日) 14:27:04.46 ドメイン分析で主キーになりうる一意な項目があるならそれを主キーにするけどな
時々は複合キーも使う(ヘッダー番号+見出し番号とか)
RestAPIのURLだと、〜/bills/101/details/20 みたいな
ORマッパーも複合キーに対応するし
やむを得ない場合はid使うけどそれ以外は
わざわざidの項目増やして管理コスト増やしたくない
時々は複合キーも使う(ヘッダー番号+見出し番号とか)
RestAPIのURLだと、〜/bills/101/details/20 みたいな
ORマッパーも複合キーに対応するし
やむを得ない場合はid使うけどそれ以外は
わざわざidの項目増やして管理コスト増やしたくない
204仕様書無しさん
2025/11/16(日) 14:29:12.22 誰とでも握手するみたいに、誰とでもセックスする時代になればいいのに
205仕様書無しさん
2025/11/16(日) 14:33:00.50 体調崩すからヤダ
206仕様書無しさん
2025/11/16(日) 15:08:12.78 そこはうまいことするんだよ
207仕様書無しさん
2025/11/16(日) 15:11:10.91 ババアともセックスしなくちゃいけなくなるんだぞ
208仕様書無しさん
2025/11/16(日) 15:12:24.60 VRなどで誰とでもセックスできるが実際は誰ともセックスしない世界になるのでほ
209仕様書無しさん
2025/11/16(日) 15:20:17.31210仕様書無しさん
2025/11/16(日) 15:21:42.03 生成キーにしたら切り回し難しくないか
211仕様書無しさん
2025/11/16(日) 16:18:33.49 会員番号を変更できますとか可変な場合は別途Idを主キーにしといた方が無難
将来にわたって不変の確証あるなら会員番号とかでも構わんと思うけど
ユニーク制約が複数あると大量登録時のパフォーマンスにも多少影響あるしな
将来にわたって不変の確証あるなら会員番号とかでも構わんと思うけど
ユニーク制約が複数あると大量登録時のパフォーマンスにも多少影響あるしな
212仕様書無しさん
2025/11/16(日) 16:21:09.64 会員番号は変更せんやろ…
213仕様書無しさん
2025/11/16(日) 16:23:33.87 少々速度が遅くてもいいので変更内容を履歴としてぜんぶ残して時系列遡れるDBにしてほしいんだが
なんでどこも作ろうとせんのだ
なんでどこも作ろうとせんのだ
214仕様書無しさん
2025/11/16(日) 16:25:32.80 使ってないだけか?
215仕様書無しさん
2025/11/16(日) 16:28:55.09216仕様書無しさん
2025/11/16(日) 16:30:01.33 完全履歴残るファイルベースdbでいい奴があった気がするけど名前が思い出せん
218仕様書無しさん
2025/11/16(日) 16:31:00.23 金融だと更新も削除もログとしてひたすら蓄積して、辿ることで現在の状態がわかるようになってるの普通なんじゃないの?
普通は扱いきれないからやらないけど
普通は扱いきれないからやらないけど
219仕様書無しさん
2025/11/16(日) 16:32:15.78 自分が知ってるどのシステムもアプリで履歴テーブル作ってる
221仕様書無しさん
2025/11/16(日) 16:41:05.66 どのレベルでもいい
とにかく自分で履歴テーブル作ってアプリで管理するのがめんどい
なんとかならんのか
とにかく自分で履歴テーブル作ってアプリで管理するのがめんどい
なんとかならんのか
222仕様書無しさん
2025/11/16(日) 16:47:46.38 どのレベルでもいい、じゃなくてどのレベルなのかわからないのでは
たぶん履歴テーブルのこともレスがあるまで知らなかったろ
たぶん履歴テーブルのこともレスがあるまで知らなかったろ
223仕様書無しさん
2025/11/16(日) 16:48:24.28 マウントの機会ばっかり伺ってるんじゃねえ
224仕様書無しさん
2025/11/16(日) 16:53:47.50 OracleだとREDOログっていう形で変更履歴は残ってるよね
どのぐらい残るか、それをユーザが使えるのかというのは、DBAじゃないから知らないけど
どのぐらい残るか、それをユーザが使えるのかというのは、DBAじゃないから知らないけど
225仕様書無しさん
2025/11/16(日) 16:56:32.10 DB機能の履歴を追う→難しすぎ、データ移行するとデータ消えるので死
アプリの履歴テーブル作る→量がふくらみすぎて処理が複雑化して死
版カラムつけて管理する→SQLが煩雑化したり論理削除フラグのからみが混乱して死
アプリの履歴テーブル作る→量がふくらみすぎて処理が複雑化して死
版カラムつけて管理する→SQLが煩雑化したり論理削除フラグのからみが混乱して死
227仕様書無しさん
2025/11/16(日) 17:05:27.59 ほしいのは多分特定レコードの任意時刻のスナップショットなんだ
228仕様書無しさん
2025/11/16(日) 17:14:02.09 きゅうにさびしいことをいうな
230仕様書無しさん
2025/11/16(日) 17:15:26.67 そいつです
たすけて
たすけて
231仕様書無しさん
2025/11/16(日) 17:54:30.51 トリガーで変更前のデータを履歴テーブルに移すのが鉄板
データクソ増えるのはどうしょうもない
データクソ増えるのはどうしょうもない
232仕様書無しさん
2025/11/16(日) 18:10:22.32 増えるほど楽しくなる病にかかることがあります
233仕様書無しさん
2025/11/16(日) 19:05:21.80 かみのけもふやしてください!
234仕様書無しさん
2025/11/16(日) 19:28:42.40 AIに聞いたら版カラムつけてnewestフラグ管理がベストプラクティスだって
自分の中で候補のかなり下の方だった…
自分の中で候補のかなり下の方だった…
235仕様書無しさん
2025/11/16(日) 19:34:17.84 エージェントの担当者から通訳士になるわけでもないのに英語の勉強するのはおかしいと注意されたことあるわ
履歴書から強制的に削除された
履歴書から強制的に削除された
236仕様書無しさん
2025/11/16(日) 19:38:57.68 そんなこと言われてたこともないわ
信用されてなくないか
信用されてなくないか
237仕様書無しさん
2025/11/16(日) 19:39:24.24 なに書いたんだ
238仕様書無しさん
2025/11/16(日) 19:48:22.48 フラグ管理は汚いしコード側でフラグ回りの扱いミスるバグを作りまくるゴミだが
一番採用例は多いだろうからAIに聞いたらそうなるだろうな
一番採用例は多いだろうからAIに聞いたらそうなるだろうな
239仕様書無しさん
2025/11/16(日) 19:52:30.65 きれいにソートしてくれて接続先も対応してくれるシステムがあればいいのにな
240仕様書無しさん
2025/11/16(日) 19:53:50.83 そっとソートしよう
241仕様書無しさん
2025/11/16(日) 19:54:52.60 A社用フラグ、B社用フラグ、C社用フラグ
A社用ブランチ、B社用ブランチ、C社用ブランチ
A社用ブランチ、B社用ブランチ、C社用ブランチ
242仕様書無しさん
2025/11/16(日) 20:02:55.91 気合いで並び替えするソート
勝手に変えるなと差し返されるソート
勝手に変えるなと差し返されるソート
245仕様書無しさん
2025/11/16(日) 20:06:44.22 そのキチガイ一人のためにいくら掛けるんだ
246仕様書無しさん
2025/11/16(日) 20:16:51.57 入会料と退会料の無限ループガチャになりますがよろしいでしょうか?
でよくね
でよくね
247仕様書無しさん
2025/11/16(日) 21:55:33.88 肉食うと多少気分が凶暴になってなにかする気になるが凶暴なのでイライラする
食わないと明日にも死ぬジジイみたいな気持ちだ
どうしたものか
食わないと明日にも死ぬジジイみたいな気持ちだ
どうしたものか
248仕様書無しさん
2025/11/16(日) 22:04:52.72 量を調整しよう
249仕様書無しさん
2025/11/16(日) 22:07:44.60 そう言えば銅と亜鉛のバランスがイライラや不安感にめっちゃ関係してるらしいよ
量じゃなくてバランス
量じゃなくてバランス
250仕様書無しさん
2025/11/16(日) 22:44:05.27 バランスのいい山本選手を見習おう
251仕様書無しさん
2025/11/17(月) 00:32:53.30 元気な高齢者は肉食らしい
菜食は不健康
菜食は不健康
252仕様書無しさん
2025/11/17(月) 00:34:00.13 ビタミンとかも摂らなきゃダメなんだろうな
253仕様書無しさん
2025/11/17(月) 00:56:54.78 1日分の栄養素が1カプセルに入ってるって怖くね?
3時間分の栄養素くらいの方がちょうどいいだろ
3時間分の栄養素くらいの方がちょうどいいだろ
254仕様書無しさん
2025/11/17(月) 02:27:34.84 内臓に負担でかそうだよな
255仕様書無しさん
2025/11/17(月) 04:09:55.01 履歴管理はマジでめんどくさい
ログだけ簡単だけど、状態の復元とか要件に含まれると辛いよな
大体もっとも能力の高いエンジニアが一人で作らされて、
要件が変わるごとに実装もがらっと変わるから尻拭い的な作業が増える
ログだけ簡単だけど、状態の復元とか要件に含まれると辛いよな
大体もっとも能力の高いエンジニアが一人で作らされて、
要件が変わるごとに実装もがらっと変わるから尻拭い的な作業が増える
256仕様書無しさん
2025/11/17(月) 10:05:13.23 【犯罪】時間違反SEを退治しろ【損害】
☆時間外労働違反者を退治しろ!☆
★偽装委託多重派遣を退治しろ!★
時間外労働違反のせいで不健康だらけ
多重派遣偽装委託のせいで非婚だらけ
低技術で低収入は高技術で高収入の
技術者に迷惑だからIT業界から失せろ!
☆時間外労働違反者を退治しろ!☆
★偽装委託多重派遣を退治しろ!★
時間外労働違反のせいで不健康だらけ
多重派遣偽装委託のせいで非婚だらけ
低技術で低収入は高技術で高収入の
技術者に迷惑だからIT業界から失せろ!
257仕様書無しさん
2025/11/17(月) 10:05:32.64 【悲報】MicrosoftのWindows開発チーム、Macを使っていることがバレて炎上 [603416639]
https://greta.5ch.net/test/read.cgi/poverty/1763302182/
https://greta.5ch.net/test/read.cgi/poverty/1763302182/
258仕様書無しさん
2025/11/17(月) 10:32:33.11 大量のマジックナンバーに遭遇
しかも調整した的なコメント
どうすりゃいい
しかも調整した的なコメント
どうすりゃいい
259仕様書無しさん
2025/11/17(月) 10:36:22.27 全部消せ
260仕様書無しさん
2025/11/17(月) 10:39:10.56 こころがくるしい
261仕様書無しさん
2025/11/17(月) 10:44:14.77 今日もエージェントから連絡なし
262仕様書無しさん
2025/11/17(月) 10:46:33.12 欲しいのは若くて安い有能
263仕様書無しさん
2025/11/17(月) 11:13:13.92 同僚が普段から外部とのコネ作りに勤しんでるんだが、真似したほうがいいんだろうか...
来年の契約も怪しいし、今からでも動いていたほうがいいんだろうか...
来年の契約も怪しいし、今からでも動いていたほうがいいんだろうか...
264仕様書無しさん
2025/11/17(月) 11:56:04.78 いい天気や
働きたくない
働きたくない
レスを投稿する
ニュース
- 【反発強まる中】日本外務省の担当局長が17日に日本を出発し中国訪問へ… ★1 [BFU★]
- ひろゆき氏、タバコと酒をやめない理由を明かす 「ストレスが少ない方が結果として長生きできる場合もある」 健康的見地で力説 [冬月記者★]
- 訪日中国人減少ならGDP下振れ エコノミストが試算 ★4 [蚤の市★]
- 【ランキング】東京がニューヨークを上回り「世界最大の経済都市」に...日本からは、もう1都市圏がトップ10入り [ぐれ★]
- バーガーキング日本事業売却、ゴールドマンに優先交渉権 700億円規模 [蚤の市★]
- 【高校サッカー】宮城県大会準優勝の聖和学園男子サッカー部で複数部員が夏休み中に飲酒・喫煙 宮城の代表校はどうなる [THE FURYφ★]
- 高市早苗が発言を撤回・謝罪しない理由 撤回したら岩盤支持層に弱腰と叩かれるからだった🥺 [931948549]
- 高市総理周辺「小さな火種が火事になりかけている。早く鎮火しないといけない」 [931948549]
- 【高市悲報】韓国軍🇰🇷、日本軍との合同軍事演習を突然キャンセルしてしまう [709039863]
- 【悲報】高市早苗のの描いた風刺画、世界中で大流行してしまう…なぜなのか?涙 [339712612]
- 外務省幹部、高市の件と中国のSNSへの投稿について抗議するため、わざわざ中国現地へ赴いて直接伝えに行く模様👈😲? [521921834]
- 【衝撃】中国人が今の日本人をぐうの音も出ないほど的確に評したブログが見つかりネ卜ウヨが憤死 [597533159]
