INSERT INTO Roles (name) VALUES ('преподаватель'), ('студент');

INSERT INTO Users (first_name, last_name, middle_name, mail, phone_number, date_birth, Id_role) VALUES
    ('Александр', 'Иванов', 'Петрович', 'alex.ivanov@example.com', '+12345678901', '1990-03-15', 1),
    ('Елена', 'Смирнова', 'Андреевна', 'elena.smirnova@example.com', '+12345678902', '1995-08-22', 2),
    ('Иван', 'Петров', 'Александрович', 'ivan.petrov@example.com', '+12345678903', '1993-05-11', 2),
    ('Мария', 'Козлова', 'Дмитриевна', 'maria.kozlova@example.com', '+12345678904', '1998-11-30', 2),
    ('Сергей', 'Соколов', 'Иванович', 'sergey.sokolov@example.com', '+12345678905', '1994-02-25', 1),
    ('Анна', 'Михайлова', 'Сергеевна', 'anna.mikhailova@example.com', '+12345678906', '1996-07-14', 2),
    ('Павел', 'Новиков', 'Артемович', 'pavel.novikov@example.com', '+12345678907', '1991-09-03', 2),
    ('Юлия', 'Федорова', 'Алексеевна', 'yulia.fedorova@example.com', '+12345678908', '1997-04-20', 2),
    ('Артем', 'Морозов', 'Павлович', 'artem.morozov@example.com', '+12345678909', '1992-12-09', 1),
    ('Екатерина', 'Волкова', 'Игоревна', 'ekaterina.volkova@example.com', '+12345678910', '1999-01-18', 2),
    ('Денис', 'Павлов', 'Федорович', 'denis.pavlov@example.com', '+12345678911', '1990-06-27', 2),
    ('Ольга', 'Семенова', 'Денисовна', 'olga.semenova@example.com', '+12345678912', '1995-10-16', 2),
    ('Игорь', 'Гончаров', 'Дмитриевич', 'igor.goncharov@example.com', '+12345678913', '1993-03-05', 1),
    ('Евгения', 'Николаева', 'Олеговна', 'evgenia.nikolaeva@example.com', '+12345678914', '1998-08-24', 2),
    ('Алексей', 'Кузнецов', 'Владимирович', 'alexey.kuznetsov@example.com', '+12345678915', '1994-01-13', 2),
    ('Анастасия', 'Ильина', 'Юрьевна', 'anastasia.ilina@example.com', '+12345678916', '1991-07-02', 2),
    ('Григорий', 'Савельев', 'Антонович', 'grigory.savelyev@example.com', '+12345678917', '1996-11-21', 2),
    ('Татьяна', 'Беляева', 'Игнатьевна', 'tatyana.belyaeva@example.com', '+12345678918', '1992-04-10', 1),
    ('Дмитрий', 'Тимофеев', 'Аркадьевич', 'dmitry.timofeev@example.com', '+12345678919', '1997-09-29', 2),
    ('Елена', 'Калинина', 'Георгиевна', 'elena.kalinina@example.com', '+12345678920', '1999-02-08', 2);

INSERT INTO Departments (name) VALUES
    ('Отделение инженерии и технологии'),
    ('Факультет информационных технологий'),
    ('Кафедра гуманитарных наук');
   
INSERT INTO Specialties (name, Id_department) VALUES
    ('Инженерия программного обеспечения', 1),
    ('Автоматизация технологических процессов', 1),
    ('Системный анализ и управление', 1),
    ('Веб-разработка и программирование', 2),
    ('Базы данных и информационные системы', 2),
    ('Компьютерная безопасность', 2),
    ('Лингвистика', 3),
    ('Психология', 3),
    ('История искусств', 3),
    ('Социология', 3);
   
