51 lines
No EOL
1.5 KiB
SQL
51 lines
No EOL
1.5 KiB
SQL
CREATE TABLE IF NOT EXISTS trainings (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
title TEXT NOT NULL,
|
|
training_type TEXT NOT NULL,
|
|
mode TEXT NOT NULL,
|
|
start DATETIME NOT NULL,
|
|
end DATETIME NOT NULL,
|
|
status TEXT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS trainers (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
email TEXT NOT NULL UNIQUE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS training_trainers (
|
|
training_id INTEGER NOT NULL,
|
|
trainer_id INTEGER NOT NULL,
|
|
FOREIGN KEY (training_id) REFERENCES trainings(id),
|
|
FOREIGN KEY (trainer_id) REFERENCES trainers(id),
|
|
PRIMARY KEY (training_id, trainer_id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS training_areas (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT UNIQUE NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS trainer_training_areas (
|
|
trainer_id INTEGER,
|
|
training_area_id INTEGER,
|
|
PRIMARY KEY (trainer_id, training_area_id),
|
|
FOREIGN KEY (trainer_id) REFERENCES trainers(id),
|
|
FOREIGN KEY (training_area_id) REFERENCES training_areas(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS training_training_areas (
|
|
training_id INTEGER,
|
|
training_area_id INTEGER,
|
|
PRIMARY KEY (training_id, training_area_id),
|
|
FOREIGN KEY (training_id) REFERENCES trainings(id),
|
|
FOREIGN KEY (training_area_id) REFERENCES training_areas(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS admins (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
email TEXT UNIQUE NOT NULL,
|
|
password TEXT NOT NULL
|
|
); |