MySQL database "literature", table "users"
==========================================

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

fields available in table "users"	description
---------------------------------	-----------

first_name	the users first name (required!) --> needed for building the user's full name
last_name	the user's surname (required!) --> needed for building the user's full name
title	the user's job title
institution	the name of the employing institution
abbrev_institution	the abbreviated name of the employing institution (required!) --> needed for building a correct call_number for any record
corporate_institution	the name of the corporate institution
address_line_1	any additional address information required for the institution's postal address (such as building, p.o. box, street, etc.)
address_line_2	any additional address information required for the institution's postal address (such as building, p.o. box, street, etc.)
address_line_3	any additional address information required for the institution's postal address (such as building, p.o. box, street, etc.)
zip_code	the zip code of the institution's postal address
city	the city of the institution
state	the state of the institution
country	the country of the institution
phone	the user's phone number at work
email	the user's email address at work (required!) -> needed for logging into the database (must be unique among all users!)
url	the user's (professional) web page
keywords	any keys for this user
notes	any notes for this user
last_login	date & time of the user's last successful login to the database -> future versions may use this info to ask the user for a new password
logins	total number of successful logins for this user -> future versions may offer simple usage statistics
language	the user's preferred language -> future versions might offer language customization
user_id	the user's unique ID number (which is simply the unique serial number of this record)
user_groups	the user groups to which this user belongs (note that this field contains names of *user* groups, which must not be confused with the user's personal groups that list groups of particular *references*)
marked	gives the possibility to set a flag for this record
created_date	the creation date of this record
created_time	the creation time of this record
created_by	who created this record
modified_date	the modification date of this record
modified_time	the modification time of this record
modified_by	who modified this record



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

first_name	VARCHAR(50)
last_name	VARCHAR(50)
title	VARCHAR(25)
institution	VARCHAR(255)
abbrev_institution	VARCHAR(25)
corporate_institution	VARCHAR(255)
address_line_1	VARCHAR(50)
address_line_2	VARCHAR(50)
address_line_3	VARCHAR(50)
zip_code	VARCHAR(25)
city	VARCHAR(40)
state	VARCHAR(50)
country	VARCHAR(40)
phone	VARCHAR(50)
email	VARCHAR(50)
url	VARCHAR(255)
keywords	TEXT
notes	TEXT
last_login	DATETIME
logins	MEDIUMINT UNSIGNED NOT NULL
language	VARCHAR(50)
user_id	MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
user_groups	TEXT
marked	ENUM('no','yes') NOT NULL
created_date	DATE
created_time	TIME
created_by	VARCHAR(100)
modified_date	DATE
modified_time	TIME
modified_by	VARCHAR(100)



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

CREATE TABLE users (first_name VARCHAR(50), last_name VARCHAR(50), title VARCHAR(25), institution VARCHAR(255), abbrev_institution VARCHAR(25), corporate_institution VARCHAR(255), address_line_1 VARCHAR(50), address_line_2 VARCHAR(50), address_line_3 VARCHAR(50), zip_code VARCHAR(25), city VARCHAR(40), state VARCHAR(50), country VARCHAR(40), phone VARCHAR(50), email VARCHAR(50), url VARCHAR(255), keywords TEXT, notes TEXT, last_login DATETIME, logins MEDIUMINT UNSIGNED NOT NULL, language VARCHAR(50), user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, user_groups TEXT, marked ENUM('no','yes') NOT NULL, created_date DATE, created_time TIME, created_by VARCHAR(100), modified_date DATE, modified_time TIME, modified_by VARCHAR(100));


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/users.txt" INTO TABLE users;

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

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

