Difference between revisions of "Database Schema"

From ISFDB
Jump to navigation Jump to search
(→‎Awards-Related Tables: Moving awards)
(Moving title_awards)
Line 52: Line 52:
 
* [[Schema:tag_mapping]] - Links a tags entry to a specific title per user.
 
* [[Schema:tag_mapping]] - Links a tags entry to a specific title per user.
 
* [[Schema:votes]] - Tracks votes for a specific title per user.
 
* [[Schema:votes]] - Tracks votes for a specific title per user.
 +
  
 
==Awards-Related Tables==
 
==Awards-Related Tables==
Line 58: Line 59:
  
 
* [[Schema:awards]] - Contains award information.
 
* [[Schema:awards]] - Contains award information.
 
+
* [[Schema:title_awards]] - Maps an award to a specific title.
 
 
===title_awards===
 
 
 
CREATE TABLE title_awards (
 
    taw_id        int(11) NOT NULL auto_increment,
 
    award_id      int(11) default NULL,
 
    title_id      int(11) default NULL,
 
    PRIMARY KEY    (taw_id),
 
    KEY award_id  (award_id),
 
    KEY title_id  (title_id)
 
) ENGINE=MyISAM;
 
 
 
The title_awards table maps an award to a title listed in the titles table.
 
 
 
* '''taw_id''' - This column is the unique record id for the title_awards table.
 
 
 
* '''award_id''' - This column contains an integer value which refers to the ID of a record found in the awardss table.
 
 
 
* '''title_id''' - This column contains an integer value which refers to the ID of a record found in the titles table.
 

Revision as of 22:13, 22 May 2008

Introduction

There are three primary document views utilized by the ISFDB: showing the bibliography of an author, showing the titles present in a publication, and showing the publications in which a title was published. These views require three primary tables: authors, titles, and publications. Various normalization tables are provided to reduce errors and storage needs.

The illustration below shows the relationship between the various tables. All notes are stored in the notes table, which other tables refer to via the primary note_id key. There are two tables which are used for administrative and display purposes. The metadata table contains data pertinent to the database itself, while the magazine table contains information that allows magazine publication to be grouped under a single magazine heading.

A high-level explanation of the database can be found in the Database Overview article. An up to date diagram of the ISFDB tables and their relationships can be found here.

Global Tables

Information stored in the global tables are shared across the title, author, and publication related tables in the ISFDB.


Author-Related Tables

The following tables are used to store information about authors and their works:


Publication-Related Tables

The following tables are used to store information about publications:


Title-Related Tables

The following tables are used to store information about titles:


Awards-Related Tables

The following tables are used to store information about awards: