プログラマの雑談部屋 ★376 (437レス)
プログラマの雑談部屋 ★376 http://medaka.5ch.net/test/read.cgi/prog/1762945137/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
195: 仕様書無しさん [sage] 2025/11/16(日) 12:33:10.08 idは主キーとして使うと思うけど、これが例えば設計の過程で他に会員番号みたいなものがあってこれを主キーにできる場合はそれをコードでも想像しやすいuser_numberとか使うけど、これがドメインで使われる言葉じゃなくてシステムの都合で必要に迫られて生成した項目の場合はそのままidで使うかな http://medaka.5ch.net/test/read.cgi/prog/1762945137/195
196: 仕様書無しさん [] 2025/11/16(日) 12:46:51.30 >>192 だな。ORM使ってるとすべてのテーブルにidがあることが前提だからな もちろん別のカラム名をidの代わりに利用することも可能だけど面倒なだけなので普通はやらない ORM使わなくて自分でSQLがりがり書くなら好きなカラム名で良いが、いまどきみんなidがあること前提で読もうとするから不思議に思われるかもな いつからだろうな。俺はRailsからだけど http://medaka.5ch.net/test/read.cgi/prog/1762945137/196
197: 仕様書無しさん [] 2025/11/16(日) 12:48:43.99 >>196 使用するフレームワークのORMに従ったらそうなるだけだろ http://medaka.5ch.net/test/read.cgi/prog/1762945137/197
198: 仕様書無しさん [sage] 2025/11/16(日) 12:49:24.64 じゃあ例えば受注と明細みたいなヘッダーディテール形式 明細レコードには受注IDが入る 受注テーブルの名前をOrderだとすると明細テーブルに入る受注IDは order_id parent_id どっち使う? http://medaka.5ch.net/test/read.cgi/prog/1762945137/198
199: 仕様書無しさん [sage] 2025/11/16(日) 12:51:25.32 受注IDなんだからorder_idにきまってる http://medaka.5ch.net/test/read.cgi/prog/1762945137/199
200: 仕様書無しさん [sage] 2025/11/16(日) 13:17:14.07 基本はドメインで使われる言葉(又はその英訳)をそのまま使うだな ユビキタス言語 http://medaka.5ch.net/test/read.cgi/prog/1762945137/200
201: 仕様書無しさん [sage] 2025/11/16(日) 13:34:20.84 DoctrineかRubyOnRailsかは忘れたが、id列はデータの種類やAppドメインとは無関係な内部値にするべきという考え方が広まってな orderテーブルだとしてもid列はただのrow idであってorder idではないのさ http://medaka.5ch.net/test/read.cgi/prog/1762945137/201
202: 仕様書無しさん [sage] 2025/11/16(日) 13:40:57.31 知らない土地で目を覚ましたらスマホも財布も貸与PCも全部盗まれてるって夢を見た http://medaka.5ch.net/test/read.cgi/prog/1762945137/202
203: 仕様書無しさん [sage] 2025/11/16(日) 14:27:04.46 ドメイン分析で主キーになりうる一意な項目があるならそれを主キーにするけどな 時々は複合キーも使う(ヘッダー番号+見出し番号とか) RestAPIのURLだと、〜/bills/101/details/20 みたいな ORマッパーも複合キーに対応するし やむを得ない場合はid使うけどそれ以外は わざわざidの項目増やして管理コスト増やしたくない http://medaka.5ch.net/test/read.cgi/prog/1762945137/203
204: 仕様書無しさん [sage] 2025/11/16(日) 14:29:12.22 誰とでも握手するみたいに、誰とでもセックスする時代になればいいのに http://medaka.5ch.net/test/read.cgi/prog/1762945137/204
205: 仕様書無しさん [sage] 2025/11/16(日) 14:33:00.50 体調崩すからヤダ http://medaka.5ch.net/test/read.cgi/prog/1762945137/205
206: 仕様書無しさん [sage] 2025/11/16(日) 15:08:12.78 そこはうまいことするんだよ http://medaka.5ch.net/test/read.cgi/prog/1762945137/206
207: 仕様書無しさん [sage] 2025/11/16(日) 15:11:10.91 ババアともセックスしなくちゃいけなくなるんだぞ http://medaka.5ch.net/test/read.cgi/prog/1762945137/207
208: 仕様書無しさん [sage] 2025/11/16(日) 15:12:24.60 VRなどで誰とでもセックスできるが実際は誰ともセックスしない世界になるのでほ http://medaka.5ch.net/test/read.cgi/prog/1762945137/208
209: 仕様書無しさん [] 2025/11/16(日) 15:20:17.31 >>203 俺も以前はナチュラルキーでやってたけど、もう >>201 みたいな考え方が主流な気がする。複合キーもORMで対応可能とは思うけど、やはりサロゲートキーとユニーク制約にしてしまうな。 http://medaka.5ch.net/test/read.cgi/prog/1762945137/209
210: 仕様書無しさん [sage] 2025/11/16(日) 15:21:42.03 生成キーにしたら切り回し難しくないか http://medaka.5ch.net/test/read.cgi/prog/1762945137/210
211: 仕様書無しさん [sage] 2025/11/16(日) 16:18:33.49 会員番号を変更できますとか可変な場合は別途Idを主キーにしといた方が無難 将来にわたって不変の確証あるなら会員番号とかでも構わんと思うけど ユニーク制約が複数あると大量登録時のパフォーマンスにも多少影響あるしな http://medaka.5ch.net/test/read.cgi/prog/1762945137/211
212: 仕様書無しさん [sage] 2025/11/16(日) 16:21:09.64 会員番号は変更せんやろ… http://medaka.5ch.net/test/read.cgi/prog/1762945137/212
213: 仕様書無しさん [sage] 2025/11/16(日) 16:23:33.87 少々速度が遅くてもいいので変更内容を履歴としてぜんぶ残して時系列遡れるDBにしてほしいんだが なんでどこも作ろうとせんのだ http://medaka.5ch.net/test/read.cgi/prog/1762945137/213
214: 仕様書無しさん [sage] 2025/11/16(日) 16:25:32.80 使ってないだけか? http://medaka.5ch.net/test/read.cgi/prog/1762945137/214
215: 仕様書無しさん [] 2025/11/16(日) 16:28:55.09 >>213 そういう要件で出せば? やり方は腐る程ある http://medaka.5ch.net/test/read.cgi/prog/1762945137/215
216: 仕様書無しさん [sage] 2025/11/16(日) 16:30:01.33 完全履歴残るファイルベースdbでいい奴があった気がするけど名前が思い出せん http://medaka.5ch.net/test/read.cgi/prog/1762945137/216
217: 仕様書無しさん [sage] 2025/11/16(日) 16:30:38.83 >>213 テーブル設計じゃなくてDBMSレベルの話? http://medaka.5ch.net/test/read.cgi/prog/1762945137/217
218: 仕様書無しさん [sage] 2025/11/16(日) 16:31:00.23 金融だと更新も削除もログとしてひたすら蓄積して、辿ることで現在の状態がわかるようになってるの普通なんじゃないの? 普通は扱いきれないからやらないけど http://medaka.5ch.net/test/read.cgi/prog/1762945137/218
219: 仕様書無しさん [sage] 2025/11/16(日) 16:32:15.78 自分が知ってるどのシステムもアプリで履歴テーブル作ってる http://medaka.5ch.net/test/read.cgi/prog/1762945137/219
220: 仕様書無しさん [sage] 2025/11/16(日) 16:38:34.05 まず >>213 がどのレベルの話をしているのかが判然とせん http://medaka.5ch.net/test/read.cgi/prog/1762945137/220
221: 仕様書無しさん [sage] 2025/11/16(日) 16:41:05.66 どのレベルでもいい とにかく自分で履歴テーブル作ってアプリで管理するのがめんどい なんとかならんのか http://medaka.5ch.net/test/read.cgi/prog/1762945137/221
222: 仕様書無しさん [sage] 2025/11/16(日) 16:47:46.38 どのレベルでもいい、じゃなくてどのレベルなのかわからないのでは たぶん履歴テーブルのこともレスがあるまで知らなかったろ http://medaka.5ch.net/test/read.cgi/prog/1762945137/222
223: 仕様書無しさん [sage] 2025/11/16(日) 16:48:24.28 マウントの機会ばっかり伺ってるんじゃねえ http://medaka.5ch.net/test/read.cgi/prog/1762945137/223
224: 仕様書無しさん [sage] 2025/11/16(日) 16:53:47.50 OracleだとREDOログっていう形で変更履歴は残ってるよね どのぐらい残るか、それをユーザが使えるのかというのは、DBAじゃないから知らないけど http://medaka.5ch.net/test/read.cgi/prog/1762945137/224
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 213 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s