INSERT INTO "Groups" (Id_specialty, start_date, name) VALUES
    (1, '2023-09-01', '11ИПО'),
    (1, '2022-09-01', '21ИПО'),
    (1, '2021-09-01', '31ИПО'),
    (1, '2020-09-01', '41ИПО'),
    (2, '2023-09-01', '11АТП'),
    (2, '2022-09-01', '21АТП'),
    (2, '2021-09-01', '31АТП'),
    (2, '2020-09-01', '41АТП'),
    (3, '2023-09-01', '11САУ'),
    (3, '2022-09-01', '21САУ'),
    (3, '2021-09-01', '31САУ'),
    (3, '2020-09-01', '41САУ'),
    (4, '2023-09-01', '11ВПР'),
    (4, '2022-09-01', '21ВПР'),
    (4, '2021-09-01', '31ВПР'),
    (4, '2020-09-01', '41ВПР'),
    (5, '2023-09-01', '11ВРП'),
    (5, '2022-09-01', '21ВРП'),
    (5, '2021-09-01', '31ВРП'),
    (5, '2020-09-01', '41ВРП'),
    (6, '2023-09-01', '11КБ'),
    (6, '2022-09-01', '21КБ'),
    (6, '2021-09-01', '31КБ'),
    (6, '2020-09-01', '41КБ'),
    (7, '2023-09-01', '11БД'),
    (7, '2022-09-01', '21БД'),
    (7, '2021-09-01', '31БД'),
    (7, '2020-09-01', '41БД'),
    (8, '2023-09-01', '11КО'),
    (8, '2022-09-01', '21КО'),
    (8, '2021-09-01', '31КО'),
    (8, '2020-09-01', '41КО'),
    (9, '2023-09-01', '11ЛИН'),
    (9, '2022-09-01', '21ЛИН'),
    (9, '2021-09-01', '31ЛИН'),
    (9, '2020-09-01', '41ЛИН'),
    (10, '2023-09-01', '11ПСИ'),
    (10, '2022-09-01', '21ПСИ'),
    (10, '2021-09-01', '31ПСИ'),
    (10, '2020-09-01', '41ПСИ');
   
   
select id from Users where id_role = 1   

INSERT INTO Students (user_id, group_id) values
(2,1),
(3,1),
(4,1),
(6,1),
(7,1),
(8,3),
(10,3),
(11,3),
(12,3),
(14,3),
(15,7),
(16,7),
(17,7),
(19,7),
(20,7);

insert into Teachers values
(1,1),
(5,1),
(9,2),
(13,2),
(18,3);

INSERT INTO Disciplines (name, department_id, academic_hours)
VALUES 
    ('Программирование на Python', 1, 90),
    ('Математический анализ', 1, 120),
    ('Алгоритмы и структуры данных', 1, 100),
    ('Промышленная автоматизация', 1, 80),
    ('Веб-дизайн', 2, 80),
    ('Базы данных и SQL', 2, 100),
    ('Компьютерная безопасность', 2, 120),
    ('Системное программирование', 2, 90),
    ('История искусств', 3, 60),
    ('Социология', 3, 80),
    ('Психология', 3, 100),
    ('Философия', 3, 70);

-- Заполнение таблицы TeachersDisciplines
-- Преподаватель 1 (Александр Иванов)
INSERT INTO TeachersDisciplines (teacher_id, discipline_id)
VALUES 
    (1, 1), -- Программирование на Python
    (1, 2), -- Математический анализ
    (1, 3), -- Алгоритмы и структуры данных
    (1, 4); -- Промышленная автоматизация

-- Преподаватель 5 (Сергей Соколов)
INSERT INTO TeachersDisciplines (teacher_id, discipline_id)
VALUES 
    (5, 1), -- Программирование на Python
    (5, 3), -- Алгоритмы и структуры данных
    (5, 4), -- Промышленная автоматизация
    (5, 8); -- Системное программирование

-- Преподаватель 9 (Артем Морозов)
INSERT INTO TeachersDisciplines (teacher_id, discipline_id)
VALUES 
    (9, 5), -- Веб-дизайн
    (9, 6), -- Базы данных и SQL
    (9, 7), -- Компьютерная безопасность
    (9, 8); -- Системное программирование

-- Преподаватель 13 (Игорь Гончаров)
INSERT INTO TeachersDisciplines (teacher_id, discipline_id)
VALUES 
    (13, 5), -- Веб-дизайн
    (13, 6), -- Базы данных и SQL
    (13, 7), -- Компьютерная безопасность
    (13, 8); -- Системное программирование

-- Преподаватель 18 (Татьяна Беляева)
INSERT INTO TeachersDisciplines (teacher_id, discipline_id)
VALUES 
    (18, 9), -- История искусств
    (18, 10), -- Социология
    (18, 11), -- Психология
    (18, 12); -- Философия

    
-- Для преподавателя с ID 1 (Александр Иванов)
-- Группа 11ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 1), -- Программирование на Python
    (1, 2, 1), -- Математический анализ
    (1, 3, 1), -- Алгоритмы и структуры данных
    (1, 4, 1); -- Промышленная автоматизация

