こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

データの持ち方について

一般的に、DB(MySQL)へは、何を入れるのでしょうか?
PHPで計算可能なものは、なるべく入れない方がいいのでしょうか?

例:年齢を表示させたい場合、DBへ入れておく値
1.誕生日(から計算)
2.年齢
3.何も入れない(別データからPHPで計算可能な場合)


なるべくDBへデータを保持しない方がいいのかな?
と思い、今回、3でやってみました。

具体的には、mysql_fetch_arrayとかで、データを取り出し、
そこから色々計算して年齢を割り出し、表示させてみたのですが、

DBとPHPを使って色々やるんだったら、
初めから素直にDBへデータを入れといて、
そこから、取り出した方が、
いいのかな? とも思いました。


一般的に、DBへ入れなくても、
(計算等によって)取得できる値については、
やはり、DBへ入れない方がいいのでしょうか?




また、ちょっと別件なのですが、
例えば、DBからデータを取り出して、
ソートして表示させたい際、
3つぐらい方法を思いつくのですが、
一般的には、どんな感じで実装するのでしょうか?

1.SQL文でソートをかけて取り出す
2.SQL文で取り出した後、ソート部分はPHPで行う
3.SQL文で取り出した後、ソートはJavaScriptで行なう


特にパフォーマンスを気にしているわけではないのですが、
普通、一般的に、どういう風に実装するのか分からず、質問してみました。

MySQLとPHPを使っている限りは、
余程大規模なサイトでなければ、この辺はあまり気にしなくてもよい感じでしょうか?

投稿日時 - 2011-05-21 20:44:19

QNo.6753608

暇なときに回答ください

質問者が選んだベストアンサー

何のためのデータベースか、そこから考えてはいかがでしょうか。
「一般的」なんてありません。そのデータベースにあった内容のものを保存するのですから。

例えば
顧客データベースとかなら、1でしょう。今月誕生日の人を探したりとかもできますし。日付が変わるたびに年齢データを更新するのも大変です。計算自体もSQLで行うことができますし。
アンケート結果の集計なら2でしょう。欲しいのは、おそらくは回答時の年齢であって、現在や未来の年齢では無いでしょう。
占いの内容のデータベースで、ユーザーは利用登録無しに使い、星座などを求めるためだけに年齢を使う、ということなら3でしょう。


実装方法ですが、それぞれが得意なところをやらせる、ということになると思います。
データベースはデータをあれこれ操作するのが得意ですから、できる限りデータベースで処理して、PHPではHTMLとしての体裁を整えるだけ、というのが、いいと思います。
プログラム作るのも管理するのも、その方が楽ですし。

投稿日時 - 2011-05-21 21:30:36

お礼

回答ありがとうございました。

具体的に例を挙げていただいたので、
分かりやすかったです

投稿日時 - 2011-05-24 20:10:11

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

まず最初の件ですが、
臨機応変に対応した方が良いですね。
今回の場合は1が適切だと思います。
年齢は簡単に求められるので‥。

2つ目についてですが、
1が適切だと思います。
通常はSQL内でソートをかけます。

投稿日時 - 2011-05-21 21:03:13

お礼

回答ありがとうございましたー

投稿日時 - 2011-05-24 20:10:28

あなたにオススメの質問