rails:2935
From: "Andy Matsubara" <andymatsubara@g...>
Date: Sat, 6 Dec 2008 10:16:52 +0900
Subject: [rails:2935] Re: idと同じ数字を同一レコードに保存したい
森近さん 私も同じようなことをやろうとしていますが,単純にafter_saveでいいかと考えていました。 これを使うときのデメリットというのは何か教えていただけますでしょうか? Andy 2008/12/06 8:43 Shin Morichika <ofl@c...>: > あゆかわ様 > わざわざ回答いただきありがとうございます。 > > おっしゃるように家族の場合は二つのテーブルでの関連モデルで表すことも > できると思いますが、実際に作成しているモデルと例としてあげたユーザー登録は > 内容も目的も若干異なるため、想定しているものは単純に所有で表すのは難しいかな > と思っています。 > > 実際に作ろうとしているのはユーザー登録というよりもwikiのように誰もが自由に編集 > できるシステムで人物辞典を作るというようなものです。 > 利用者からの入力を許可すれば、たとえ悪意はなくとも一人の人物が表記の違いや別名 > があったりすることでデータが重複登録されてしまう可能性は高いと思います。 > この場合も本来なら > > [人物] → 所有 → [別名] > > とすべきと思いますが、そのために厳密なルールで縛ったり、管理者がデータの登録を > 監視するのではなく、むしろユーザー登録ほど厳密さは求められないので、ファイルの > エイリアスのようなデータの作成を許すことで別名も独立して登録しておいた方が好ましい > 場合や、利用者からの情報登録への敷居を下げたり、後で同じデータをまとめることができる > 柔軟性のあるシステムが作れないかなと思っています。 > > もちろん、このような(変な)設計をすることで問題点が生まれ四苦八苦しているのですが、 > データベースの設計の経験が乏しいのでモデルについてもいろいろ突っ込んでいただけると > とてもありがたいです。 > > -- > 森近 真 > uy4s-mrck@a... > > > On 2008/12/05, at 22:58, AYUkawa, Yasuyuki wrote: > >> 森近さま >> >> 最近あまり rails に触っていないので、 >> 具体的なコードで提示させていただくことはできないのですが.... >> >>> ここでid:3のfamily_idを1にすることでid:3 >>> はid:1の家族とみなします。 >> >> これは「一対多」ということで、 >> テーブルをもう一つ用意されれば、よろしいのではありませんか? >> >> つまり.... >> >> [families] → 所有 → [users] >> id id >> name name >> family_owner(boolean かな?) >> family_id >> >> お書きになっていらっしゃる family_id が、 >> 正にその関係を示している、と思います。 >> >> ちなみに、family_owner は >> オマケのフラグとして追記してみました。 >> >>> 1, 山本太郎, 1 >>> 2, 田中直子, 2 >>> 3, 山本陽子,1 >>> 4, 小林実, 4 >> >> この場合であれば、 >> 旦那さま(勝手に決めていますが笑)の太郎さんにはフラグを立てておいて、 >> 奥様の陽子さんにはフラグを立てなければ、 >> 後で検索する時の目安になるかも知れません。 >> >> こういう正規化では、ご希望とは相違ありますか? >> (データベースをスケールさせるための手法であれば、申し訳ありません) >> >> あゆかわやすゆき >> http://yamayo.to/diary/ >> > > > > > -- > ML: rails@r... > 使い方: http://QuickML.com/ > -- ML: rails@r... 使い方: http://QuickML.com/
2930 2008-12-05 01:34 [ofl@c... ] idと同じ数字を同一レコードに保存したい 2932 2008-12-05 14:58 ┗[ayu@y... ] 2934 2008-12-06 00:43 ┗[ofl@c... ] -> 2935 2008-12-06 02:16 ┗[andymatsubara@g... ] 2937 2008-12-06 15:24 ┗[ofl@c... ] 2938 2008-12-06 15:42 ┗[andymatsubara@g... ] 2939 2008-12-06 16:22 ┗[ofl@c... ]