2006/08/18(金)曲管理のためのWebアプリケーション::DB検討中2
前回のコメントからデータベーススキーマを再検討。
DB構造
Table:Track
個別トラックの情報を記録するためのテーブル
TrackID | Primary Key |
---|---|
TrackName | 曲タイトル |
TrackYomi | 曲タイトルよみ |
TrackNo | アルバムの中のトラックナンバー |
ArtistID | アーティストID |
WriterID | 作詞者ID |
ComposerID | 作曲者ID |
Arranger | 編曲者ID |
AlbumID | アルバムID |
GenreID | ジャンルID |
Time | 曲時間 |
Rating | 曲の評価 |
Comment | コメント |
Table:Album
アルバム全体の情報を記録するためのテーブル
AlbumID | Primary Key |
---|---|
AlbumName | アルバム名 |
AlbumYomi | アルバム名よみ |
DiscNo | アルバム中の何枚目か |
DiskTypeID | ディスクタイプID |
ArtistID | アーティストID |
ReleaseDate | リリース日 |
SPEC | 規格品番 |
TotalTrack | アルバムのトラック総数 |
TotalTime | アルバムの全時間 |
Comment | コメント |
asin | Amazonとの連携*1 |
Table:Artist
アーティスト情報を記録するためのテーブル
ArtistID | Primary Key |
---|---|
ArtistName | アーティスト名 |
ArtistYomi | アーティスト名よみ |
Parent | 親となるアーティストID |
AliasID | アーティスト名のエイリアス |
URI | オフィシャルサイトURI |
Comment | コメント |
Table:DiskType
8cmシングルとかベストアルバムとかのディスク種別を記録するためのテーブル
DiskTypeID | Primary Key |
---|---|
DiskType | ディスクタイプ |
Table:GenreID
J-POPとかのジャンル情報を記録するためのテーブル
GenreID | Primary Key |
---|---|
Genre | ジャンル |
Table:Alias
AliasID | Primary Key |
---|---|
Alias | アーティストIDを指定 |
作詞、作曲、編曲者のデータベースはアーティストテーブルを使用するつもり。
アーティストの主従関係は、親となるアーティストを指定。
例えば、ave;new feat. 佐倉沙織だと「ave;new」と「佐倉沙織」を指定するといった感じ。
アーティストのエイリアスは別途エイリアステーブルを使用する。
エイリアスで指定された場合、異なる名称でも同格であるとする。
あと、今考えているのはマルチユーザーにより情報の追加・補完が可能なようにするというのを考えている。
CDDB機能については、他のCDDBサーバからのインポートの他、CDDBサーバとしても使用できるようにしたいなぁ。