text: -- SEQUENCES
  CREATE SEQUENCE TEST_SUITE_SEQUENCE START 1000;
  CREATE SEQUENCE TEST_CASE_SEQUENCE START 1000;
  CREATE SEQUENCE SUBMISSION_SEQUENCE START 1000;
  CREATE SEQUENCE SUBMISSION_FILE_SEQUENCE START 1000;
  CREATE SEQUENCE SUITE_FILE_SEQUENCE START 1000;
  
  -- MODELS A SUITE OF TEST CASES
  CREATE TABLE TEST_SUITE (
      ID INT DEFAULT TEST_SUITE_SEQUENCE.NEXTVAL PRIMARY KEY,
      ASSIGNMENT_ID INT NOT NULL,
      NAME VARCHAR(255),
      LANG VARCHAR(255) NOT NULL,
      UPVOTE_SCORE INT DEFAULT 0,
      AUTHOR_ID VARCHAR(40) NOT NULL
      -- FOR UNIFIED DB
      --CONSTRAINT FK_TEST_SUITE_ASSIGNMENT_ID_ASSIGNMENT_ID FOREIGN KEY (ASSIGNMENT_ID) REFERENCES ASSIGNMENT(ID) ON DELETE CASCADE
  );
  
  -- MODELS A TEST CASE
  CREATE TABLE TEST_CASE (
      ID INT DEFAULT TEST_CASE_SEQUENCE.NEXTVAL PRIMARY KEY,
      SUITE_ID INT NOT NULL,
      AUTHOR_ID VARCHAR(40) NOT NULL,
      FUNCTION_NAME VARCHAR (255) NOT NULL,
      DESCRIPTION VARCHAR(255) DEFAULT NULL,
      UPVOTE_SCORE INT DEFAULT 0,
      COMMENT_COUNT INT DEFAULT 0,
      RUN_COUNT INT DEFAULT 0,
      PASS_COUNT INT DEFAULT 0,
      LANG VARCHAR(255) NOT NULL,
      CODE NVARCHAR(MAX) DEFAULT NULL,
      CONSTRAINT FK_TEST_CASE_SUITE_ID_TEST_SUITE_ID FOREIGN KEY (SUITE_ID) REFERENCES TEST_SUITE(ID)
  );
  
  -- MODELS A SUBMISSION (A USER FILE CODE UPLOAD)
  CREATE TABLE SUBMISSION (
      ID INT DEFAULT SUBMISSION_SEQUENCE.NEXTVAL PRIMARY KEY,
      ASSIGNMENT_ID INT NOT NULL,
      SUBMISSION_DATE DATETIME DEFAULT CURRENT_TIMESTAMP,
      AUTHOR_ID VARCHAR(40) NOT NULL
      -- FOR UNIFIED DB
      --CONSTRAINT FK_SOURCE_FILE_ASSIGNMENT_ID_ASSIGNMENT_ID FOREIGN KEY (ASSIGNMENT_ID) REFERENCES ASSIGNMENT(ID) ON DELETE CASCADE
  );
  
  -- MODELS AN UPLOADED SUBMISSION SOURCE FILE
  CREATE TABLE SUBMISSION_FILE (
      ID INT DEFAULT SUBMISSION_FILE_SEQUENCE.NEXTVAL PRIMARY KEY,
      SUBMISSION_ID INT NOT NULL,
      FILE_NAME VARCHAR(255) NOT NULL,
      FILE_SIZE BIGINT NOT NULL,
      AUTHOR_ID VARCHAR(40) NOT NULL,
      CONTENT BLOB NOT NULL,
      CONSTRAINT FK_SUBMISSION_FILE_SUBMISSION_ID_SUBMISSION_ID FOREIGN KEY (SUBMISSION_ID) REFERENCES SUBMISSION(ID) ON DELETE CASCADE
  );
  
  -- MODELS AN UPLOADED SUITE SOURCE FILE, FORMS THE BASE OF A TEST SUITE'S CODE
  CREATE TABLE SUITE_FILE (
      ID INT DEFAULT SUITE_FILE_SEQUENCE.NEXTVAL PRIMARY KEY,
      SUITE_ID INT NOT NULL,
      FILE_NAME VARCHAR(255) NOT NULL,
      FILE_SIZE BIGINT NOT NULL,
      AUTHOR_ID VARCHAR(40) NOT NULL,
      CONTENT BLOB NOT NULL,
      CONSTRAINT FK_SUITE_FILE_SUITE_ID_TEST_SUITE_ID FOREIGN KEY (SUITE_ID) REFERENCES TEST_SUITE(ID) ON DELETE CASCADE
  );