Databases: Difference between revisions
>Alexpoet (Added directorlinktvshow table information.) |
>Alexpoet (Made text description more consistent.) |
||
Line 188: | Line 188: | ||
|c20 || text || [unknown] | |c20 || text || [unknown] | ||
|- | |- | ||
|idFle || integer || Foreign key to the | |idFle || integer || Foreign key to the files table | ||
|} | |} | ||
=====files===== | =====files===== | ||
[TODO] | [TODO] |
Revision as of 20:40, 5 March 2009
INCOMPLETE: This page or section is incomplete. Please add information or correct uncertain data which is marked with a ? |
XBMC Database Details
XBMC uses SQLite, an open source light-weight SQL database-engine, to store all its library related data (Music, Video, and Program databases). By default, the database files (*.db) are stored in The UserData Folder, specifically $HOME\UserData\Database\.
In addition to indexing media files when by user-selected Content settings, XBMC also puts a video in its database if you change any OSD setting while watching it. Resume points are stored in this database as well. These entries are added to the database whether the affected video is part of the Video Library or not.
Accessing the Database via SQLite application
Database files can be transferred via FTP to a Windows-based computer and edited or analyzed with a SQLite graphical client. XBMC's version of the database engine should be compatible with the standard clients such as SQLiteBrowser or SQLiteCC, (more available management-tools can be found in sqlite.org WIKI).
We recommend you use SQLiteSpy version 1.5.2 or higher.
Accessing the Database via XBMC Python
Many Python plugins (and some scripts) can use the information in the XBMC database to offer users additional convenience and functionality. The easiest way to access the XBMC database via XBMC Python is using the HTTPAPI call QueryMusicDatabase or QueryVideoDatabase.
Database Structure
Music Database
Stored in userdata/Database/MyMusic7.db
Video Database
Stored in userdata/Database/MyVideos34.db
Tables
actorlinkepisode
This table links actors to episodes and stores role information.
Column Name | Data Type | Description |
---|---|---|
idActor | integer | Foreign key to actors table |
idEpisode | integer | Foreign key to episode table |
strRole | text | Role the actor played in this episode |
actorlinkmovie
This table links actors to movies and stores role information.
Column Name | Data Type | Description |
---|---|---|
idActor | integer | Foreign key to actors table |
idMovie | integer | Foreign key to movie table |
strRole | text | Role the actor played in this movie |
actorlinktvshow
This table links actors to tv shows and stores role information.
Column Name | Data Type | Description |
---|---|---|
idActor | integer | Foreign key to actors table |
idShow | integer | Foreign key to tvshow table |
strRole | text | Role the actor played in this tv show |
actors
This table stores actor, artist, director, and writer information.
Column Name | Data Type | Description |
---|---|---|
idActor | integer | Primary Key |
strActor | integer | Name of the actor, artist, director, or writer |
strThumb | text | Thumbnail URL |
artistlinkmusicvideo
This table links artists to music videos.
Column Name | Data Type | Description |
---|---|---|
idArtist | integer | Foreign key to actors table |
idMVideo | integer | Foreign key to musicvideo table |
bookmark
This table stores bookmarks.
Column Name | Data Type | Description |
---|---|---|
idBookmark | integer | Primary Key |
idFile | integer | Foreign key to files table |
timeInSeconds | double | Time in seconds of bookmark |
thumbNailImage | text | Thumbnail for bookmark |
player | text | Player used to store bookmark |
playerState | text | [unknown] |
type | integer | [unknown] |
directorlinkepisode
This table links directors to tv show episodes.
Column Name | Data Type | Description |
---|---|---|
idDirector | integer | Foreign key to actors table |
idEpisode | integer | Foreign key to episode table |
strRole | text | [Appears to be unused] |
directorlinkmovie
This table links directors to movies.
Column Name | Data Type | Description |
---|---|---|
idDirector | integer | Foreign key to actors table |
idMovie | integer | Foreign key to movie table |
directorlinkmusicvideo
This table links directors to music videos.
Column Name | Data Type | Description |
---|---|---|
idDirector | integer | Foreign key to actors table |
idMVideo | integer | Foreign key to musicvideo table |
directorlinktvshow
This table links directors to tv shows.
Column Name | Data Type | Description |
---|---|---|
idDirector | integer | Foreign key to actors table |
idShow | integer | Foreign key to tvshow table |
episode
This table stores television episode information.
Column Name | Data Type | Description |
---|---|---|
idEpisode | integer | Primary Key |
c00 | text | Episode Title |
c01 | text | Plot Summary |
c02 | text | [unknown] |
c03 | text | Rating |
c04 | text | Writer |
c05 | text | First Aired |
c06 | text | Thumbnail URL |
c07 | text | [unknown] |
c08 | text | Has the episode been watched? |
c09 | text | [unknown] |
c10 | text | Director |
c11 | text | [unknown] |
c12 | text | Season |
c13 | text | Episode Number |
c14 | text | [unknown] |
c15 | text | [unknown] |
c16 | text | [unknown] |
c17 | text | [unknown] |
c18 | text | [unknown] |
c19 | text | [unknown] |
c20 | text | [unknown] |
idFle | integer | Foreign key to the files table |
files
[TODO]
genre
[TODO]
genrelinkmovie
[TODO]
genrelinkmusicvideo
[TODO]
genrelinktvshow
[TODO]
movie
[TODO]
movielinktvshow
[TODO]
musicvideo
[TODO]
path
[TODO]
settings
[TODO]
stacktimes
[TODO]
studio
[TODO]
studiolinkmovie
[TODO]
studiolinkmusicvideo
[TODO]
tvshow
This table stores television show information.
Column Name | Data Type | Description |
---|---|---|
idShow | integer | Primary Key |
c00 | text | Show Title |
c01 | text | Show Summary |
c02 | text | [unknown] |
c03 | text | [unknown] |
c04 | text | Rating |
c05 | text | First Aired |
c06 | text | Thumbnail URL |
c07 | text | [unknown] |
c08 | text | Genre |
c09 | text | [unknown] |
c10 | text | Episode Guide URL |
c11 | text | Fan Art URL |
c12 | text | [unknown] |
c13 | text | [unknown] |
c14 | text | [unknown] |
c15 | text | [unknown] |
c16 | text | [unknown] |
c17 | text | [unknown] |
c18 | text | [unknown] |
c19 | text | [unknown] |
c20 | text | [unknown] |
tvshowlinkepisode
This table is a simple linker table to join TV Shows and Episodes.
Column Name | Data Type | Description |
---|---|---|
idShow | integer | Foreign Key to tvshow table |
idEpisode | integer | Foreign Key to episode table |
tvshowlinkpath
[TODO]
version
[TODO]
writerlinkepisode
[TODO]
writerlinkmovie
[TODO]
Views
episodeview
View that joins episode to file and tvshow (through tvshowlinkepisode) and path.
movieview
View that joins movie to file and path.
musicvideoview
View that joins movie to file and path.
tvshowview
View that joins tvshow to path. Also produces information about total number of episodes as well as number of watched and unwatched episodes.
View Modes Database
Stored in userdata/Database/ViewModes.db
TO-DO (what needs to be added to this database article)
- The layout, etc. will be explained in more detail here later.