CREATE TABLE project ( title VARCHAR(64) NOT NULL, body TEXT DEFAULT NULL, difficulty INT NOT NULL DEFAULT 1 REFERENCES difficulty(diff), trigger_date DATE DEFAULT NULL, started DATE NOT NULL DEFAULT CURRENT_DATE, span INT NOT NULL DEFAULT 7 -- time to last for in days ); CREATE TABLE difficulty ( diff VARCHAR(16) ); INSERT INTO difficulty VALUES('Easy'); INSERT INTO difficulty VALUES('Medium'); INSERT INTO difficulty VALUES('Hard'); INSERT INTO difficulty VALUES('Fuck You'); CREATE TABLE tag ( t VARCHAR(16) ); -- Some default (not all) tags INSERT INTO tag VALUES('AI'); INSERT INTO tag VALUES('Algorithm'); INSERT INTO tag VALUES('Calculators'); INSERT INTO tag VALUES('Games'); INSERT INTO tag VALUES('Math'); INSERT INTO tag VALUES('Networking'); INSERT INTO tag VALUES('Rendering'); INSERT INTO tag VALUES('Simulation'); INSERT INTO tag VALUES('Tools'); CREATE TABLE project_tag ( project INT REFERENCES project(rowid), tag INT REFERENCES tag(rowid) );