J-POPの曲をSQLiteのデータベースに入れました。
こんな感じです。
SQL
1CREATE TABLE songs( 2 artist text, 3 title text, 4 lyricist text, 5 composer text, 6 releasedate text, 7 memo text, 8 lyric text);
曲のなかには、売り上げがオリコンのランキングトップ100に入っているものもあります。
なので、ランクインしている年も記録したいと思い、memoのカラムに「oricon2016」とかって書きました。
ところが、曲によっては2015年と2016年の両方でランクインしていることもあり、memoのカラムに書くのはおかしい感じだと思いました。
調べてみると、正規化というものが必要だとわかったので、別のテーブルを用意しようと思います。
そこで質問があります。
oriconrankingというテーブルを作るとして、どういうカラムを用意すればいいでしょうか?
SQL
1CREATE TABLE oriconranking( 2 id INTEGER 3 oricon2017 INTEGER, 4 oricon2016 INTEGER, 5 oricon2015 INTEGER);
疑問点がふたつあります。
1.
idはどうやって決めたらいいでしょうか? songsテーブルのROWIDを使ってもいいですか? それとも自分で決めたほうがいいですか?
続くカラムに、1か0を入れればいい(2015年と2016年の両方でランクインしている曲ならoricon2016
とoricon2015
だけ1にして、残りを0にする)かと思ったんですが、ほかにいい方法ありますか? ほとんど0ばっかりの表になっちゃうし、毎年カラムを足していくのかっこわるいでしょうか…。
よろしくお願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/22 02:55
2017/10/22 03:24
2017/10/22 03:58
2017/10/22 04:28
2017/10/22 04:29