Tters

eOXSTz スレ主 2023年05月

SQLで多対多の関係を作りたい時って、中間テーブル作るじゃないですか。
でも、MySQLとかPostgreSQLのJSON型カラム使ったら、その必要ないんじゃないん? って気づいたんだけど、なんか間違ってたりしないでしょうか?
そっちの方が便利そうな気がするものの、後々ハマりどころがあったら取り返しつかないので、識者の方、どなたか教えてください〜〜

vgncK7 2023年05月

一見するとjsonですべてブチ込めば手早く作れる気がするけど、後々複雑なwhereしたい時とか不便になりませんか?
フレームワークとか使っているならリレーションさせるほうが楽かも

後はjson型が無いものに関してはtext型でいれるかな

VuF/Ta 2023年05月

設計によると思うけど、親子関係作りたいとか逆に面倒くさくなるパターンはあると思うよ
JSON型で済むならMongoDBとかKVS使った方がいいと思う

eOXSTz スレ主 2023年05月

そうですね、後からそういうことになったら不便そうなので、今回は外部キーとしては使わないことにしようと思いました。
ただ、メタデータ的な情報とか(施設の「禁煙」とか「トイレあり」とか「車椅子対応」とかのアイコンを表示させるさせないとかの)は、JSONでも十分だよな、とも思い始めました。
確かにMongoとかもいいんですが、やはりRDBのJOINできるのは便利なので(あ、一応MongoはJOINできるみたいですが…)

N6qoy/ 2023年05月

おえ~知らなかったこりゃ便利。ただ2?の言うように関連テーブルのフィールドを検索条件に含めたい時は苦労するだろう。

eOXSTz スレ主 2023年05月

ですね、この最初の書き込みをしてからも自分なりに色々調べましたが、やはり先々のことを考えたら良くないっぽいので…
でも、RDBなのにNoSQLぽく使えるのは、使い所によっては便利ですよね〜♪

一部の投稿は、削除または非表示設定により表示されていません。
W3Q