-- Группа 21ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 2), -- Программирование на Python
    (1, 2, 2), -- Математический анализ
    (1, 3, 2), -- Алгоритмы и структуры данных
    (1, 4, 2); -- Промышленная автоматизация

-- Группа 31ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 3), -- Программирование на Python
    (1, 2, 3), -- Математический анализ
    (1, 3, 3), -- Алгоритмы и структуры данных
    (1, 4, 3); -- Промышленная автоматизация

-- Группа 41ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 4), -- Программирование на Python
    (1, 2, 4), -- Математический анализ
    (1, 3, 4), -- Алгоритмы и структуры данных
    (1, 4, 4); -- Промышленная автоматизация


    
    
    
    -- Для преподавателя с ID 1 (Александр Иванов)
-- Группа 31ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 3), -- Программирование на Python
    (1, 2, 3), -- Математический анализ
    (1, 3, 3), -- Алгоритмы и структуры данных
    (1, 4, 3); -- Промышленная автоматизация

-- Группа 41ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 4), -- Программирование на Python
    (1, 2, 4), -- Математический анализ
    (1, 3, 4), -- Алгоритмы и структуры данных
    (1, 4, 4); -- Промышленная автоматизация

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 5 (Сергей Соколов)
-- Группа 31ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 5, 3), -- Программирование на Python
    (1, 3, 3), -- Алгоритмы и структуры данных
    (1, 4, 3), -- Промышленная автоматизация
    (1, 8, 3); -- Системное программирование

-- Группа 41ИПО
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 5, 4), -- Программирование на Python
    (1, 3, 4), -- Алгоритмы и структуры данных
    (1, 4, 4), -- Промышленная автоматизация
    (1, 8, 4); -- Системное программирование

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 9 (Артем Морозов)
-- Группа 11АТП
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 9, 5), -- Веб-дизайн
    (1, 10, 5), -- Базы данных и SQL
    (1, 11, 5), -- Компьютерная безопасность
    (1, 8, 5); -- Системное программирование

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 13 (Игорь Гончаров)
-- Группа 11АТП
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 9, 5), -- Веб-дизайн
    (1, 10, 5), -- Базы данных и SQL
    (1, 11, 5), -- Компьютерная безопасность
    (1, 8, 5); -- Системное программирование

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 18 (Татьяна Беляева)
-- Группа 11САУ
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 12, 9), -- Философия
    (1, 10, 9), -- Социология
    (1, 11, 9), -- Психология
    (1, 9, 9); -- История искусств
     
 -- Для преподавателя с ID 1 (Александр Иванов)
-- Группа 41САУ
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 12), -- Программирование на Python
    (1, 2, 12), -- Математический анализ
    (1, 3, 12), -- Алгоритмы и структуры данных
    (1, 5, 12); -- Философия

-- Группа 11ВПР
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 1, 13), -- Программирование на Python
    (1, 2, 13), -- Математический анализ
    (1, 3, 13), -- Алгоритмы и структуры данных
    (1, 5, 13); -- Философия

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 5 (Сергей Соколов)
-- Группа 41САУ
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 5, 12), -- Философия
    (1, 3, 12), -- Алгоритмы и структуры данных
    (1, 4, 12), -- Промышленная автоматизация
    (1, 6, 12); -- Компьютерная безопасность

-- Группа 11ВПР
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 5, 13), -- Философия
    (1, 3, 13), -- Алгоритмы и структуры данных
    (1, 4, 13), -- Промышленная автоматизация
    (1, 6, 13); -- Компьютерная безопасность

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 9 (Артем Морозов)
-- Группа 11БД
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 10, 14), -- Базы данных и SQL
    (1, 11, 14), -- Компьютерная безопасность
    (1, 12, 14), -- Философия
    (1, 13, 14); -- История искусств

-- Группа 21БД
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 10, 15), -- Базы данных и SQL
    (1, 11, 15), -- Компьютерная безопасность
    (1, 12, 15), -- Философия
    (1, 13, 15); -- История искусств

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 13 (Игорь Гончаров)
-- Группа 11БД
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 10, 14), -- Базы данных и SQL
    (1, 11, 14), -- Компьютерная безопасность
    (1, 12, 14), -- Философия
    (1, 13, 14); -- История искусств

-- Продолжаем аналогично для остальных групп.

-- Для преподавателя с ID 18 (Татьяна Беляева)
-- Группа 11ЛИН
INSERT INTO GroupDiscipline (semester, teacher_discipline_id, group_id)
VALUES 
    (1, 9, 19), -- Веб-дизайн
    (1, 10, 19), -- Базы данных и SQL
    (1, 11, 19), -- Компьютерная безопасность
    (1, 12, 19); -- Философия

