diff --git a/db_schema.md b/db_schema.md new file mode 100644 index 0000000..69df032 --- /dev/null +++ b/db_schema.md @@ -0,0 +1,200 @@ +# Database Schema + +## Table `migration_table` + +``` ++-----------------+------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++-----------------+------------------------------------------------------+------+-----+---------+----------------+ +| IDMig | int(10) unsigned | NO | PRI | NULL | auto_increment | +| IDPerson | varchar(20) | NO | MUL | NULL | | +| IDStartPlace | varchar(20) | YES | MUL | NULL | | +| IDDestPlace | varchar(20) | YES | MUL | NULL | | +| DateStart_Fuzzy | varchar(100) | YES | | NULL | | +| DateStart_Min | date | YES | | NULL | | +| DateStart_Max | date | YES | | NULL | | +| DateEnd_Fuzzy | varchar(100) | YES | | NULL | | +| DateEnd_Min | date | YES | | NULL | | +| DateEnd_Max | date | YES | | NULL | | +| reason | enum('Labour','Forced','Education','Family','Other') | YES | | NULL | | +| reason2 | enum('Labour','Forced','Education','Family','Other') | YES | | NULL | | +| via | text | YES | | NULL | | ++-----------------+------------------------------------------------------+------+-----+---------+----------------+ +``` + +## Table `location` + +``` ++------------+--------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++------------+--------------+------+-----+---------+-------+ +| IDLocation | varchar(20) | NO | PRI | NULL | | +| Continent | varchar(50) | YES | | NULL | | +| Country | varchar(50) | YES | | NULL | | +| State | varchar(50) | YES | | NULL | | +| City | varchar(50) | YES | | NULL | | +| latitude | float | YES | | NULL | | +| longitude | float | YES | | NULL | | +| wikipedia | text | YES | | NULL | | +| wikidata | text | YES | | NULL | | +| GeoNamesID | varchar(100) | YES | | NULL | | ++------------+--------------+------+-----+---------+-------+ +``` + +## Table `organisation` + +``` ++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| IDOrganisation | int(11) | NO | PRI | NULL | auto_increment | +| inst_name | varchar(100) | YES | | NULL | | +| InstType | enum('Amateur','Traveling Company','Theatre','Casino','Company','temporary festival','festival','Circus','Education (Theatre related)','Printed Media','Society/Union','Musical Organization','Other','Media','Company on Tour','Kleinkunst') | YES | | NULL | | +| IDLocation | varchar(20) | YES | MUL | NULL | | +| comment | varchar(300) | YES | | NULL | | ++----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +``` + +## Table `person` + +``` ++----------------+----------------------------------------------------------------------------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++----------------+----------------------------------------------------------------------------------+------+-----+---------+-------+ +| IDPerson | varchar(20) | NO | PRI | NULL | | +| first_name | varchar(50) | YES | | NULL | | +| family_name | varchar(50) | YES | | NULL | | +| religion | text | YES | | NULL | | +| Nametype | enum('Birth name','Marriage','Pseudonym/Stage name','Other','Migration-Related') | YES | | NULL | | +| gender | enum('male','female') | YES | | NULL | | +| imageURL | text | YES | | NULL | | +| image_source | varchar(2500) | YES | | NULL | | +| profession | text | YES | | NULL | | +| fuzzybirthdate | varchar(100) | YES | | NULL | | +| birthdate | date | YES | | NULL | | +| birthdate_max | date | YES | | NULL | | +| Birth Info | varchar(200) | YES | | NULL | | +| IDBirthPlace | varchar(20) | YES | MUL | NULL | | +| fuzzydeathdate | varchar(100) | YES | | NULL | | +| deathdate | date | YES | | NULL | | +| deathdate_max | date | YES | | NULL | | +| Death Info | varchar(500) | YES | | NULL | | +| IDDeathPlace | varchar(20) | YES | MUL | NULL | | +| Wikipedia | varchar(2500) | YES | | NULL | | +| Wikidata | varchar(70) | YES | | NULL | | +| GND | varchar(70) | YES | | NULL | | +| LCCN | varchar(70) | YES | | NULL | | +| VIAF | varchar(70) | YES | | NULL | | +| CERL | varchar(70) | YES | | NULL | | +| ISNI | varchar(100) | YES | | NULL | | +| SNAC | varchar(70) | YES | | NULL | | +| comment | text | YES | | NULL | | +| Source | varchar(3000) | YES | | NULL | | +| Importsource | enum('Own','Tau Cooperation') | YES | | NULL | | ++----------------+----------------------------------------------------------------------------------+------+-----+---------+-------+ +``` + +## Table `person_profession` + +``` ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| IDProfPerson | int(11) | NO | PRI | NULL | auto_increment | +| IDPerson | varchar(20) | YES | MUL | NULL | | +| profession | varchar(300) | YES | | NULL | | +| Eprofession | enum('Actor','Agent','Circus Performer','Choreographer','Composer','Costumier','Journalist','Dancer','Director','Founder','Impresario','Magician','Manager','Music Director','Musician','Author','Prompter','Singer','Stage Designer','Teacher (Theatre related)','Technician','Other','Journalist','Kleinkünstler','Translator','Stage manager') | YES | | NULL | | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +``` + +## Table `personnames` + +``` ++-----------------+----------------------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++-----------------+----------------------------------------------------------------------------------+------+-----+---------+----------------+ +| IDPersonname | int(11) | NO | PRI | NULL | auto_increment | +| IDPerson | varchar(50) | NO | MUL | NULL | | +| personName | varchar(100) | YES | | NULL | | +| personSurName | varchar(50) | YES | | NULL | | +| DateStart_Fuzzy | varchar(100) | YES | | NULL | | +| DateStart_Min | date | YES | | NULL | | +| DateStart_Max | date | YES | | NULL | | +| DateEnd_Fuzzy | varchar(100) | YES | | NULL | | +| DateEnd_Min | date | YES | | NULL | | +| DateEnd_Max | date | YES | | NULL | | +| Nametype | enum('Birth name','Marriage','Pseudonym/Stage name','Migration-related','Other') | YES | | NULL | | +| comment | varchar(300) | YES | | NULL | | ++-----------------+----------------------------------------------------------------------------------+------+-----+---------+----------------+ +``` + +## Table `relationship` + +``` ++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| IDRel | int(20) | NO | PRI | NULL | auto_increment | +| IDPerson_active | varchar(20) | NO | MUL | NULL | | +| IDPerson_passive | varchar(20) | YES | MUL | NULL | | +| Relationshiptype | enum('student','family','trained_together','work','teacher','friendship','other') | YES | | NULL | | +| relationshiptype_precise | enum('Mother','Father','Brother','Sister','Son','Daughter','Husband','Wife','Fiance','Fiancee','Grandfather','Grandmother','Aunt','Uncle','Niece','Nephew','Cousin','Other') | YES | | NULL | | +| DateStart_Fuzzy | varchar(100) | YES | | NULL | | +| DateStart_Min | date | YES | | NULL | | +| DateStart_Max | date | YES | | NULL | | +| DateEnd_Fuzzy | varchar(100) | YES | | NULL | | +| DateEnd_Min | date | YES | | NULL | | +| DateEnd_Max | date | YES | | NULL | | +| IDLocation | varchar(20) | YES | MUL | NULL | | +| IDOrganisation | int(11) | YES | MUL | NULL | | +| Timeperiod | varchar(100) | YES | | NULL | | +| comment | varchar(300) | YES | | NULL | | ++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +``` + + +## Table `religions` + +``` ++-----------------+-------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++-----------------+-------------------------------------------------------------------+------+-----+---------+----------------+ +| IDReligion | int(11) | NO | PRI | NULL | auto_increment | +| IDPerson | varchar(20) | YES | MUL | NULL | | +| religion | enum('Buddhism','Christian','Hinduism','Jewish','Muslim','Other') | YES | | NULL | | +| denomination | varchar(300) | YES | | NULL | | +| DateStart_Fuzzy | varchar(100) | YES | | NULL | | +| date_start | date | YES | | NULL | | +| DateStart_Min | date | YES | | NULL | | +| DateStart_Max | varchar(100) | YES | | NULL | | +| DateEnd_Min | date | YES | | NULL | | +| DateEnd_Max | date | YES | | NULL | | +| comment | varchar(1500) | YES | | NULL | | ++-----------------+-------------------------------------------------------------------+------+-----+---------+----------------+ +``` + +### Table `work` + +``` ++-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +| IDWork | int(11) | NO | PRI | NULL | auto_increment | +| IDPerson | varchar(20) | NO | MUL | NULL | | +| IDLocation | varchar(20) | YES | MUL | NULL | | +| IDOrganisation | int(11) | YES | MUL | NULL | | +| IDOrganisation2 | int(11) | YES | MUL | NULL | | +| DateStart_Fuzzy | varchar(100) | YES | | NULL | | +| DateStart_Min | date | YES | | NULL | | +| DateStart_Max | date | YES | | NULL | | +| DateEnd_Fuzzy | varchar(100) | YES | | NULL | | +| DateEnd_Min | date | YES | | NULL | | +| DateEnd_Max | date | YES | | NULL | | +| Employment | varchar(200) | YES | | NULL | | +| Profession | enum('Actor','Agent','Circus Performer','Choreographer','Composer','Costumier','Journalist','Dancer','Director','Founder','Impresario','Magician','Manager','Music Director','Musician','Author','Prompter','Singer','Stage Designer','Teacher (Theatre related)','Technician','Other','Journalist','Kleinkünstler','Translator','Stage manager') | YES | | NULL | | +| Profession2 | enum('Actor','Agent','Circus Performer','Choreographer','Composer','Conductor','Costumier','Journalist','Dancer','Director','Founder','Impresario','Magician','Manager','Music Director','Musician','Author','Prompter','Singer','Stage Designer','Teacher (Theatre related)','Technician','Other','Journalist','Kleinkünstler','Translator','Stage manager') | YES | | NULL | | +| Profession3 | enum('Actor','Agent','Circus Performer','Choreographer','Composer','Conductor','Costumier','Journalist','Dancer','Director','Founder','Impresario','Magician','Manager','Music Director','Musician','Author','Prompter','Singer','Stage Designer','Teacher (Theatre related)','Technician','Other','Kleinkünstler','Translator','Stage manager') | YES | | NULL | | +| EmploymentType | enum('Permanent','Tour','Other','Guest','Itinerant') | YES | | NULL | | +| comment | text | YES | | NULL | | ++-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+ +```