CREATE TABLE project ( title VARCHAR(64) NOT NULL, body TEXT DEFAULT NULL, difficulty INT NOT NULL DEFAULT 1 REFERENCES difficulty(diff), repo_link VARCHAR(128) DEFAULT NULL, 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('math'); INSERT INTO tag VALUES('AI'); INSERT INTO tag VALUES('networking'); INSERT INTO tag VALUES('games'); INSERT INTO tag VALUES('rendering'); INSERT INTO tag VALUES('simulation'); CREATE TABLE project_tag ( project INT REFERENCES project(rowid), tag INT REFERENCES tag(rowid) );