INSERT INTO Buildings (Mgr, address) VALUES 
(1, 'ул. Пушкина, д. 10'),
(5, 'пр. Ленина, д. 25');
    
ALTER TABLE Timetables
RENAME COLUMN buildind_id TO building_id;
-- Для преподавателя с ID 1 (Александр Иванов)
-- Понедельник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-02', 1, 1, 1), -- 9:00-10:30 Программирование на Python
    ('2024-09-02', 2, 1, 1), -- 10:45-12:15 Математический анализ
    ('2024-09-02', 3, 1, 1), -- 12:30-14:00 Алгоритмы и структуры данных
    ('2024-09-02', 4, 1, 1); -- 14:30-16:00 Промышленная автоматизация

-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 1, 1), -- 9:00-10:30 Программирование на Python
    ('2024-09-03', 2, 1, 1), -- 10:45-12:15 Математический анализ
    ('2024-09-03', 3, 1, 1), -- 12:30-14:00 Алгоритмы и структуры данных
    ('2024-09-03', 4, 1, 1); -- 14:30-16:00 Промышленная автоматизация

-- Продолжаем аналогично для остальных дней и преподавателей.
-- Для преподавателя с ID 5 (Сергей Соколов)
-- Понедельник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-02', 1, 2, 1), -- 9:00-10:30 Программирование на Python
    ('2024-09-02', 2, 2, 1), -- 10:45-12:15 Алгоритмы и структуры данных
    ('2024-09-02', 3, 2, 1), -- 12:30-14:00 Промышленная автоматизация
    ('2024-09-02', 4, 2, 1); -- 14:30-16:00 Системное программирование

-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 2, 1), -- 9:00-10:30 Программирование на Python
    ('2024-09-03', 2, 2, 1), -- 10:45-12:15 Алгоритмы и структуры данных
    ('2024-09-03', 3, 2, 1), -- 12:30-14:00 Промышленная автоматизация
    ('2024-09-03', 4, 2, 1); -- 14:30-16:00 Системное программирование

-- Продолжаем аналогично для остальных дней и преподавателей.
-- Для преподавателя с ID 9 (Артем Морозов)
-- Понедельник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-02', 1, 3, 1), -- 9:00-10:30 Веб-дизайн
    ('2024-09-02', 2, 3, 1), -- 10:45-12:15 Базы данных и SQL
    ('2024-09-02', 3, 3, 1), -- 12:30-14:00 Компьютерная безопасность
    ('2024-09-02', 4, 3, 1); -- 14:30-16:00 Системное программирование

-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 3, 1), -- 9:00-10:30 Веб-дизайн
    ('2024-09-03', 2, 3, 1), -- 10:45-12:15 Базы данных и SQL
    ('2024-09-03', 3, 3, 1), -- 12:30-14:00 Компьютерная безопасность
    ('2024-09-03', 4, 3, 1); -- 14:30-16:00 Системное программирование
-- Для преподавателя с ID 13 (Игорь Гончаров)
-- Понедельник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-02', 1, 4, 1), -- 9:00-10:30 Программирование на Java
    ('2024-09-02', 2, 4, 1), -- 10:45-12:15 Веб-дизайн
    ('2024-09-02', 3, 4, 1), -- 12:30-14:00 Базы данных и SQL
    ('2024-09-02', 4, 4, 1); -- 14:30-16:00 Компьютерная безопасность

-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 4, 1), -- 9:00-10:30 Программирование на Java
    ('2024-09-03', 2, 4, 1), -- 10:45-12:15 Веб-дизайн
    ('2024-09-03', 3, 4, 1), -- 12:30-14:00 Базы данных и SQL
    ('2024-09-03', 4, 4, 1); -- 14:30-16:00 Компьютерная безопасность

-- Продолжаем аналогично для остальных дней и преподавателей.
-- Для преподавателя с ID 18 (Татьяна Беляева)
-- Понедельник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-02', 1, 5, 1), -- 9:00-10:30 История искусств
    ('2024-09-02', 2, 5, 1), -- 10:45-12:15 Лингвистика
    ('2024-09-02', 3, 5, 1), -- 12:30-14:00 Психология
    ('2024-09-02', 4, 5, 1); -- 14:30-16:00 Социология

