46 lines
1.0 KiB
SQL
46 lines
1.0 KiB
SQL
CREATE TABLE users (
|
|
id INTEGER NOT NULL PRIMARY KEY,
|
|
name VARCHAR NOT NULL
|
|
);
|
|
|
|
CREATE TABLE programs (
|
|
id INTEGER NOT NULL PRIMARY KEY,
|
|
name VARCHAR NOT NULL
|
|
);
|
|
|
|
CREATE TABLE enrolments (
|
|
id INTEGER NOT NULL PRIMARY KEY,
|
|
user_id INTEGER NOT NULL,
|
|
program_id INTEGER NOT NULL,
|
|
|
|
FOREIGN KEY (user_id)
|
|
REFERENCES users (id),
|
|
FOREIGN KEY (program_id)
|
|
REFERENCES program (id)
|
|
);
|
|
|
|
CREATE TABLE projects (
|
|
id INTEGER NOT NULL PRIMARY KEY,
|
|
program_id INTEGER NOT NULL,
|
|
name VARCHAR NOT NULL,
|
|
test BLOB NOT NULL,
|
|
grade INTEGER NOT NULL,
|
|
|
|
FOREIGN KEY (program_id)
|
|
REFERENCES programs (id)
|
|
);
|
|
|
|
CREATE TABLE submissions (
|
|
id INTEGER NOT NULL PRIMARY KEY,
|
|
user_id INTEGER NOT NULL,
|
|
project_id INTEGER NOT NULL,
|
|
time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
results VARCHAR,
|
|
grade INTEGER,
|
|
|
|
FOREIGN KEY (user_id)
|
|
REFERENCES users (id),
|
|
FOREIGN KEY (project_id)
|
|
REFERENCES projects (id)
|
|
);
|