training-management-system/schema.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
);