-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 5, 1), -- 9:00-10:30 История искусств
    ('2024-09-03', 2, 5, 1), -- 10:45-12:15 Лингвистика
    ('2024-09-03', 3, 5, 1), -- 12:30-14:00 Психология
    ('2024-09-03', 4, 5, 1); -- 14:30-16:00 Социология

-- Продолжаем аналогично для остальных дней и преподавателей.
-- Для преподавателя с ID 1 (Александр Иванов)
-- Понедельник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-02', 1, 1, 2), -- 9:00-10:30 Программирование на Python
    ('2024-09-02', 2, 1, 2), -- 10:45-12:15 Математический анализ
    ('2024-09-02', 3, 1, 2), -- 12:30-14:00 Алгоритмы и структуры данных
    ('2024-09-02', 4, 1, 2); -- 14:30-16:00 Промышленная автоматизация

-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 1, 2), -- 9:00-10:30 Программирование на Python
    ('2024-09-03', 2, 1, 2), -- 10:45-12:15 Математический анализ
    ('2024-09-03', 3, 1, 2), -- 12:30-14:00 Алгоритмы и структуры данных
    ('2024-09-03', 4, 1, 2); -- 14:30-16:00 Промышленная автоматизация

-- Продолжаем аналогично для остальных дней и преподавателей.

 -- Для преподавателя с ID 5 (Сергей Соколов)
-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 2, 2), -- 9:00-10:30 Программирование на Python
    ('2024-09-03', 2, 2, 2), -- 10:45-12:15 Алгоритмы и структуры данных
    ('2024-09-03', 3, 2, 2), -- 12:30-14:00 Промышленная автоматизация
    ('2024-09-03', 4, 2, 2); -- 14:30-16:00 Системное программирование

-- Продолжаем аналогично для остальных дней и преподавателей.
-- Для преподавателя с ID 9 (Артем Морозов)
-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 3, 2), -- 9:00-10:30 Веб-дизайн
    ('2024-09-03', 2, 3, 2), -- 10:45-12:15 Базы данных и SQL
    ('2024-09-03', 3, 3, 2), -- 12:30-14:00 Компьютерная безопасность
    ('2024-09-03', 4, 3, 2); -- 14:30-16:00 Системное программирование

    -- Для преподавателя с ID 13 (Игорь Гончаров)
-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 4, 2), -- 9:00-10:30 Программирование на Java
    ('2024-09-03', 2, 4, 2), -- 10:45-12:15 Веб-дизайн
    ('2024-09-03', 3, 4, 2), -- 12:30-14:00 Базы данных и SQL
    ('2024-09-03', 4, 4, 2); -- 14:30-16:00 Компьютерная безопасность

-- Для преподавателя с ID 18 (Татьяна Беляева)
-- Вторник
INSERT INTO Timetables (class_date, class_number, group_discipline_id, building_id)
VALUES 
    ('2024-09-03', 1, 5, 2), -- 9:00-10:30 История искусств
    ('2024-09-03', 2, 5, 2), -- 10:45-12:15 Лингвистика
    ('2024-09-03', 3, 5, 2), -- 12:30-14:00 Психология
    ('2024-09-03', 4, 5, 2); -- 14:30-16:00 Социология

INSERT INTO StudentGrades (student_id, group_discipline_id, graded_at, grade, work_name)
SELECT 
    s.user_id,
    gd.id,
    now() - interval '1' month * (random() * 12 + 1), -- Случайная дата за последние 12 месяцев
    floor(random() * 4) + 2, -- Случайная оценка от 2 до 5
    CASE floor(random() * 4)
        WHEN 0 THEN 'Контрольная работа'
        WHEN 1 THEN 'Экзамен'
        WHEN 2 THEN 'Лабораторная работа'
        ELSE 'Курсовая работа'
    END
FROM 
    Students s
JOIN 
    "Groups" g ON s.group_id = g.id
JOIN 
    GroupDiscipline gd ON g.id = gd.group_id;
 
-- Заполняем таблицу Attendance для всех студентов и их дисциплин, учитывая группу студента
INSERT INTO Attendance (timetable_id, student_id, attended)
SELECT 
    tt.id,
    s.user_id,
    CASE floor(random() * 2)
        WHEN 0 THEN true -- Случайно выбираем, посетил ли студент занятие
        ELSE false
    END
FROM 
    Timetables tt
JOIN 
    GroupDiscipline gd ON tt.group_discipline_id = gd.id
JOIN 
    Students s ON gd.group_id = s.group_id;