回答編集履歴

1 文法修正

f_horizon

f_horizon score 155

2017/02/16 17:37  投稿

お世話になります。あまり経験はありませんが、私も後学のため回答させていただきます。
まず、案に関する私の経験の度合いです。
案1 : 設計、実装、保守経験有
案2 : 未経験
案3 : 保守経験有
案4 : 未経験
案5 : NoSql等の運用経験はないのですが、よほどでない限りRDBでできることはRDBでする派です。
※ 案2に関しては、動的に一意となるテーブルを生成するということでしょうか。そういった経験はありませんが、とても興味深いです。
質問1.情報が少なくて恐縮ですが、「案1」を採用したのは正解だと思いますか?
> 私も同じ手法ですると思います。値があり、それに伴う様々な属性を各カラムで管理する方法は、トランザクションデータを管理する上ではよく見ます。縦持ちですが、SQLで横持ちにすることもできますし。
> 私も同じ手法ですると思います。トランザクションデータを管理する上ではよく見ます。
質問2.現実的な案として下段以外のものはありますか?
> 1カラムにデータをカンマ等の区切り記号連結させ、文字列として格納しているテーブルも考えられると思います。(解析経験ありです。)
質問3.下段の案の中で、上記条件に対して「ありえない」と考えるものはありますか?
> 経験したことを踏まえると、案3でしょうか。予備カラムが無駄に思えて。。。
質問4.一般的にこういったもののデザインパターンはありますか?
> 質問1の回答と重複しますが、よく見かけます。
質問5.他、経験談や参考情報などありましたらご教示ください。
> 質問2の回答の補足ですが、テーブルを解析した際、ドキュメントありき・レコードによってカンマ数が違う等、とても難解でした。。。
なので挙げてはいますが、よほどでない限り採用はしません。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る