|
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"
|
|
|