drop table teacher_lessons;
drop table teacher_course;
drop table course;
drop table lesson;
drop table teacher;
drop table gender;

create table gender
(
	id serial primary key,
	gender text not null
)

insert into gender (gender) values 
('м'),
('ж')

create table teacher
(
	id serial primary key,
	surname text not null,
	name text not null,
	patronymic text,
	gender_id int not null constraint fk_gender_to_teacher references gender(id) on delete cascade,
	birthday timestamp not null constraint chck_brthd_min_currant_date check (birthday < current_timestamp),
	experience float8 constraint def_zero_exp default 0,
	email text not null,
	phone text
)

insert into teacher (surname, name, patronymic, gender_id, birthday, experience, email, phone) values 
('Баранов','Илья','Дмитриевич',1,'1955-12-28',576,'cquitzon@yahoo.com',NULL),
('Белова','Виктория','Львовна',2,'1961-06-25',168,'stephanie05@casper.com','+7 953 746 68 53'),
('Беляев','Дамир','Даниилович',1,'1970-11-21',12,'markus05@bradtke.com','+7 905 321 18 12'),
('Васильев','Илья','Даниилович',1,'1975-11-14',216,'camron.kub@hotmail.com','+7 964 743 54 52'),
('Воронкова','Виктория','Львовна',2,'1958-09-05',1,'kerluke.dolly@yahoo.com','+7 961 174 46 30'),
('Горелова','Вера','Андреевна',2,'1957-10-15',288,'keebler.johan@walter.com','+7 950 606 73 97'),
('Дорохова','Арина','Михайловна',2,'1971-01-06',4,'elenor10@little.org','+7 963 043 78 63'),
('Елисеева','Мария','Данииловна',2,'1981-09-01',144,'jonatan16@krajcik.info','+7 983 283 81 71'),
('Калашникова','София','Платоновна',2,'1977-02-17',60,'hparisian@donnelly.com',NULL),
('Колесов','Фёдор','Матвеевич',1,'1993-05-31',38,'idonnelly@boyer.com','+7 968 456 61 92'),
('Маркин','Иван','Сергеевич',1,'1970-12-08',15,'emily.nitzsche@gmail.com','+7 903 987 77 01'),
('Маркова','Дарья','Тимуровна',2,'1980-08-07',96,'renner.freddy@koch.biz','+7 969 286 97 27'),
('Наумов','Павел','Иванович',1,'1956-04-28',420,'ggraham@yahoo.com','+7 962 232 68 96'),
('Никифорова','Элина','Марковна',2,'1960-01-11',48,'curt40@crooks.biz','+7 969 491 94 92'),
('Одинцова','Софья','Глебовна',2,'2002-10-11',12,'beer.dortha@gmail.com','+7 964 068 40 22'),
('Петров','Фёдор','Павлович',1,'1969-03-10',111.6,'laverne70@wolff.org',NULL),
('Попова','Алиса','Ярославовна',2,'1979-11-07',102,'wisoky.zachery@botsford.com','+7 983 383 92 94'),
('Самсонова','Кира','Богдановна',2,'1973-05-08',24,'lweber@little.com','+7 900 861 56 78'),
('Седова','Алина','Дмитриевна',2,'1983-09-17',32,'alexys99@kautzer.net','+7 967 242 01 23'),
('Серов','Денис','Святославович',1,'1973-07-20',36,'legros.francis@gmail.com','+7 969 604 50 00'),
('Смирнов','Даниил','Максимович',1,'1996-11-27',6,'kpollich@gmail.com','+7 980 323 97 58'),
('Соловьев','Матвей','Денисович',1,'1958-01-04',156,'noelia.grimes@pacocha.net',NULL),
('Сорокина','Кира','Фёдоровна',2,'1986-07-29',6,'maud89@nader.com',NULL),
('Софронов','Глеб','Григорьевич',1,'1972-09-21',420,'antonina.feest@yahoo.com','+7 904 920 54 49'),
('Степанова','Алиса','Артёмовна',2,'1956-08-08',420,'camilla90@hotmail.com','+7 904 420 71 01'),
('Федоров','Алексей','Фёдорович',1,'1989-04-11',168,'qdonnelly@gmail.com','+7 983 601 14 32'),
('Фролов','Георгий','Львович',1,'1977-01-25',23,'okuneva.annabell@tromp.com','+7 960 539 08 47'),
('Царев','Ярослав','Львович',1,'1970-03-16',14.4,'guadalupe43@parisian.com','+7 965 463 78 97'),
('Шилова','Есения','Михайловна',2,'1993-12-05',16,'rickie80@wuckert.com','+7 908 691 61 60'),
('Яшина','Мария','Даниловна',2,'1992-05-29',132,'leslie.gerlach@hotmail.com',NULL)

