「1:nなデータを検索しやすくDBに入れたい」へのリプライ

3件のリプライがあります。

1231: tosh : 510f858b

素人です。正規化というならば

割引テーブル
ID 割引
1 早割14
2 早割21
3 ネット割2%
4 往復割引

夜行バス_割引テーブル(連結テーブル)
ID 夜行バスID 割引ID
1 1 1
2 1 3
3 1 4
4 2 2
5 2 3
6 2 4
7 3 4

なのでは?計算量的に不利なのかな?

1232: ひじ : 8593f50c

「早割14」が主キーであると考えれば、本文にある例でも第3正規形になっていると思われます。

しかし、「早割14」はそもそも主キーとしてふさわしくありませんね。実は「早売14」が正しかったので修正したい、というときにあちこちのテーブルを修正してまわるはめになります。
※本文は修正済み

1234: yoz : a3dce66a

>>1231
確かに実際はタグそのものの情報は別テーブルにおいてn:mの中間テーブルを加えるのが常道だと思います。しかし、やはり計算量が多くなるので、今回の場合はそのまま使ったほうが良いと思います。「早売14」についての説明文を入れるカラムも必要なら分割したほうが良いと思いますが。

>>1232
修正に大きなコストがかかる一方参照のコストが減るので、もっぱら参照されるデータなら割り切るのもアリだと思います。

id:teramakoが紹介してくれているhttp://www.pui.ch/ph
コメントを書く
トラックバックを送る
Some rights reserved.