Wikicat Technical Design/Common Entities

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

Shared/common entities of the Wikicat datamodel.

Title[edit]

Wikicat Title ERD.png

Each of the various Text entities in the model (e.g. Work, Manifestation, etc.) have title information associated with them. This relationship is 1-to-many, since a Text may have multiple titles, each of which is further broken down into various title sub-components.

    > DESC title;
    
    COLUMN        TYPE          DESC
    ----------------------------------------------------
    title_id      INT(15)       Primary key of the entity
                  NOT NULL
    title_type    VARCHAR(3)    Title type; foreign key to                                      
                  NOT NULL      TITLE_TYPE
    title_text    VARCHAR(200)  Text of the title
                  NOT NULL
    title_note    VARCHAR(200)  Optional note about the title
    title_lang    INT(8)        Language of the title;
                  NOT NULL      foreign key to the Ultimate Wiktionary
                                table Language
    title_script  INT(8)        Script of title; foreign key
                  NOT NULL      to Ultimate Wiktionary table
                                Script
    entity_type   VARCHAR(3)    Type of catalog entity the title belongs                                  
                  NOT NULL      to- Manifestation, Work, Serial,
                                etc.  Foreign key to table MODEL_ENTITY_TYPE
    entity_id     INT(15)       Primary key of the entity;
                  NOT NULL      the actual table to which this
                                key points is indicated by entity_type.
    super_title_id INT(15)      The parent title proper for a
                                sub-ordinate title type.
                                This is a recursive foreign
                                key.
    ordering      INT(2)        Order of the title element among
                  NOT NULL      title elements
    originator_type VARCHAR(3)  Originator type of this title component-
                  NOT NULL      title may come from the text's author
                                or be assigned by a bibliographic
                                agency
    orginiator_id INT(15)       The originating entity (assigner)
                                of the title.  Usually an author 
                                but may be a bibliographic agency
                                or a secondary author when there
                                are title propers by multiple
                                authors.

Indicates sections/parts of the item below the level of the main title.

    > DESC title_part;
    
    COLUMN        TYPE          DESC
    ----------------------------------------------------
    title_part_id INT(15)       Primary key of the entity
                  NOT NULL
    title_id      INT(15)       Enclosing title; foreign key to TITLE
                  NOT NULL
    part_number   VARCHAR(20)   "Numeric" part indicator
    part_name     VARCHAR(50)   Textual part indicator

Title Statement Responsibility[edit]

Statement of responsibility for a particular Title within an Item. Note that this is a bibliographic attribute, in the sense that it is no more or less than what is asserted on the Item itself. A statement of responsibility may be spurious or incorrectly entered on the one hand, and on the other a party bearing primary responsibility for an Item may be no where acknowledged on it.

    > DESC title_stmt_responsibility;
    
    COLUMN        TYPE          DESC
    ----------------------------------------------------
    title_stmt_id INT(15)       Primary key of the entity
                  NOT NULL
    stmt_text     VARCHAR(200)  Text of the title statement
    title_id      INT(15)       Title proper to which
                                the statement is associated.
                                Foreign key to TITLE
    resp_code     VARCHAR(3)    The type of responsibility
                                asserted in the statement.
                                "Foreign key" to RESPONSIBILITY_TYPE

Music Medium Performance[edit]

Musical medium of performance. One row for each distinct medium/instrument of the composition or performance. When associated with a Work this indicates the intended mediums; when associated with an Expression this indicates the actual mediums used.

    > DESC music_medium_performance;
    
    COLUMN        TYPE          DESC
    ----------------------------------------------------
    entity_type   VARCHAR(3)    Type of catalogy entity the row belongs                                  
                  NOT NULL      to- Work or Expression only.
                                Foreign key to table MODEL_ENTITY_TYPE
    entity_id     INT(15)       Primary key of the entity;
                  NOT NULL      the actual table to which this
                                key points is indicated by entity_type.
    medium_perf   VARCHAR(3)    Medium of performance; foreign
                  NOT NULL      key to MUSIC_MED_PERF_TYPE
    solo_flag     BOOLEAN       If true, the performance is for a soloist;
                  NOT NULL      otherwise for an ensemble
    performer_num INT(4)        Number of performers in this medium
    note          VARCHAR(100)  Medium performance note