27 lines
900 B
SQL
27 lines
900 B
SQL
--------------------------------------------------------------------------------
|
|
-- Up
|
|
--------------------------------------------------------------------------------
|
|
|
|
CREATE TABLE results (
|
|
studentId TEXT NOT NULL,
|
|
firstName TEXT NOT NULL,
|
|
lastName TEXT NOT NULL,
|
|
marksAvailable INT NOT NULL,
|
|
marksObtained INT NOT NULL,
|
|
scannedOn TEXT NOT NULL,
|
|
studentNumber INT NOT NULL,
|
|
testId INT NOT NULL
|
|
|
|
CONSTRAINT marksAvailableValid CHECK (marksObtained <= marksAvailable)
|
|
);
|
|
|
|
CREATE INDEX result_ix_testId ON Results (testId);
|
|
CREATE UNIQUE INDEX result_ix_studentId_testId on Results (studentId, testId);
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Down
|
|
--------------------------------------------------------------------------------
|
|
|
|
DROP TABLE results;
|
|
DROP INDEX results_ix_testId;
|