Updated to include schema tested w/ major DBMS's

Separated the schema into two sections - after reading up on some
documentation I discovered that MySQL + SQLite accept both their own
CONSTRAINT syntax as well as that of Postgre and MS SQL. However Oracle
continues to be stubborn and only accept VARCHAR2 types. It also doesn't
recognize the "text" type - because of this, I've converted all text
fields to VARCHAR/VARCHAR2 fields with a default length of 255 chars
(apart from password, which is set to 2000 to accommodate hashing
algorithms).