MySQL database "literature", table "user_data"
==============================================

field names
-----------

fields available in table "user_data"	description
-------------------------------------	-----------

data_id	the unique ID number of this user data entry
user_id	the user's unique ID number (which corresponds to the user_id number of the user's record entry within the "users" table)
record_id	the unique ID number of the record this data entry is referring to (which corresponds to the 'serial' number of the record's entry within the "refs" table)
marked	has the user marked this record?
copy	has the user a printed copy of this record?
selected	has the user selected this publication? (by that he can label publications that are important to him/her OR, if he/she's among the authors, indicate that this is one of the "better" publications)
user_keys	the user's personal keywords for this record
user_notes	the user's personal notes for this record
user_file	if the user owns a digital copy of this record, he can specify its file name/path here
user_groups	the user's personal groups to which this record belongs (note that this field contains names of *reference* groups for this user, which must not be confused with the *user* groups from table 'users')
cite_key	the unique citation key for this record which uniquely identifies this record when citing
related	contains pointers to related records. Pointers can be serial numbers or partial queries, e.g.: '1234; 2678; 1988; author=steffens' -> items separated by ";" will be connected by OR. Pure-digit items: assumed to be record serials. Dynamic items: 'field=content' syntax will be resolved to 'field RLIKE "content"'



column types
------------

data_id	MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
user_id	MEDIUMINT UNSIGNED NOT NULL
record_id	MEDIUMINT UNSIGNED NOT NULL
marked	ENUM("no","yes") NOT NULL
copy	ENUM("false","true","ordered","fetch") NOT NULL
selected	ENUM("no","yes") NOT NULL
user_keys	TEXT
user_notes	TEXT
user_file	VARCHAR(255)
user_groups	TEXT
cite_key	VARCHAR(255)
related	TEXT

INDEX	(user_id,record_id)



table creation code
-------------------

CREATE TABLE user_data (data_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, user_id MEDIUMINT UNSIGNED NOT NULL, record_id MEDIUMINT UNSIGNED NOT NULL, marked ENUM("no","yes") NOT NULL, copy ENUM("false","true","ordered","fetch") NOT NULL, selected ENUM("no","yes") NOT NULL, user_keys TEXT, user_notes TEXT, user_file VARCHAR(255), user_groups TEXT, cite_key VARCHAR(255), related TEXT, INDEX (user_id,record_id));


rules for data import
---------------------
- fields are separated by tabs, records are separated by returns (if not specified otherwise within the LOAD DATA statement)
- order of fields must resemble the above field order!
- DATE format must be YYYY-MM-DD
- TIME format must be HH:MM:SS
- carriage returns *within* fields (ASCII character 11) must be replaced with a "UNIX return" (ASCII character 10) -> Search for:  (\x0B)  Replace with: \\n
- empty fields are indicated by \N -> Search for: (?<=\t|^)(?=\t|$)   Replace with: \\N
- character encoding: higher ASCII chars must be encoded as ISO-8859-1
- file encoding must be UNIX


load data code
--------------

LOAD DATA LOCAL INFILE "/PATH/TO/FILE/user_data.txt" INTO TABLE user_data;

or, alternatively, use something like the following from your shell:

mysqlimport --local -u root -p YOUR_DB_NAME "/PATH/TO/FILE/user_data.txt"