create table lesson 
(
	id serial primary key,
	lesson text not null
)

insert into lesson (lesson) values 
('анатомия'),
('архитектура аппаратных средств'),
('астрономия'),
('БЖ'),
('введение в специальность'),
('география'),
('дискретная математика'),
('естествознание'),
('информатика'),
('культура речи'),
('литература'),
('математическое моделирование'),
('менеджмент в профессиональной деятельности'),
('обществознание'),
('право'),
('разработка программных модулей'),
('родной язык'),
('системное программирование'),
('стандартизация'),
('тестирование'),
('физика'),
('философия'),
('химия'),
('экология'),
('биология'),
('внедрение и поддержка компьютерных систем'),
('информационные технологии'),
('история'),
('компьютерная графика'),
('компьютерные сети'),
('математика'),
('ОБЖ'),
('основы проектирования баз данных'),
('психология'),
('русский язык'),
('теория вероятностей'),
('физическая культура'),
('численные методы'),
('экономика отрасли')

create table teacher_lessons
(
	id serial primary key,
	teacher int not null constraint fk_teacher_to_tl references teacher(id) on delete cascade,
	lesson int not null constraint fk_lesson_to_tl references lesson(id) on delete cascade
)

insert into teacher_lessons (teacher,lesson) values
(20,35),
(9,23),
(8,25),
(13,3),
(2,31),
(21,30),
(27,37),
(6,39),
(3,32),
(23,9),
(12,33),
(14,21),
(10,28),
(15,20),
(5,25),
(24,26),
(30,38),
(11,31),
(18,16),
(19,3),
(7,35),
(17,29),
(16,29),
(28,37),
(29,27),
(26,36),
(22,31),
(4,28),
(1,37),
(25,34),
(13,21),
(19,21),
(12,19),
(21,18),
(18,18),
(20,17),
(7,17),
(15,16),
(10,14),
(4,14),
(6,13),
(11,9),
(29,9),
(26,9),
(14,8),
(2,7),
(30,7),
(8,6),
(23,5),
(3,4),
(5,1),
(8,23),
(11,21),
(12,20),
(10,15),
(4,15),
(30,12),
(20,11),
(7,10),
(18,9),
(8,24),
(10,22),
(4,22),
(11,3),
(18,2)

create table course
(
	id serial primary key,
	course text not null,
	hour int not null
)

insert into course (course,hour) values
('Культура и искусство хх века: основные идеи и методические рекомендации',56),
('Общая педагогика',144),
('Охрана труда',36),
('Подготовка к школе. Нейропсихологический подход',72),
('Психологические основы учебной деятельности',144),
('Психология обучения, воспитания и развития',72),
('Разговоры о важном: организация и обеспечение внеурочной деятельности',180),
('Решение задач егэ по информатике на языке программирования python',72),
('Функциональная грамотность школьников',36),
('Методика преподавания основ машинного обучения',30),
('Основы работы в операционной системе м оc',36),
('Основы фотожурналистики',144),
('Применение технологий и методов обучения инвестированию',72)

create table teacher_course
(
	id serial primary key,
	teacher int not null constraint fk_teacher_to_tc references teacher(id) on delete cascade,
	course int not null constraint fk_course_to_tc references course(id) on delete cascade
)

insert into teacher_course (teacher,course) values
(21,11),
(6,13),
(12,10),
(14,12),
(10,1),
(15,10),
(24,11),
(11,8),
(17,12),
(26,8),
(4,1),
(5,2),
(30,5),
(1,9),
(9,6),
(27,7),
(16,4),
(22,3),
(20,6),
(21,8),
(15,8),
(24,8),
(1,7),
(5,6),
(9,5),
(20,3),
(6,1),
(14,1),
(9,7)
