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


USE it_cube;

-- =========================================================
-- 1. РОДИТЕЛИ (parents) — 5 записей
-- =========================================================
INSERT INTO parents (last_name, first_name, middle_name, phone, email, snils, address) VALUES
('Иванов',   'Сергей',   'Петрович',   '+79001110011', 'ivanov.s@mail.ru',   '11111111101', 'г. Москва, ул. Тверская, д. 1, кв. 10'),
('Петрова',  'Анна',     'Сергеевна',  '+79001110012', 'petrova.a@mail.ru',  '11111111102', 'г. Москва, ул. Арбат, д. 5, кв. 22'),
('Кузнецов', 'Дмитрий',  'Алексеевич', '+79001110013', 'kuznetsov.d@mail.ru','11111111103', 'г. Москва, ул. Ленина, д. 15, кв. 7'),
('Смирнова', 'Елена',    'Игоревна',   '+79001110014', 'smirnova.e@mail.ru', '11111111104', 'г. Москва, пр. Мира, д. 20, кв. 3'),
('Фёдоров',  'Олег',     'Викторович', '+79001110015', 'fedorov.o@mail.ru',  '11111111105', 'г. Москва, ул. Садовая, д. 8, кв. 14');


-- =========================================================
-- 2. ДЕТИ (children) — 5 записей
-- =========================================================
INSERT INTO children (last_name, first_name, middle_name, birth_date, snils, parent_id, gender) VALUES
('Иванов',   'Артём',   'Сергеевич',   '2013-04-15', '22222222201', 1, 'М'),
('Петрова',  'София',   'Дмитриевна',  '2014-07-22', '22222222202', 2, 'Ж'),
('Кузнецов', 'Максим',  'Дмитриевич',  '2012-11-03', '22222222203', 3, 'М'),
('Смирнова', 'Полина',  'Андреевна',   '2015-02-18', '22222222204', 4, 'Ж'),
('Фёдоров',  'Никита',  'Олегович',    '2013-09-30', '22222222205', 5, 'М');


-- =========================================================
-- 3. ПРОГРАММЫ (programs) — 5 записей
-- =========================================================
INSERT INTO programs (name, description, min_age, max_age, duration_hours, is_active) VALUES
('Python-разработка',   'Основы программирования на Python для школьников', 10, 17, 144, 1),
('Робототехника',       'Сборка и программирование роботов на Arduino',     11, 16, 120, 1),
('Веб-разработка',      'HTML, CSS, JavaScript и создание сайтов',          12, 17, 160, 1),
('3D-моделирование',    'Blender и основы трёхмерной графики',              13, 17, 100, 1),
('Кибербезопасность',   'Основы информационной безопасности',               14, 17,  80, 1);


-- =========================================================
-- 4. ПРЕПОДАВАТЕЛИ (teachers) — 5 записей
-- =========================================================
INSERT INTO teachers (last_name, first_name, middle_name, specialization, phone, email, hire_date) VALUES
('Соколов',  'Андрей',   'Викторович', 'Программирование Python', '+79002220011', 'sokolov@itcube.ru',  '2023-09-01'),
('Морозова', 'Ирина',    'Павловна',   'Робототехника',           '+79002220012', 'morozova@itcube.ru', '2023-09-01'),
('Волков',   'Николай',  'Сергеевич',  'Веб-разработка',          '+79002220013', 'volkov@itcube.ru',   '2023-10-15'),
('Зайцева',  'Татьяна',  'Олеговна',   '3D-моделирование',        '+79002220014', 'zaitseva@itcube.ru', '2024-01-10'),
('Лебедев',  'Максим',   'Игоревич',   'Кибербезопасность',       '+79002220015', 'lebedev@itcube.ru',  '2024-02-20');


-- =========================================================
-- 5. ГРУППЫ (groups) — 5 записей
-- =========================================================
INSERT INTO groups (program_id, teacher_id, room, academic_year, max_seats, free_seats, notes) VALUES
(1, 1, 'А-101', '2025-2026', 12, 10, 'Группа для начинающих'),
(2, 2, 'Б-202', '2025-2026', 10,  8, 'Робототехника, 1-й год'),
(3, 3, 'А-103', '2025-2026', 15, 13, 'Веб-разработка, базовый уровень'),
(4, 4, 'В-301', '2025-2026', 10,  9, '3D-моделирование'),
(5, 5, 'А-105', '2025-2026',  8,  7, 'Кибербезопасность, продвинутая группа');


-- =========================================================
-- 6. ЗАЯВКИ (applications) — 5 записей
-- =========================================================
INSERT INTO applications (child_id, group_id, status, comment) VALUES
(1, 1, 'новая',           'Заявка подана через сайт'),
(2, 2, 'на рассмотрении', 'Ожидает проверки документов'),
(3, 3, 'одобрена',        'Документы в порядке'),
(4, 4, 'зачислен',        'Зачислен в группу 3D-моделирования'),
(5, 5, 'отклонена',       'Не подходит по возрасту');


-- =========================================================
-- 7. ИСТОРИЯ ЗАЯВОК (application_history) — 5 записей
-- =========================================================
INSERT INTO application_history (application_id, old_status, new_status, changed_at) VALUES
(1, NULL,                 'новая',            NOW() - INTERVAL 5 DAY),
(2, 'новая',              'на рассмотрении',  NOW() - INTERVAL 4 DAY),
(3, 'новая',              'на рассмотрении',  NOW() - INTERVAL 3 DAY),
(3, 'на рассмотрении',    'одобрена',         NOW() - INTERVAL 2 DAY),
(4, 'одобрена',           'зачислен',         NOW() - INTERVAL 1 DAY);


-- =========================================================
-- 8. РАСПИСАНИЕ (schedule) — 5 записей
-- =========================================================
INSERT INTO schedule (group_id, weekday, start_time, end_time) VALUES
(1, 'Пн', '15:00:00', '16:30:00'),
(1, 'Ср', '15:00:00', '16:30:00'),
(2, 'Вт', '16:45:00', '18:15:00'),
(3, 'Чт', '17:00:00', '18:30:00'),
(4, 'Пт', '16:00:00', '17:30:00');


-- =========================================================
-- ПРОВЕРКА
-- =========================================================
SELECT 'parents'             AS table_name, COUNT(*) AS rows_count FROM parents
UNION ALL SELECT 'children',            COUNT(*) FROM children
UNION ALL SELECT 'programs',            COUNT(*) FROM programs
UNION ALL SELECT 'teachers',            COUNT(*) FROM teachers
UNION ALL SELECT 'groups',              COUNT(*) FROM groups
UNION ALL SELECT 'applications',        COUNT(*) FROM applications
UNION ALL SELECT 'application_history', COUNT(*) FROM application_history
UNION ALL SELECT 'schedule',            COUNT(*) FROM schedule;