Загрузка данных


-- 1. Студенты
CREATE TABLE Students (
    student_id INTEGER PRIMARY KEY,
    full_name TEXT NOT NULL,
    group_name TEXT,
    phone TEXT
);

-- 2. Преподаватели
CREATE TABLE Teachers (
    teacher_id INTEGER PRIMARY KEY,
    full_name TEXT NOT NULL,
    specialization TEXT
);

-- 3. Кружки и секции
CREATE TABLE Clubs (
    club_id INTEGER PRIMARY KEY,
    club_name TEXT NOT NULL,
    teacher_id INTEGER,
    FOREIGN KEY (teacher_id) REFERENCES Teachers(teacher_id)
);

-- 4. Запись студентов в секции
CREATE TABLE Enrollment (
    enrollment_id INTEGER PRIMARY KEY,
    student_id INTEGER,
    club_id INTEGER,
    enrollment_date DATE,
    FOREIGN KEY (student_id) REFERENCES Students(student_id),
    FOREIGN KEY (club_id) REFERENCES Clubs(club_id)
);

-- 5. Посещаемость
CREATE TABLE Attendance (
    attendance_id INTEGER PRIMARY KEY,
    enrollment_id INTEGER,
    lesson_date DATE,
    status TEXT,
    FOREIGN KEY (enrollment_id) REFERENCES Enrollment(enrollment_id)
);

-- СТУДЕНТЫ (20 записей)

INSERT INTO Students VALUES
(1,'Иванов Иван','ИС-21','111111'),
(2,'Петров Петр','ИС-21','111112'),
(3,'Сидоров Сергей','ИС-22','111113'),
(4,'Кузнецов Алексей','ИС-22','111114'),
(5,'Смирнов Дмитрий','ИС-23','111115'),
(6,'Попов Андрей','ИС-23','111116'),
(7,'Васильев Артем','ИС-24','111117'),
(8,'Соколов Никита','ИС-24','111118'),
(9,'Михайлов Егор','ИС-25','111119'),
(10,'Новиков Максим','ИС-25','111120'),
(11,'Федоров Илья','ИС-26','111121'),
(12,'Морозов Кирилл','ИС-26','111122'),
(13,'Волков Павел','ИС-27','111123'),
(14,'Алексеев Денис','ИС-27','111124'),
(15,'Лебедев Олег','ИС-28','111125'),
(16,'Громов Виктор','ИС-28','111126'),
(17,'Орлов Роман','ИС-29','111127'),
(18,'Ершов Павел','ИС-29','111128'),
(19,'Белов Никита','ИС-30','111129'),
(20,'Зайцев Артем','ИС-30','111130');

-- ПРЕПОДАВАТЕЛИ (6 записей)

INSERT INTO Teachers VALUES
(1,'Иванова Мария','Робототехника'),
(2,'Петров Сергей','Футбол'),
(3,'Соколова Анна','Шахматы'),
(4,'Кузнецов Алексей','Волейбол'),
(5,'Смирнова Елена','Программирование'),
(6,'Попов Дмитрий','Театр');

-- КРУЖКИ И СЕКЦИИ (8 записей)

INSERT INTO Clubs VALUES
(1,'Робототехника',1),
(2,'Футбол',2),
(3,'Шахматный клуб',3),
(4,'Волейбол',4),
(5,'Программирование',5),
(6,'Театральный кружок',6),
(7,'Баскетбол',2),
(8,'Веб-дизайн',5);

-- ЗАПИСЬ В СЕКЦИИ (25 записей)

INSERT INTO Enrollment VALUES
(1,1,1,'2025-01-10'),
(2,2,2,'2025-01-10'),
(3,3,3,'2025-01-11'),
(4,4,4,'2025-01-11'),
(5,5,5,'2025-01-12'),
(6,6,6,'2025-01-12'),
(7,7,7,'2025-01-13'),
(8,8,8,'2025-01-13'),
(9,9,1,'2025-01-14'),
(10,10,2,'2025-01-14'),
(11,11,3,'2025-01-15'),
(12,12,4,'2025-01-15'),
(13,13,5,'2025-01-16'),
(14,14,6,'2025-01-16'),
(15,15,7,'2025-01-17'),
(16,16,8,'2025-01-17'),
(17,17,1,'2025-01-18'),
(18,18,2,'2025-01-18'),
(19,19,3,'2025-01-19'),
(20,20,4,'2025-01-19'),
(21,1,5,'2025-01-20'),
(22,2,6,'2025-01-20'),
(23,3,7,'2025-01-21'),
(24,4,8,'2025-01-21'),
(25,5,1,'2025-01-22');

-- ПОСЕЩАЕМОСТЬ (30 записей)

INSERT INTO Attendance VALUES
(1,1,'2025-02-01','Присутствовал'),
(2,2,'2025-02-01','Присутствовал'),
(3,3,'2025-02-01','Отсутствовал'),
(4,4,'2025-02-01','Присутствовал'),
(5,5,'2025-02-01','Присутствовал'),
(6,6,'2025-02-02','Присутствовал'),
(7,7,'2025-02-02','Отсутствовал'),
(8,8,'2025-02-02','Присутствовал'),
(9,9,'2025-02-02','Присутствовал'),
(10,10,'2025-02-02','Присутствовал'),
(11,11,'2025-02-03','Присутствовал'),
(12,12,'2025-02-03','Присутствовал'),
(13,13,'2025-02-03','Отсутствовал'),
(14,14,'2025-02-03','Присутствовал'),
(15,15,'2025-02-03','Присутствовал'),
(16,16,'2025-02-04','Присутствовал'),
(17,17,'2025-02-04','Присутствовал'),
(18,18,'2025-02-04','Отсутствовал'),
(19,19,'2025-02-04','Присутствовал'),
(20,20,'2025-02-04','Присутствовал'),
(21,21,'2025-02-05','Присутствовал'),
(22,22,'2025-02-05','Отсутствовал'),
(23,23,'2025-02-05','Присутствовал'),
(24,24,'2025-02-05','Присутствовал'),
(25,25,'2025-02-05','Присутствовал'),
(26,1,'2025-02-06','Присутствовал'),
(27,2,'2025-02-06','Присутствовал'),
(28,3,'2025-02-06','Присутствовал'),
(29,4,'2025-02-06','Отсутствовал'),
(30,5,'2025-02-06','Присутствовал');