匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

Rubyを使ってYahooファイナンスをスクレイピングして株価をDBに蓄積しようとしています。

株価の取得はできているのですが、それをMySQLに蓄積する場合、

・銘柄毎にテーブルを作る。銘柄の選択はテーブル名で行う
・全ての銘柄を一つのテーブルに蓄積する。銘柄の選択は、テーブル中の証券コードフィールドで行う
のどちらが適切でしょうか。
データ取得は2~3時間に一度行う予定です。
これまで、簡単なWEBアプリ程度は作った事が有るのですが、大量のデータを扱った経験が無く、SQLもサイトを見ながら必要な部分だけつまみ食いした感じなので、
DB設計の定石的な知識がありません。
アドバイスをお願い致します。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/02/04 00:32:10
  • 終了:2014/02/04 18:24:48

ベストアンサー

匿名回答2号 No.1

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2014/02/04 01:47:06

後者です。

テーブルはクラスのようなもの,テーブル内のレコードはインスタンスのようなものだと思って下さい。(Ruby on Railsでもそういう設計になっています)

銘柄ごとにクラスをいっぱい作るのはNG設計ですよね。
銘柄ごとにインスタンスがいっぱい作れるように,クラスを設計するのです。

同じように,1テーブル内で全銘柄の違いを吸収できるようにしましょう。

匿名質問者

クラスに例えて戴き、良く理解する事ができました。
疑問が溶けて、スッキリしました。
ありがとう御座います。

2014/02/04 18:24:41
  • 匿名回答1号
    匿名回答1号 2014/02/04 00:54:30
    >・銘柄毎にテーブルを作る。銘柄の選択はテーブル名で行う
    だめよ~、だめ、だめ。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません