Database Structure: Difference between revisions
No edit summary |
(Some starting wiki contents for MM3 db) |
||
Line 1: | Line 1: | ||
{{DatabaseTablesList}} | |||
- | == Database type == | ||
[http://www.sqlite.org SQLite] version 3 | |||
* Encoding: UTF-16le | |||
* Text collate IUNICODE (except where indicated with a (*)) | |||
== Database location == | |||
'''Windows XP:''' C:\Documents and Settings\<USERNAME>\Local Settings\Application Data\MediaMonkey\MM.DB | |||
<br>'''Windows Vista:''' ?? | |||
== Used data types == | |||
'''INTEGER''' The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value. | |||
<br>'''REAL''' The value is a floating point value, stored as an 8-byte IEEE floating point number. | |||
<br>'''TEXT''' The value is a text string, stored using the database encoding (UTF-16-LE). | |||
== Structure explanation == | |||
The most important table is the ''Songs'' table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out. | |||
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND mustiple artists to one song. | |||
The database contains custom events, called "triggers", that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table's Tracks counter field. | |||
== Database tables == | |||
*[[Albums table|Albums]]: All info about a certain album. | |||
*[[Artists table|Artists]] | |||
*[[ArtistsAlbums table|ArtistsAlbums]] | |||
*[[ArtistsSongs table|ArtistsSongs]] | |||
*[[Covers table|Covers]] | |||
*[[DBInfo table|DBInfo]] | |||
*[[DeviceFilters table|DeviceFilters]] | |||
*[[DeviceTracks table|DeviceTracks]] | |||
---- | |||
---- | |||
Revision as of 16:57, 5 September 2007
- [Database Structure]
- Albums
- Artists
- ArtistsAlbums
- ArtistsSongs
- Covers
- DBInfo
- DeviceFilters
- DeviceTracks
- Devices
- Downloads
- Filters
- Folders
- FoldersHier
- Genres
- GenresSongs
- LastTreePath
- Lists
- ListsSongs
- Medias
- OrganizeRules
- PathProcessing
- Pinned
- Played
- PlaylistSongs
- Playlists
- PodcastDirs
- PodcastEpisodes
- Podcasts
- Radio
- RemoteClients
- Songs
- SynchAlbum
- SynchArtist
- SynchLocation
- SynchPlaylist
- SynchPodcast
- URLRequestCache
Database type
SQLite version 3
- Encoding: UTF-16le
- Text collate IUNICODE (except where indicated with a (*))
Database location
Windows XP: C:\Documents and Settings\<USERNAME>\Local Settings\Application Data\MediaMonkey\MM.DB
Windows Vista: ??
Used data types
INTEGER The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
REAL The value is a floating point value, stored as an 8-byte IEEE floating point number.
TEXT The value is a text string, stored using the database encoding (UTF-16-LE).
Structure explanation
The most important table is the Songs table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out. The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND mustiple artists to one song.
The database contains custom events, called "triggers", that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table's Tracks counter field.
Database tables
- Albums: All info about a certain album.
- Artists
- ArtistsAlbums
- ArtistsSongs
- Covers
- DBInfo
- DeviceFilters
- DeviceTracks
MediaMonkey v2.5 and lower
Database structure

AddSongInfo
Value field is "TextData"
DataType
Value | AIF Code | Description |
---|---|---|
100 | AIF_COPYRIGHT | Copyright |
101 | AIF_PUBLISHER | Publisher |
102 | AIF_ENCODER | Encoder |
103 | AIF_ENCODEDBY | Encoded By |
200 | AIF_LYRICIST | Lyricist |
201 | AIF_BAND | Band |
202 | AIF_CONDUCTOR | Conductor |
203 | AIF_REMIXER | Remixer |
204 | AIF_INVOLVEDPEOPLE | Involved People |
205 | AIF_MUSICCOMPOSER | Music Composer |
300 | AIF_ORIGTITLE | Original Title |
301 | AIF_ORIGARTIST | Original Artist |
302 | AIF_ORIGLYRICIST | Original Lyricist |
400 | AIF_GROUPDESC | |
401 | AIF_SUBTITLE | |
402 | AIF_ISRC | |
500 | AIF_INITIALKEY | |
501 | AIF_LANGUAGE | |
502 | AIF_MEDIATYPE | |
503 | AIF_RATINGSTRING | |
1000 | AIF_WEB_COMMERCIAL | |
1001 | AIF_WEB_COPYRIGHT | |
1002 | AIF_WEB_FILEPAGE | |
1003 | AIF_WEB_ARTIST | |
1004 | AIF_WEB_SOURCE | |
1005 | AIF_WEB_RADIO | |
1006 | AIF_WEB_PAYMENT | |
1007 | AIF_WEB_PUBLISHER | |
1100 | AIF_WEB_USER |
AddSongInfoInt
Value field is "IntData" (linked to Lists.ID)
DataType (partially linked to Lists.IDListType)
Value | AIF Code | Description |
---|---|---|
10000 | AIF_ORIGYEAR | Original Year |
10101 | AIF_TEMPO | Tempo |
10102 | AIF_MOOD | Mood |
10103 | AIF_OCCASION | Occasion |
10104 | AIF_QUALITY | Quality |
<references/>
Memos
Value field is "MemoText"
MemoType
Value | AIF Code | Description |
---|---|---|
20000 | AIF_LYRICS | Lyrics |
20001 | AIF_COMMENT | Comment |