CREATE TABLE PUBLIC.CATEGORY( CATEGORY VARCHAR PRIMARY KEY, SORT_ORDER SMALLINT ); CREATE TABLE PUBLIC.CRITERION( CRITERION VARCHAR PRIMARY KEY, CATEGORY VARCHAR NOT NULL, DESCRIPTION VARCHAR NOT NULL, SORT_ORDER SMALLINT, CONSTRAINT FK_CRITERION_CATEGORY FOREIGN KEY(CATEGORY) REFERENCES CATEGORY(CATEGORY) ); CREATE TABLE PUBLIC.SUBMISSION( STUDENT VARCHAR PRIMARY KEY ); CREATE CACHED TABLE PUBLIC.RESULT( STUDENT VARCHAR NOT NULL, CRITERION VARCHAR NOT NULL, RESULT REAL NOT NULL, COMMENT VARCHAR, CONSTRAINT PK_RESULT PRIMARY KEY(STUDENT, CRITERION), CONSTRAINT FK_RESULT_STUDENT FOREIGN KEY(STUDENT) REFERENCES PUBLIC.SUBMISSION(STUDENT), CONSTRAINT FK_RESULT_CRITERION FOREIGN KEY(CRITERION) REFERENCES PUBLIC.CRITERION(CRITERION) );