Databases: Difference between revisions
>Alexpoet (added studiolinkmovie table information) |
>Alexpoet (added studiolinkmovie table information) |
||
Line 405: | Line 405: | ||
=====studiolinkmovie===== | =====studiolinkmovie===== | ||
This table links studios to movies. | |||
{|class="usertable" border="1" | |||
! Column Name || Data Type || Description | |||
|- | |||
|idStudio || integer || Foreign key to studio table | |||
|- | |||
|idMovie || integer || Foreign key to movie table | |||
|} | |||
=====studiolinkmusicvideo===== | =====studiolinkmusicvideo===== | ||
This table links studios to movies. | This table links studios to movies. |
Revision as of 21:24, 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
This table stores filenames and links the path.
Column Name | Data Type | Description |
---|---|---|
idFile | integer | Primary Key |
idPath | integer | Foreign key to path table |
strFilename | text | Full name of file including extension |
genre
This table stores Genre information.
Column Name | Data Type | Description |
---|---|---|
idGenre | integer | Primary Key |
strGenre | text | Genre label |
genrelinkmovie
This table links genres to movies.
Column Name | Data Type | Description |
---|---|---|
idGenre | integer | Foreign key to genre table |
idMovie | integer | Foreign key to movie table |
genrelinkmusicvideo
This table links genres to music videos.
Column Name | Data Type | Description |
---|---|---|
idGenre | integer | Foreign key to genre table |
idMVideo | integer | Foreign key to musicvideo table |
genrelinktvshow
This table links genres to tv show.
Column Name | Data Type | Description |
---|---|---|
idGenre | integer | Foreign key to genre table |
idShow | integer | Foreign key to tvshow table |
movie
This table stores movie information.
Column Name | Data Type | Description |
---|---|---|
idMovie | integer | Primary Key |
c00 | text | Movie Title |
c01 | text | Movie Plot |
c02 | text | Movie Plot Outline |
c03 | text | Movie Tagline |
c04 | text | Rating Votes |
c05 | text | Rating |
c06 | text | Writers |
c07 | text | Year Released |
c08 | text | Thumbnails |
c09 | text | IMDB ID |
c10 | text | [unknown] |
c11 | text | Runtime |
c12 | text | MPAA Rating |
c13 | text | [unknown] |
c14 | text | Genre |
c15 | text | Director |
c16 | text | [unknown] |
c17 | text | [unknown] |
c18 | text | Studio |
c19 | text | [unknown] |
c20 | text | Fanart URLs |
idFile | integer | Foreign Key to files table |
movielinktvshow
This table links movies to tv shows.
Column Name | Data Type | Description |
---|---|---|
idMovie | integer | Foreign key to movie table |
idShow | integer | Foreign key to tvshow table |
musicvideo
[TODO]
path
This table stores path information.
Column Name | Data Type | Description |
---|---|---|
idPath | integer | Primary Key |
strPath | text | Path URL |
strContent | text | Type of content (tvshows, movies, etc...) |
strScraper | text | XML file of scraper used for this path |
strHash | text | Hash |
scanRecursive | integer | Recursive scan setting |
useFolderNames | bool | User folder names setting |
strSettings | text | Custom settings used by scraper |
settings
This table stores settings for individual files.
Column Name | Data Type | Description |
---|---|---|
idFile | integer | Foreign Key to files table |
Interleaved | bool | Interleaved |
Nocache | bool | NoCache |
Deinterlace | bool | Deinterlace |
FilmGrain | integer | FilmGrain |
ViewMode | integer | ViewMode |
ZoomAmount | float | ZoomAmount |
PixelRatio | float | PixelRatio |
AudioStream | integer | Selected audio stream |
SubtitleStream | integer | Selected subtitle stream |
SubtitleDelay | float | Amount of delay for subtitles |
SubtitleOn | bool | Enable subtitles |
Brightness | integer | Brightness |
Contrast | integer | Contrast |
Gamma | integer | Gamma |
VolumeAmplification | float | VolumeAmplification |
AudioDelay | float | AudioDelay |
OutputToAllSpeakers | bool | OutputToAllSpeakers |
ResumeTime | integer | Gamma |
Crop | bool | Crop |
CropLeft | integer | CropLeft |
CropRight | integer | CropRight |
CropTop | integer | CropTop |
CropBottom | integer | CropBottom |
stacktimes
This table stores stack times for files.
Column Name | Data Type | Description |
---|---|---|
idFile | integer | Foreign key to files table |
times | text | Times |
studio
This table stores studio information.
Column Name | Data Type | Description |
---|---|---|
idStudio | integer | Primary Key |
strStudio | text | Studio Label |
studiolinkmovie
This table links studios to movies.
Column Name | Data Type | Description |
---|---|---|
idStudio | integer | Foreign key to studio table |
idMovie | integer | Foreign key to movie table |
studiolinkmusicvideo
This table links studios to movies.
Column Name | Data Type | Description |
---|---|---|
idStudio | integer | Foreign key to studio table |
idMovie | integer | Foreign key to movie table |
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.