• ベストアンサー

テーブルのキー項目の選定

データベースを用いて、音楽情報を管理しようと考えています。 今のところ、列は曲名、歌手、アルバム、作詞、作曲、ジャンルを定義しています。 困った事に、数万と存在する楽曲の中から一意に識別するためキー項目がなかなか思いつきません。 予想で、曲名と歌手をキー項目に設定すれば一意に識別できるのでは?と考えています… 音楽情報をDB化する時に、キー項目に設定すべき項目を教えてください。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5097/13327)
回答No.1

そのような情報を管理する場合は、登録順に連番を振ってユニークキーとします。 曲名と歌手をキーにしても、同じ曲、同じ歌手でオリジナルアルバムとベスト版が出てきたらダブっちゃいますよ。

NoMusicNoLife49
質問者

お礼

ご回答頂きありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • テーブルの項目IDあなたならどう付ける?

    テーブルの項目IDあなたならどう付ける? データベース(任意のDBMS)に以下の3項目があるとします。 名称(漢字) 名称(全角カタカナ) 名称(全角ひらがな) あなたなら、どういう項目IDにしますか? たとえばベタに書けば name_kanji name_zenkakukatakana name_zenkakuhiragana とか、 そもそも一意あれば何でもいいのですけど そういう話ではなく 1~3文字ぐらいで多くの人がピンとくる識別になる名称は何ですか?

  • なぜ音楽データって作詞者の欄がない?

    MP3などの音楽データやiTunesみたいな音楽再生ソフトでの曲情報って、アーティスト(歌手)と作曲者の欄はあるけど作詞者の欄がないですよね? 演奏者までほしいとは言いませんが、歌手、作曲者、作詞者というのはセットみたいなものじゃないのでしょうか? テレビとかで曲が流れる時とか、CDに書かれてる曲情報とかも、唄うのは誰で、作曲は誰で、作詞は誰と、この3つは必ず書かれてるじゃないですか? なぜ音楽データの世界では作詞者は省かれてるのでしょうか?

  • DB構成<キーの考え方>

    こんにちは。 現在Oracle9iにてとあるシステムのDB構成を考えております。その際のキー項目の考え方で悩んでおります。 私自身AS/400などをずっとやっていましたので、キー項目の考え方が「データが一意になるまで。」という考え方をしていました。 しかし、今回DBを作成したところ「キー項目が多すぎる」と言われ、DBでの処理に負担がかかりすぎるし、SQLで取ってくるからあってもなくてもいいと注意されました。 そこで、「キー項目」についての考え方<効果的なつけ方など>を聞いたのですが、あまり明確な答えが返ってきませんでした。 みなさんはキーを作成する時に、どのようなことに注意されていますか?また、どのようなキーのつけ方をしたら効果的になるのでしょうか? あまりにいきなり頼まれたので(叩きでいいって言ったのに…)、知識も不十分で申し訳ないですが、困っております。

  • Excelで歌詞のデータベースを…

    手持ちの楽曲の情報(歌手・曲名・歌詞・作曲者etc...)を整理してデータベースを構築したいと思っています。 一番の目的は、歌詞中の言葉を検索することができる状態にすることなのですがExcelに直接入力すると一曲分の歌詞を一つのセルに納めるのが苦しいようです。 データベース構築にどうしてもExcelでなければいけないというわけではないのですが、何かうまいやり方はあるでしょうか?

  • itunesアーティスト別アルバム項目が無くなった

    こんにちは。宜しくお願いいたします。 itunes 10.3 windows 64bit 朝起きましてitunesを起動したところ、アーティスト別アルバム項目、アーティスト項目が無くなっておりました。 一番大事な項目で、アルバムどごに楽曲、アーティストを区切っていたのですが、 アーティスト別アルバム項目 アーティスト名 レート 再生回数 が消えており、2000曲ほどが縦一列に並んでいる状態です。ジャケット写真も消えてしまいました。 この状態で、データベースより、アルバム情報をダウンロードして、アルバムごと、アーティストごとに区切ることが出来ますでしょうか? どなたか、解決法、復活できる仕方を教えて頂けませんでしょうか? 宜しくお願いいたします。 失礼致します。

  • Crystal keyの曲で

    Crystal keyのアルバム、Crystal Styleの中に『flower』という曲がありますよね。 あの曲の作詞作曲者の中に、ヴィクトリア・ベッカムの名前があるのですが、スパイスガールズの曲なんですか? 自分でも探してみたのですがよく分かりませんでした。詳しい方、教えてください。

  • accessでのリンクテーブルの更新

    いつもお世話になっております。 AccessからSQLServerのテーブルにリンクをはっています。 このリンクテーブルをupdate文で更新したいのですが、 「更新可能なクエリであることが必要」とでています。 以前にも類似の質問をしました。 http://okwave.jp/qa/q6581636.html しかし、いったん解決したのですが、別のところで同様の現象が でてしまいました。 調べると、リンク先のSQLServerのテーブルにはキーが存在していて、 Access側からリンクするときには自動的に一意設定されてしまいます。 発行したいupdate文はこのキーとは別の項目が一意になっていないと だめな条件付けがされているのです。 リンクをはるときに、SQLServer側ですでに設定されているキーとは 違った項目を一意項目として選択する方法はあるのでしょうか? 調べてみると、まったくキーのないテーブルをリンクするときは当然、 一意な項目を選べるのですが、キーがすでにある場合はだめな ようでした。 毎度のことでお手数なのですが、どうかよろしくお願い申し上げます。

  • primary(unique?) keyでwhereしてupdateできない

    mysql5.0を使っています。 IDという項目のPrimary Key、他は特別な設定をしていない項目が複数あります。これらの項目をupdateで更新する際(IDは更新しません、永久に固定です)、そのままでは当然全部の行がupdateされてしまうので条件指定が必要です。そこで更新対象が一意になるよう、whereを使ってIDを指定しようと思ったのですが、なぜかこれが実行されません。SQL文は以下のような感じです。 update my_db set a="a", b="b", c="c" where id="oshiete";(何も変わらない) 色々やって実験してみたところ、キーが一意になるような設定(Uniqueあるいは自動的にそうなるPrimary)をしているとうまくいきません。設定を外すとうまくいきますが、仕様上どうしてもIDは一意である必要があるのでその設定を外す訳にはいきません。しかしなぜかselect文では問題なく動作します。 select * from my_db where id="oshiete"; なぜこのケースでupdateを実行できないのでしょうか? どなたか解決法をご存知の方、どうかお助けください。 よろしくお願い致します。

  • 音楽アルバムのデータベース作成法

    1曲1データとするデータベースは、Excelでも作成できますよね。 1行1データで、「(1)曲名(2)アーティスト名(3)作詞者(4)作曲者」といった具合に。 しかしアルバム特にオムニバスの場合1つのアルバムに複数のアーティストがいます。 例えば10曲が1つのアルバムに入っている場合、アルバム単位のデータベースを作る方法が知りたいです。  Excelで作るとすると1Sheetを1アルバムとすればできそうですが、Sheet数がすごく増えてしまうのと、曲目、アーティストごとにSheetを越えて検索できるかどうか不明です。  Filemaker(もしくはAccess)を使えばできると思うのですが、作成方法は何を見ればよいでしょうか? 1つのアルバムを1データ単位として、「曲目1、アーティスト名1…」「曲目2、アーティスト名2…」…をずっと作っていけばよいですかね。検索が項目ごとだとすると、曲目1と曲目2を同時に検索できないのでしょうか?できないとするとデータベースとしては意味がないですが。  ※なお音楽アルバムを例にしましたが、小説のアンソロジー、落語会データベースも同じ構造です。実際に作りたいのは落語会データベースで、1データ(寄席1回分)に「演題20、演者20」(芸人が20組出るので)くらいまでになる可能性があります。

  • 歌手 (シンガーソングライター)

    歌手 (シンガーソングライター) 作詞、作曲も自分でやって、 アルバムCD3000円を100万枚が売れたとすると、歌手の 手元にはいくらはいるのでしょうか?