MySQL 総合 Part18

このエントリーをはてなブックマークに追加
888NAME IS NULL
記事が著者、カテゴリ、タグとそれぞれ多対多の関係になる場合次のどっちが使いやすい、パフォーマンスがいい、ですか(検索など)?
記事の分類が増えることはなく、著者はただの分類でログイン等は持ちません。

記事: id, body
著者: id, name
カテゴリ: id, name
タグ:id, name
著者関係: 著者id, 記事id
カテゴリ関係: カテゴリid, 記事id
タグ関係: タグid, 記事id

記事: id, body
taxo: id, name, type
taxo関係: taxoid, 記事id
※taxo.typeは著者、カテゴリ、タグのいずれか
889NAME IS NULL:2010/12/24(金) 14:24:59 ID:???
その著者名とか分類とかタグに別のフィールド
(たとえば分類コード)があって、そのフィールドも検索対象になるなら
そういうテーブル構造がいいんだろうけど、
名称だけしか必要ない(twitterのハッシュタグみたいな)んだったら
記事: id, body
著者: id, 記事_id, name
カテゴリ: id, 記事_id, name
タグ: id, 記事_id, name
でいいんじゃねえかなぁと思う昨今