質問: 銘柄テーブル stocks があるとします。 id, code(銘柄コード), name そこで株価テーブルを作る場合 キーは何にしたらよいでしょうか? stocksテーブルのidかcode(銘柄コード)にしたらよいのか迷っています。 銘柄コードは仕様的に一意に割り振られていて将来変更もされないとします。 銘柄コードのほうが人間にもわかりやすいので迷っています。 宜しくお願いします。
回答: 銘柄コードが不変なことへの依存は、やはり不安です。 次のようにするとよいと思います。 * stocks 銘柄テーブル id code (銘柄コード) name (名前) code, name で インデックス を張る。 * prices 株価テーブル id stock_id (銘柄テーブルの id) time (時間) price (株価) stock_id, time で インデックスを張る。 これは、rails4 で次のような関係を表現する場合に相当するデータ構造です。 (stocks と price が 1 対 多 の関係) stocks has_many :prices prices belongs_to: stocks