[前][次][番号順一覧][スレッド一覧]

rails:2934

From: Shin Morichika <ofl@c...>
Date: Sat, 6 Dec 2008 08:43:01 +0900
Subject: [rails:2934] Re: idと同じ数字を同一レコードに保存したい

あゆかわ様
わざわざ回答いただきありがとうございます。

おっしゃるように家族の場合は二つのテーブルでの関連モデルで表すこ 
とも
できると思いますが、実際に作成しているモデルと例としてあげたユー 
ザー登録は
内容も目的も若干異なるため、想定しているものは単純に所有で表すの 
は難しいかな
と思っています。

実際に作ろうとしているのはユーザー登録というよりも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/

[前][次][番号順一覧][スレッド一覧]

      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...            ]